मूल सिद्धांत
Solo2 दो लोगों के बीच एक प्राइवेट टनल बनाता है। सीधा। बिना किसी बिचौलिए के।
हमारा सर्वर बस एक काम करता है: टनल के दोनों सिरों को एक-दूसरे से मिलवाता है ताकि वे जुड़ सकें। इसके लिए उसे न्यूनतम चीज़ चाहिए — दोनों पीयर्स के आइडेंटिफ़ायर — जिन्हें वह RAM मेमोरी में सिर्फ़ उन मिलीसेकंड्स के लिए रखता है जब तक परिचय होता है। जिस पल दोनों डिवाइस एक-दूसरे को ढूंढ लेते हैं, वह डेटा मेमोरी से मिट जाता है। कभी भी, किसी भी समय, डिस्क पर नहीं लिखा जाता।
एक बार कनेक्ट होने के बाद, सर्वर गायब हो जाता है। यह बातचीत में हिस्सा नहीं लेता। इसे देखता नहीं। इसे स्टोर नहीं करता। इसे पता नहीं कि बातचीत कितनी देर चलती है, कितनी बार होती है, या किस बारे में होती है।
हम आपसे हम पर भरोसा करने को नहीं कह रहे। हम कह रहे हैं कि खुद जाँच कर लीजिए:
टेस्ट 1 — सर्वर ज़रूरी नहीं है।
एक बार डायरेक्ट टनल बन जाने के बाद, हमारा सर्वर अब शामिल नहीं रहता। अगर उस पल यह गिर भी जाए, तो आपकी बातचीत बिना रुके जारी रहेगी। जब तक आपके डिवाइस चालू हैं और इंटरनेट से जुड़े हैं, टनल आपकी है। हम अब वहाँ नहीं हैं।
टेस्ट 2 — 10 गीगाबाइट की फ़ाइल भेजिए।
यह सिर्फ़ तेज़ ही नहीं होगा — हमारे सर्वर को कोई फ़र्क नहीं पड़ता। 24 घंटे लगातार 10 गीगाबाइट या उससे बड़ी फ़ाइलें भेजकर देखिए। हमारा सर्वर नोटिस भी नहीं करेगा, क्योंकि वह शामिल ही नहीं है। यह किसी भी दूसरी मैसेजिंग सर्विस के साथ करके देखिए।
टेस्ट 3 — टेलीस्कोप के बारे में बात करिए।
एक दोपहर किसी से टेलीस्कोप, या मछली पकड़ने की छड़ियों, या ऐसी किसी भी चीज़ के बारे में बात करिए जो आपने कभी इंटरनेट पर नहीं खोजी। कुछ दिन इंतज़ार करिए। टेलीस्कोप के विज्ञापन कहीं नहीं दिखेंगे। आपके शब्द आपकी टनल से बाहर नहीं गए।
आपका डेटा, आपकी ज़िम्मेदारी।
यह हमारी सबसे बड़ी खूबी है और, ईमानदारी से कहें तो, जिस चीज़ की आदत डालने में आपको सबसे ज़्यादा वक्त लगेगा। आपके मैसेज, फ़ाइलें और कॉन्टैक्ट्स आपके डिवाइस के अंदर एक एन्क्रिप्टेड वॉल्ट में रहते हैं। किसी भी सर्वर पर कोई कॉपी नहीं है। ये 24 शब्दों से सुरक्षित हैं — Bitcoin जैसी ही सुरक्षा का स्तर। लेकिन ये सिर्फ़ एक जगह हैं, जब तक कि आप Solo2 को दूसरे डिवाइस पर इंस्टॉल न करें — दोनों वॉल्ट एक साथ कनेक्ट होने पर अपने आप सिंक हो जाएंगे। आप एन्क्रिप्टेड बैकअप भी एक्सपोर्ट कर सकते हैं — या मानक फ़ॉर्मेट में पठनीय प्रति ताकि आप अपना डेटा जहाँ चाहें वहाँ ले जा सकें। यहाँ कोई क्लाउड नहीं है जो आपको बचाए अगर आप अपना एकमात्र डिवाइस खो दें। आपका डेटा आपका है, सारे परिणामों के साथ।
विस्तार से
Solo2 का सर्वर पूरी तरह से अंधा है। यह नहीं जानता कि आप किससे बात कर रहे हैं, क्या कह रहे हैं, या कौन सी फ़ाइलें साझा कर रहे हैं। यहां तक कि उपकरणों के बीच कनेक्शन स्थापित करने वाले तकनीकी संकेत भी सर्वर द्वारा पढ़े नहीं जा सकते — वे एंड-टू-एंड एन्क्रिप्टेड होकर यात्रा करते हैं।
आपके संदेश सीधे डिवाइस के बीच यात्रा करते हैं, एंड-टू-एंड एन्क्रिप्टेड। आपका इतिहास आपके ब्राउज़र में एन्क्रिप्टेड रहता है, कभी हमारे सर्वर पर नहीं।
एन्क्रिप्शन कुंजियाँ प्रत्येक संदेश के साथ स्वचालित रूप से घूमती हैं। प्रत्येक संदेश एक अद्वितीय कुंजी से एन्क्रिप्ट होता है जो तुरंत बाद त्याग दी जाती है। तकनीकी रूप से इसे Double Ratchet कहा जाता है, और इसका मतलब है कि भले ही किसी को एक कुंजी मिल जाए, वह केवल एक संदेश पढ़ सकता है — पूरी बातचीत नहीं। इसके अलावा, प्रत्येक संचार दौर के बाद सुरक्षा स्वचालित रूप से बहाल हो जाती है: एक समझौता की गई कुंजी अगला संदेश आदान-प्रदान होते ही बेकार हो जाती है।
जब डिवाइस के बीच सीधा कनेक्शन संभव नहीं होता (उदाहरण के लिए, नेटवर्क प्रतिबंधों के कारण), एक मिरर सर्वर (तकनीकी रूप से TURN कहा जाता है) का उपयोग किया जाता है: डेटा एक डिवाइस से दूसरे में परावर्तित होता है, लेकिन दर्पण को पता नहीं होता कि वह क्या परावर्तित कर रहा है — सब कुछ एंड-टू-एंड एन्क्रिप्टेड यात्रा करता है और सर्वर इसे पढ़ नहीं सकता। इसके अलावा, सभी पैकेट एक समान आकार में भरे जाते हैं ताकि कोई पर्यवेक्षक ट्रैफ़िक के आकार या आवृत्ति का विश्लेषण करके जानकारी प्राप्त न कर सके।
आप हमेशा ऐप में देख सकते हैं कि आप किस प्रकार के कनेक्शन का उपयोग कर रहे हैं — प्रत्यक्ष या मिरर सर्वर के माध्यम से — और उसके अनुसार कार्य करें।
आपकी मास्टर कुंजी 256 बिट्स की वास्तविक एन्ट्रॉपी से यादृच्छिक रूप से उत्पन्न होती है — Bitcoin के समान स्तर। अपना खाता बनाते समय, Solo2 एक अद्वितीय कुंजी उत्पन्न करता है जो 24 शब्दों के रूप में प्रस्तुत होती है। आपका पासवर्ड सेवा तक पहुँच की सुरक्षा करता है। आपके 24 शब्द आपके डेटा की चाबी हैं। ये दो अलग-अलग दरवाज़ों के लिए दो अलग-अलग चाबियाँ हैं।
भले ही हमारा सर्वर गायब हो जाए, आपका डेटा सुरक्षित रहता है। अपने 24 शब्दों से आप बिना सर्वर कनेक्शन के अपनी स्थानीय वॉल्ट तक पहुँच सकते हैं। आपका डेटा आपका है — सच में।
1. वह डेटा जो हमारे पास सर्वर पर है
1.1 आपका उपयोगकर्ता खाता
ये आपके रिकॉर्ड में मौजूद सभी फ़ील्ड हैं। इनके अलावा कोई और नहीं है।
| डेटा | क्यों | सुरक्षा | अवधि |
|---|---|---|---|
| उपयोगकर्ता नाम | ताकि आप लॉगिन कर सकें | सादा पाठ (डिज़ाइन से सार्वजनिक है) | जब तक आप अपना खाता न हटाएँ |
| पासवर्ड | प्रमाणीकरण | Argon2id से सुरक्षित (OWASP द्वारा अनुशंसित, विशेष हार्डवेयर हमलों के प्रति प्रतिरोधी)। हम कभी आपका वास्तविक पासवर्ड संग्रहीत नहीं करते | जब तक आप अपना खाता न हटाएँ |
| आवरित मास्टर कुंजी | ताकि आप हर बार 24 शब्द टाइप किए बिना, अपने पासवर्ड से लॉगिन करके अपनी वॉल्ट खोल सकें। यदि आप अपने शब्द खो देते हैं, तो यह आवरण ही आपकी पुनर्प्राप्ति है | आपके पासवर्ड से व्युत्पन्न एक कुंजी से एन्क्रिप्ट किया गया अपारदर्शी ब्लॉब (80 बाइट्स) — सर्वर इसे खोल नहीं सकता | जब तक आप अपना खाता न हटाएँ |
| पुनर्प्राप्ति फ़िंगरप्रिंट | जब आप अपने खाते तक पहुँच पुनर्प्राप्त करते हैं तो यह सत्यापित करने के लिए कि आपके 24 शब्द सही हैं — और सर्वर उन्हें कभी नहीं देखता | अपरिवर्तनीय फ़िंगरप्रिंट (SHA-256, 64 वर्ण)। आपके शब्दों या आपकी कुंजी के बारे में कुछ भी प्रकट नहीं करता | जब तक आप अपना खाता न हटाएँ |
| सार्वजनिक नाम | ताकि आपके संपर्क आपको पहचान सकें | सादा पाठ (आप चुनते हैं) | जब तक आप बदलें या अपना खाता न हटाएँ |
| लिंकिंग कोड | Solo2 के भीतर आपका पता — एक फ़ोन नंबर की तरह। यह वह है जो आप किसी के साथ साझा करते हैं ताकि वे आपको ढूँढ सकें और कनेक्शन अनुरोध भेज सकें | सादा पाठ, अद्वितीय (~10 अक्षर) | जब तक आप अपना खाता न हटाएँ |
| आर्थिक बैलेंस | आपने अपने खाते में जो धन जोड़ा है | संख्या (सेंट में) | जब तक आप अपना खाता न हटाएँ |
| बोनस बैलेंस | प्राप्त बोनस (प्रचार)। आर्थिक शेष से पहले उपयोग होते हैं | संख्या (सेंट में) | जब तक आप अपना खाता न हटाएँ |
| खाता प्रकार | आपकी योजना: सामान्य, संस्थापक या प्लैटिनम (व्यवस्थापक केवल प्रशासन खातों के लिए मौजूद है) | 1 बाइट (पूर्णांक) | जब तक बदले या आप अपना खाता न हटाएँ |
| खाता स्थिति | आपके खाते की स्थिति: सक्रिय, परीक्षण अवधि में, आपके द्वारा रोका गया, या छूट अवधि में। यदि आप अपना खाता रोकते हैं, तो यही फ़ील्ड इसे याद रखता है | 1 बाइट (पूर्णांक) | जब तक बदले या आप अपना खाता न हटाएँ |
| सेवा कटौती चिह्न | यह संग्रहीत करता है कि सेवा कब काटी गई: इसे कोई व्यवस्थापक खाता निलंबित करते समय लगाता है, या सिस्टम तब लगाता है जब आपका शेष शून्य हो जाता है (यह छूट अवधि की शुरुआत है)। अद्यतन खाते में इसका मान 0 होता है | संख्यात्मक timestamp (0 = कोई कटौती नहीं) | जब तक खाता पुनः सक्रिय न हो — रिचार्ज या निलंबन हटाना — या हटा न दिया जाए |
| पंजीकरण दिनांक और समय | आपने अपना खाता कब बनाया | पूर्ण दिनांक और समय (timestamp) | स्थायी |
| आंतरिक पहचानकर्ता | सिस्टम को आपके उपयोगकर्ता नाम का उपयोग किए बिना आपको संदर्भित करने के लिए दो आंतरिक कोड चाहिए। एक आपकी प्राथमिक ID है और दूसरा एक संदर्भ कोड। दोनों अपारदर्शी हैं — सिस्टम के बाहर इनका कोई अर्थ नहीं है | 24 अक्षरों के दो यादृच्छिक कोड (उदा.: u_7kX9mP2...)। इनमें आपका नाम, तिथि या कोई व्यक्तिगत डेटा नहीं है — ये पूरी तरह यादृच्छिक हैं | जब तक आप अपना खाता न हटाएँ |
| सुरक्षा संस्करण | पासवर्ड सुरक्षा एल्गोरिथम का कौन सा संस्करण उपयोग किया गया | आंतरिक संख्या | जब तक आप अपना खाता न हटाएँ |
| स्थिति संकेतक | तकनीकी फ़्लैग (क्या आपका बैलेंस बदला है, क्या आपने अधिकतम सुरक्षा मोड सक्रिय किया है) | 1 बाइट — एक अक्षर के बराबर। इसमें और कुछ समा नहीं सकता | जब तक आप अपना खाता न हटाएँ |
डेटा की मात्रा का अंदाज़ा लगाने के लिए: आपका पूरा रिकॉर्ड लगभग 400 बाइट्स लेता है — इस पैराग्राफ़ से भी कम। ये आपके नाम हैं (चाहें तो काल्पनिक), आपके पासवर्ड का फ़िंगरप्रिंट (निश्चित आकार, 128 वर्ण), आपकी एन्क्रिप्टेड मास्टर कुंजी (एक अपारदर्शी ब्लॉब, 80 बाइट्स जिसे हम पढ़ नहीं सकते), एक पुनर्प्राप्ति फ़िंगरप्रिंट (64 वर्ण जो कुछ भी प्रकट नहीं करते), आपके शेष के लिए दो संख्याएँ, कुछ तिथियाँ और चार कॉन्फ़िगरेशन बाइट्स। हमारे सर्वर पर आपका अस्तित्व बस इतना ही है।
1.2 सक्रिय सत्र
| डेटा | क्यों | सुरक्षा | अवधि |
|---|---|---|---|
| सत्र टोकन का हैश | आपका लॉगिन सक्रिय रखना | अपरिवर्तनीय फिंगरप्रिंट (SHA-256)। मूल टोकन कभी भी सर्वर पर संग्रहीत नहीं किया जाता | 24 घंटे — उसके बाद पूरी तरह हटा दिया जाता है |
| निर्माण तिथि | ताकि सिस्टम को पता चले कि यह कब बनाया गया — स्वचालित सफाई के लिए उपयोगी | संख्यात्मक टाइमस्टैम्प (यूनिक्स सेकंड) | सत्र के साथ हटा दिया जाता है |
| समाप्ति तिथि | सत्र निर्माण के 24 घंटे बाद समाप्त हो जाता है। उपयोग से नवीनीकृत नहीं होता — इसकी समाप्ति तिथि निश्चित है | संख्यात्मक टाइमस्टैम्प (निर्माण + 24 घंटे) | 24 घंटे — उसके बाद पूरी तरह हटा दिया जाता है |
लॉग आउट करने या समाप्त होने पर, पंक्ति डेटाबेस से पूरी तरह हटा दी जाती है। सत्र के अस्तित्व का कोई निशान नहीं रहता।
1.3 लिंकिंग अनुरोध
| डेटा | क्यों | सुरक्षा | अवधि |
|---|---|---|---|
| अनुरोधकर्ता की ID | यह जानना कि अनुरोध किसने भेजा | 24 यादृच्छिक वर्णों का आंतरिक कोड | 3 दिन — उसके बाद स्वचालित रूप से हटा दिया जाता है |
| प्राप्तकर्ता की ID | यह जानना कि अनुरोध किसके लिए है | 24 यादृच्छिक वर्णों का आंतरिक कोड | 3 दिन — उसके बाद स्वचालित रूप से हटा दिया जाता है |
| स्थिति | लंबित / स्वीकृत / अस्वीकृत | 1 बाइट (पूर्णांक: 0=लंबित, 1=स्वीकृत, 2=अस्वीकृत) | समाधान होने पर या समाप्त होने पर हटा दिया जाता है (3 दिन) |
| निर्माण तिथि | जानना कि अनुरोध कब बनाया गया था ताकि उसे स्वतः हटाया जा सके | संख्यात्मक टाइमस्टैम्प (यूनिक्स सेकंड) — 4 से 8 बाइट्स | 3 दिन — उसके बाद स्वचालित रूप से हटा दिया जाता है |
महत्वपूर्ण नोट: जब तक अनुरोध लंबित है (अधिकतम 3 दिन), सर्वर जानता है कि उपयोगकर्ता A ने उपयोगकर्ता B से जुड़ने का अनुरोध किया। 3 दिन बीतने पर अनुरोध स्वचालित रूप से हटा दिया जाता है। लिंकिंग स्वीकार होने के बाद, सर्वर संबंध नहीं रखता। आपकी संपर्क सूची केवल आपके ब्राउज़र में मौजूद है, एन्क्रिप्टेड।
1.4 कनेक्शन कोड
| डेटा | क्यों | सुरक्षा | अवधि |
|---|---|---|---|
| कनेक्शन कोड (alias) | छोटा पहचानकर्ता ताकि कोई अन्य उपयोगकर्ता आपको ढूँढ सके और टनल बनाने का अनुरोध कर सके | आपकी आंतरिक ID से प्राप्त 8 अक्षरों का यादृच्छिक कोड | स्थायी (यह आपका सार्वजनिक कनेक्शन पहचानकर्ता है) |
1.5 पुश सब्सक्रिप्शन (अधिसूचनाएँ)
| डेटा | क्यों | सुरक्षा | अवधि |
|---|---|---|---|
| अधिसूचना पता | आपके ब्राउज़र को अधिसूचनाएँ भेजना | ब्राउज़र प्रदाता (Google, Mozilla या Apple) का URL | जब तक आप अधिसूचनाएँ बंद करें या अपना खाता न हटाएँ |
| पुश एन्क्रिप्शन कुंजियाँ | अधिसूचना को एन्क्रिप्ट करना ताकि केवल आपका ब्राउज़र इसे पढ़ सके | Web Push मानक | पते के समान |
1.6 फ़ीडबैक (सहायता)
| डेटा | क्यों | सुरक्षा | अवधि |
|---|---|---|---|
| आपका संदेश | ताकि हम आपकी मदद कर सकें | सादा पाठ | जब तक हम इसे प्रोसेस करें |
| आपकी उपयोगकर्ता ID | यह जानना कि किसे सहायता चाहिए | आंतरिक ID | संदेश के समान |
1.7 कनेक्शन सिग्नलिंग (क्षणिक)
दो उपकरणों को सीधे जोड़ने के लिए, उन्हें कनेक्शन स्थापित करने के तकनीकी संकेतों (WebRTC प्रोटोकॉल) का आदान-प्रदान करना होता है। हमारा सर्वर आपके उपयोगकर्ता कोड और आपके संपर्क के कोड को मेमोरी में रखने का एकमात्र क्षण उन मिलीसेकंड के दौरान होता है जब यह इस कनेक्शन अनुरोध को संसाधित करता है। यह एक पल रहता है, केवल RAM में होता है और कभी डिस्क पर नहीं लिखा जाता। संकेत स्वयं एंड-टू-एंड एन्क्रिप्टेड हैं
| डेटा | क्यों | सुरक्षा | अवधि |
|---|---|---|---|
| कनेक्शन संकेत | डिवाइस के बीच सीधा कनेक्शन स्थापित करना | प्राप्तकर्ता की सार्वजनिक कुंजी से एंड-टू-एंड एन्क्रिप्टेड। सर्वर इन्हें पढ़ या संशोधित नहीं कर सकता | 60 सेकंड |
1.8 मिरर सर्वर (TURN relay)
यदि सीधा कनेक्शन संभव नहीं है, तो एक मिरर सर्वर का उपयोग किया जाता है: डेटा इसमें से ऐसे गुज़रता है जैसे प्रकाश दर्पण से — एक तरफ से दूसरी तरफ परावर्तित होता है, लेकिन दर्पण को पता नहीं होता कि वह क्या परावर्तित कर रहा है। सभी पैकेट एक समान आकार में भरे जाते हैं ताकि कोई पर्यवेक्षक एक संदेश को एक साधारण कनेक्शन धड़कन से अलग न कर सके।
| डेटा | क्यों | सुरक्षा | अवधि |
|---|---|---|---|
| एक्सेस क्रेडेंशियल | मिरर सर्वर पर प्रमाणीकरण | आपकी पहचान एक अपरिवर्तनीय फ़िंगरप्रिंट में बदल जाती है — मिरर सर्वर नहीं जानता कि आप कौन हैं | 24 घंटे |
1.9 प्रोसेस किए गए भुगतान
भुगतान ही एकमात्र बिंदु है जहाँ गुमनामी के साथ वास्तविक टकराव होता है। आइए इसके बारे में ईमानदार रहें।
जब आप Solo2 पर पंजीकरण करते हैं, तो आप एक उपयोगकर्ता नाम (काल्पनिक हो सकता है), एक पासवर्ड और एक सार्वजनिक नाम (यह भी काल्पनिक) चुनते हैं। कोई भी डेटा आपको किसी वास्तविक व्यक्ति से नहीं जोड़ता। लेकिन यदि आप कार्ड से भुगतान करते हैं, तो आपका वित्तीय संस्थान जानता है कि आप कौन हैं।
भुगतान गेटवे से हमें केवल एक पुष्टि और एक राशि प्राप्त होती है। हम धारक का नाम, कार्ड नंबर, पहचान पत्र, या भुगतानकर्ता का कोई व्यक्तिगत डेटा न प्राप्त करते हैं न संग्रहीत करते हैं। ये छोटी राशियाँ हैं — कानूनी रूप से नकद टिकट के बराबर, जैसे किसी दुकान से टॉफ़ी खरीदना: दुकानदार भुगतान करने वाले का पहचान पत्र दर्ज नहीं करता।
इसके अतिरिक्त, भुगतान रिकॉर्ड आपके उपयोगकर्ता खाते से जानबूझकर अलग रखा गया है। हमारे डेटाबेस में ऐसा कोई फ़ील्ड नहीं है जो किसी भुगतान टिकट को किसी विशिष्ट खाते से जोड़ता हो।
| डेटा | क्यों | सुरक्षा | अवधि |
|---|---|---|---|
| भुगतान रिकॉर्ड | लेखांकन और कर दायित्व | पुष्टि + राशि। भुगतानकर्ता का कोई व्यक्तिगत डेटा नहीं। किसी उपयोगकर्ता खाते से कोई लिंक नहीं | स्थायी (कानूनी दायित्व) |
सबसे खराब संभावित परिदृश्य के बारे में: यहां तक कि न्यायिक आदेश के साथ भी, ट्रेसिंग श्रृंखला होगी: आपका कार्ड → आपका बैंक → भुगतान गेटवे → हमारा भुगतान टिकट। लेकिन हमारे टिकट में कोई उपयोगकर्ता पहचानकर्ता नहीं होता है। यह कोई चूक नहीं है: यह एक डिज़ाइन निर्णय है। हमारे डेटाबेस में ऐसा कोई फ़ील्ड या इंडेक्स नहीं है जो किसी भुगतान को किसी खाते से संबंधित करता हो। एकमात्र सैद्धांतिक तरीका एक अस्थायी सहसंबंध होगा — यदि आप किसी दिए गए अवधि में एकमात्र भुगतानकर्ता होते — लेकिन उस चरम मामले में भी, खाते में वास्तविक व्यक्ति की पहचान करने वाली जानकारी नहीं होती है: उपयोगकर्ता नाम और सार्वजनिक नाम पूरी तरह से मनगढ़ंत हो सकते हैं।
हमारी सभी आय कानूनी है और भुगतान गेटवे के माध्यम से हिसाब-किताब में दर्ज होती है। हम संबंधित कर चुकाते हैं। लेकिन हमारी ओर से ग्राहक की गुमनामी पूर्ण है।
2. वह डेटा जो हमारे पास सर्वर पर नहीं है
यह हमें परिभाषित करता है। Solo2 सर्वर संग्रहीत नहीं करता है और न ही उसे पहुंच है:
- आपके संदेश — वे सीधे उपकरणों के बीच यात्रा करते हैं, एंड-टू-एंड एन्क्रिप्टेड। सर्वर उन्हें कभी नहीं देखता।
- आपकी फ़ाइलें — संदेशों की तरह: सीधे और एन्क्रिप्टेड।
- आपकी संपर्क सूची — यह केवल आपके ब्राउज़र में मौजूद है, वॉल्ट में एन्क्रिप्टेड।
- आपकी चैट हिस्ट्री — केवल आपके ब्राउज़र में, एन्क्रिप्टेड।
- आपका स्थान — जियोसील्स आपके डिवाइस पर गणना किए जाते हैं और सीधे प्राप्तकर्ता को भेजे जाते हैं। सर्वर उन्हें कभी संसाधित नहीं करता।
- उपयोग विश्लेषण — Solo2 एप्लिकेशन में कोई विश्लेषण प्रणाली, कोई ट्रैकिंग कुकीज़, और कोई तृतीय-पक्ष स्क्रिप्ट नहीं है।
- डिवाइस डेटा — हम आपके डिवाइस का मॉडल, रिज़ॉल्यूशन, ऑपरेटिंग सिस्टम, या कोई भी विशेषता एकत्र नहीं करते हैं।
- संचार मेटाडेटा — हम नहीं जानते कि आप किससे बात करते हैं, कब, कितनी बार, या कितने समय तक।
आपके IP पते के बारे में
आपका IP पता किसी भी डेटाबेस में संग्रहीत नहीं होता। सर्वर के तकनीकी लॉग में, IP पते अपरिवर्तनीय फ़िंगरप्रिंट (हैश) में बदल दिए जाते हैं — दुरुपयोग पैटर्न का पता लगाने के लिए उपयोगी, लेकिन मूल IP में वापस बदलना असंभव। ये लॉग हर 7 दिन में स्वचालित रूप से हटा दिए जाते हैं। कनेक्शन संकेत, जिनमें आपका IP हो सकता है, एंड-टू-एंड एन्क्रिप्टेड हैं — सर्वर उन्हें पढ़ नहीं सकता।
3. आपके ब्राउज़र में डेटा (वॉल्ट)
निम्नलिखित सभी विशेष रूप से आपके ब्राउज़र में रहते हैं, AES-256-GCM (सरकारों और वित्तीय संस्थाओं द्वारा उपयोग किया जाने वाला सैन्य-ग्रेड एन्क्रिप्शन मानक) के साथ एन्क्रिप्टेड। कुंजी आपकी पासवर्ड से Argon2id (विशेष हार्डवेयर हमलों के खिलाफ उपलब्ध सबसे प्रतिरोधी एल्गोरिथम) के माध्यम से उत्पन्न होती है, और यह प्रक्रिया पूरी तरह से आपके ब्राउज़र के भीतर होती है। आपका पासवर्ड कभी भी सर्वर पर नहीं भेजा जाता है।
आपका डेटा विश्राम अवस्था में एन्क्रिप्टेड है — भले ही कोई आपके ब्राउज़र के भंडारण तक पहुँच जाए, उसे बिना आपके पासवर्ड के केवल अपठनीय एन्क्रिप्टेड ब्लॉक मिलेंगे।
जब आप बैकअप निर्यात करते हैं, तो यह उसी सुरक्षा (Argon2id + AES-256-GCM) से एन्क्रिप्ट होता है। केवल वही जो आपका पासवर्ड जानता है इसे डिक्रिप्ट कर सकता है। एकमात्र अपवाद जानबूझकर रखा गया है: पठनीय प्रति — एक मानक ZIP जो इसलिए बनाई गई है ताकि आप ऐप के बिना अपना डेटा पढ़ सकें — बिना एन्क्रिप्शन के बनती है; ऐप आपको इसकी चेतावनी देता है और इसे बनाने से पहले आपका पासवर्ड माँगता है।
| डेटा | एन्क्रिप्शन | नियंत्रण |
|---|---|---|
| संदेश | AES-256-GCM | आप तय करते हैं कि कब हटाना है |
| फ़ाइलें | AES-256-GCM | आप तय करते हैं कि कब हटाना है |
| संपर्क (जोड़े) | AES-256-GCM | आप तय करते हैं किससे लिंक करना है |
| सत्यापन स्थिति | AES-256-GCM | आप प्रत्येक संपर्क की पहचान स्वयं सत्यापित करते हैं |
| खोज सूचकांक | अपरिवर्तनीय टोकन (HMAC) से एन्क्रिप्टेड | आपके संदेशों से पुनर्निर्मित होता है |
| वितरण स्थिति | AES-256-GCM | कौन से संदेश वितरित हुए |
| लंबित संदेश | AES-256-GCM | कनेक्शन न होने पर भेजने की कतार |
ब्राउज़र का अस्थायी भंडारण
| डेटा | प्रकार | अवधि | क्यों |
|---|---|---|---|
| उपयोगकर्ता सत्र | ब्राउज़र की स्थानीय मेमोरी (localStorage) | जब तक आप लॉगआउट करें | आपका लॉगिन बनाए रखना |
| ऐप संस्करण | ब्राउज़र की स्थानीय मेमोरी (localStorage) | स्थायी | अपडेट का पता लगाना |
| थीम वरीयता | ब्राउज़र की स्थानीय मेमोरी (localStorage) | स्थायी | आपकी विज़ुअल थीम याद रखना |
| भाषा वरीयता | ब्राउज़र की स्थानीय मेमोरी (localStorage) | स्थायी | आपकी भाषा याद रखना |
| पासवर्ड (अधिकतम सुरक्षा मोड) | टैब मेमोरी (sessionStorage) | टैब बंद करने पर गायब हो जाता है | पेज रीलोड करने पर एन्क्रिप्शन पुनः आरंभ करना |
ब्राउज़र सुरक्षा पर नोट
Solo2 आपके वेब ब्राउज़र के भीतर काम करता है। आपका एन्क्रिप्टेड डेटा विश्राम अवस्था में सुरक्षित है, लेकिन जब ऐप खुला होता है और आपको स्क्रीन पर डिक्रिप्टेड संदेश दिखाता है, तो सुरक्षा आपके वातावरण पर भी निर्भर करती है:
- ब्राउज़र एक्सटेंशन: आपके द्वारा देखे गए पृष्ठों तक पहुंच वाला एक दुर्भावनापूर्ण एक्सटेंशन, सिद्धांत रूप में, स्क्रीन पर प्रदर्शित होने वाली चीज़ को पढ़ सकता है। हम यथासंभव कम एक्सटेंशन और केवल विश्वसनीय स्रोतों से उपयोग करने की सलाह देते हैं।
- स्वच्छ ब्राउज़र: अनावश्यक एक्सटेंशन के बिना एक अद्यतन ब्राउज़र आपका सबसे अच्छा सहयोगी है।
- नेटिव ऐप: भविष्य में, हम एक डेस्कटॉप एप्लिकेशन (विंडोज़, मैक, लिनक्स) पेश करेंगे जो ब्राउज़र वातावरण पर निर्भर न होकर अलगाव का एक अतिरिक्त स्तर प्रदान करेगा।
4. नेटवर्क कनेक्शन
Solo2 ऐप
| डोमेन | कारण | भेजा गया डेटा |
|---|---|---|
| solo2.net | ऐप API | प्रमाणीकरण, सिग्नलिंग, उपस्थिति |
| pay.menzuri.com | भुगतान गेटवे | केवल भुगतान करने पर |
कोई अन्य डोमेन नहीं। कोई बाहरी स्क्रिप्ट नहीं। कोई ट्रैकिंग सीडीएन नहीं। सर्वर की सामग्री सुरक्षा नीति (CSP) तकनीकी रूप से इसे लागू करती है: अन्य डोमेन से संसाधनों को लोड करने का कोई भी प्रयास ब्राउज़र द्वारा अवरुद्ध किया जाता है。
आपके डिवाइस का सार्वजनिक IP पता खोजने के लिए भी (उपयोगकर्ताओं के बीच सीधे कनेक्शन स्थापित करने के लिए आवश्यक), हम अपने स्वयं के सर्वर (तकनीकी रूप से STUN कहा जाता है) का उपयोग करते हैं। हम बाहरी सेवाओं पर निर्भर नहीं हैं। हम इसे स्वयं प्रबंधित करते हैं।
प्रस्तुति पृष्ठ
प्रस्तुति पृष्ठ (solo2.net) — जो ऐप से स्वतंत्र है — जर्मनी में हमारे अपने सर्वर पर होस्ट की गई गुमनाम मापन प्रणाली का उपयोग करता है:
| डोमेन | कारण | भेजा गया डेटा |
|---|---|---|
| stats.menzuri.com | विज़िट की गुमनाम मापन | देखा गया पृष्ठ (बिना कुकी, बिना IP, बिना पहचान) |
यह प्रणाली कुकी इंस्टॉल नहीं करती, आपका IP पता रिकॉर्ड नहीं करती, आपकी पहचान नहीं करती, विज़िट के बीच आपको ट्रैक नहीं करती और तीसरे पक्ष के साथ डेटा साझा नहीं करती। Solo2 ऐप में यह या कोई अन्य एनालिटिक्स प्रणाली नहीं है।
5. अपना डेटा हटाएँ
दो अलग-अलग क्रियाएँ हैं, और यह महत्वपूर्ण है कि आप अंतर जानें:
स्थानीय डेटा हटाएँ
ऐप सेटिंग्स से आपके पास स्थानीय डेटा हटाने के दो विकल्प हैं:
- मेरा डेटा साफ़ करें - समान ब्राउज़र का उपयोग करने वाले अन्य उपयोगकर्ताओं को प्रभावित किए बिना केवल अपना डेटा (पहचान, वॉल्ट, सत्र) हटाएं।
- आपातकालीन रीसेट - बिल्कुल सब कुछ मिटा दें: सभी उपयोगकर्ताओं का डेटा, सेवा कार्यकर्ता, कैश और क्रिप्टोग्राफ़िक कुंजियाँ। दोहरी पुष्टि की आवश्यकता है.
दोनों ही मामलों में, सर्वर पर आपका खाता अभी भी मौजूद है। आप दोबारा लॉग इन कर सकते हैं, लेकिन आपका स्थानीय डेटा अपरिवर्तनीय रूप से खो जाएगा। ऐसा करने से एक पूरी तरह से नई क्रिप्टोग्राफ़िक पहचान बन जाती है: जिसके पास आपकी पिछली सार्वजनिक कुंजी है वह अब आपके लिए कुछ भी एन्क्रिप्ट नहीं कर सकता है। यदि कोई पिछला संपर्क पुनः कनेक्ट करना चाहता है, तो उन्हें आपसे दोबारा लिंक करने के लिए कहना होगा, और आप तय करेंगे कि इसे स्वीकार करना है या नहीं।
डिवाइस के बीच स्वचालित पुनर्प्राप्ति
यदि आप एक डिवाइस पर अपना डेटा खो देते हैं और दूसरा कनेक्ट है, तो Solo2 स्थिति का पता लगाता है और आपकी पहचान और वॉल्ट को स्वचालित रूप से पुनर्स्थापित करने की पेशकश करता है। पुनर्स्थापना आपके डिवाइस के बीच सीधे कनेक्शन से एन्क्रिप्टेड (Argon2id) यात्रा करती है — सर्वर से होकर नहीं।
सर्वर से अपना खाता हटाएँ
- आपकी आईडी से जुड़े डेटाबेस की सभी पंक्तियाँ हटा दी गई हैं: खाता, सत्र, अनुरोध, निमंत्रण, पुश सदस्यता, फीडबैक।
- विलोपन परमाणु (सभी या कुछ भी नहीं) है: या तो सब कुछ हटा दिया जाता है या कुछ भी नहीं हटाया जाता है।
- यदि आप अपना खाता हटाते हैं, तो कोई भी हमारी ओर से आपके पुराने संदेशों तक नहीं पहुंच सकता, क्योंकि हम कोई प्रतियां नहीं रखते।
- सर्वर लॉग में पहचानकर्ता अपरिवर्तनीय फ़िंगरप्रिंट हैं: एक बार हटाए जाने पर, किसी लॉग को आपके खाते से जोड़ना संभव नहीं है।
- आपके ब्राउज़र में वॉल्ट इस क्रिया से स्वचालित रूप से नहीं हटती (हमारी आपके ब्राउज़र तक पहुँच नहीं है)। इसे हटाने के लिए, पहले न्यूक्लियर वाइप चलाएँ या अपने ब्राउज़र में साइट डेटा साफ़ करें।
5b. आपकी मास्टर कुंजी और आपके 24 शब्द
Solo2 पर अपना खाता बनाते समय, 256 बिट्स की वास्तविक एन्ट्रॉपी (Bitcoin जैसी ही) से एक मास्टर कुंजी उत्पन्न होती है। यह कुंजी 24 शब्दों के रूप में प्रदर्शित होती है जो केवल आप जानते हैं। आपका पासवर्ड इस कुंजी को आवरित करता है ताकि इसे सर्वर पर एन्क्रिप्टेड रखा जा सके — सर्वर इसे पढ़ नहीं सकता।
इसका अर्थ है कि आपके पास दो स्वतंत्र चाबियाँ
सटीक एल्गोरिथम (सत्यापन योग्य)
पीढ़ी: ऑपरेटिंग सिस्टम का CSPRNG (crypto.getRandomValues, 256 बिट्स)। मास्टर कुंजी एन्क्रिप्शन: रैपर कुंजी प्राप्त करने के लिए Argon2id (OWASP) + इसे सुरक्षित रखने के लिए AES-256-GCM (प्रमाणीकृत एन्क्रिप्शन)। पहचान: Ed25519 (हस्ताक्षर) + X25519 (विनिमय)। संदेश: ChaCha20-Poly1305 के साथ Double Ratchet। ब्राउज़र टैब बंद करते समय, सभी संवेदनशील डेटा मेमोरी से गायब हो जाता है。
आपकी मास्टर कुंजी की सुरक्षा कैसे होती है
| परत | यह क्या है | कहाँ रहता है |
|---|---|---|
| पासवर्ड | सर्वर तक पहुँच। आपकी मास्टर कुंजी को आवरित करता है | आपकी स्मृति में + सर्वर पर हैश |
| डिवाइस सीक्रेट | अदृश्य दूसरा कारक, इंस्टॉल करते समय स्वचालित रूप से उत्पन्न | आपके डिवाइस में (निकालने योग्य नहीं) |
| मास्टर कुंजी (24 शब्द) | 256 बिट्स की वास्तविक एन्ट्रॉपी, यादृच्छिक रूप से उत्पन्न। Bitcoin स्तर (BIP39) | आपके द्वारा सुरक्षित रखे गए कागज़ पर + सर्वर पर आवरित |
| कुंजी रोटेशन | प्रत्येक संदेश एक अद्वितीय कुंजी का उपयोग करता है जो बाद में नष्ट हो जाती है (Double Ratchet) | स्वचालित, पारदर्शी |
यदि आप अपना पासवर्ड बदलते हैं
अपना पासवर्ड बदलना तत्काल है। केवल आपकी मास्टर कुंजी को नए पासवर्ड से पुनः आवरित किया जाता है — आपकी पहचान नहीं बदलती, आपकी वॉल्ट पुनः एन्क्रिप्ट नहीं होती, आपके संपर्क प्रभावित नहीं होते, और आपके 24 शब्द वही रहते हैं। यह मिलीसेकंड की प्रक्रिया है।
पुनर्प्राप्ति
यदि आप अपना पासवर्ड खो देते हैं, तो आप अपने 24 शब्दों से अपनी वॉल्ट तक पहुँच सकते हैं — बिना सर्वर के। यदि आप अपने 24 शब्द खो देते हैं, तो आप अपने पासवर्ड से लॉगिन कर सकते हैं और सर्वर आपकी आवरित कुंजी लौटाता है। यदि आप दोनों खो देते हैं, तो आपका डेटा अपुनर्प्राप्य है। Bitcoin की तरह, यह डिज़ाइन द्वारा सुरक्षा है।
6. यदि कोई बिना अनुमति के सर्वर तक पहुँचे तो क्या होगा
यदि कोई हमलावर Solo2 के सर्वर तक पूर्ण पहुँच प्राप्त कर ले, तो उसे मिलेगा:
- उपयोगकर्ता नाम और सार्वजनिक नाम
- लिंकिंग कोड
- सार्वजनिक कुंजियाँ (निजी कुंजी के बिना बेकार, जो आपके ब्राउज़र में है)
- पासवर्ड फ़िंगरप्रिंट (Argon2id की बदौलत अत्यंत महँगे ब्रूट-फ़ोर्स हमले के बिना बेकार)
- सत्र टोकन फ़िंगरप्रिंट (मूल टोकन के बिना बेकार)
- लंबित लिंकिंग अनुरोध (आंतरिक IDs, 3 दिन में समाप्त होते हैं)
- खाता प्रकार, बैलेंस और पंजीकरण दिनांक
- भुगतान रिकॉर्ड (किसी विशिष्ट उपयोगकर्ता से जोड़ने में असमर्थ)
जो उसे नहीं मिलेगा:
- कोई संदेश नहीं (कभी सर्वर पर नहीं थे)
- कोई फ़ाइल नहीं (कभी सर्वर पर नहीं थीं)
- कोई संपर्क सूची नहीं (कभी सर्वर पर नहीं थी)
- कोई चैट इतिहास नहीं (कभी सर्वर पर नहीं था)
- कोई निजी एन्क्रिप्शन कुंजी नहीं (आपके ब्राउज़र में रहती हैं)
- कोई IP पता नहीं (रिकॉर्ड नहीं किए जाते)
7. हमारी प्रतिबद्धता
यह घोषणापत्र डेटा प्रबंधन में प्रत्येक प्रासंगिक परिवर्तन के साथ अपडेट होगा। यदि हम डेटाबेस में कोई नया फ़ील्ड जोड़ते हैं, तो यह यहाँ दिखाई देगा। यदि हम कुछ हटाते हैं, तो वह भी।
वर्तमान संस्करण हमेशा यह पृष्ठ है।