संक्षेप में:
Clips आपके डिवाइस पर AES-256-GCM से per-clip keys के साथ एन्क्रिप्ट होती हैं, जो vault key से wrap की जाती हैं। Vault key आपके पहले डिवाइस पर बनती है और सर्वर को कभी नहीं भेजी जाती। वह दूसरे डिवाइस तक केवल एक एन्क्रिप्टेड pairing relay से पहुँचती है जिसे आप 12 अंकों के safety number से जाँचते हैं, या उस recovery key से जो केवल आपके पास है। आपका पासवर्ड आपकी पहचान साबित करता है; वह कभी कोई clip नहीं खोलता। यदि हर डिवाइस और recovery key खो जाएँ, तो Big Helpers सहित कोई भी vault नहीं पढ़ सकता।
1. तीन रहस्य, और उनमें से केवल एक हमारा
- आपका पासवर्ड सर्वर के सामने आपकी पहचान साबित करता है। यह केवल Argon2id hash के रूप में रखा जाता है। यह कभी कोई clip एन्क्रिप्ट नहीं करता, इसलिए आपके password hash को जानने वाला सर्वर भी आपकी vault नहीं पढ़ सकता।
- आपका डिवाइस lock, Face ID, Touch ID, fingerprint या वैकल्पिक 6 अंकों का PIN, डिवाइस पर जाँचा जाता है और उससे बाहर कभी नहीं जाता।
- आपकी vault key एकमात्र रहस्य है जो clips खोलती है। यह आपके डिवाइस पर और आपकी recovery key के अंदर रहती है। सर्वर के पास उसका fingerprint होता है, ताकि वह गलत डिवाइस को मना कर सके, और इससे अधिक कुछ नहीं।
2. Clip कैसे सील होती है
- हर clip को अपनी random key मिलती है और वह उसी डिवाइस पर AES-256-GCM से एन्क्रिप्ट होती है जिसने उसे capture किया।
- वह per-clip key vault key से wrap की जाती है, जो आपके पहले डिवाइस पर बनी random 256-bit key है।
- केवल ciphertext, wrapped key, non-secret nonce और routing मेटाडेटा भेजे जाते हैं। फ़ाइलें, चित्र और आपकी प्रोफ़ाइल फोटो इसी तरह जाते हैं।
- One-time password कभी sync नहीं होते। वे उसी डिवाइस पर रहते हैं जिसने उन्हें देखा और तीन मिनट बाद समाप्त हो जाते हैं।
3. सर्वर क्या देख सकता है और क्या नहीं
देख सकता है: आपके खाते का विवरण, आपके कौन-से डिवाइस हैं और उन्होंने आखिरी बार कब sync किया, किन डिवाइस के पास vault key है, हर clip का आकार, प्रकार, समय और एकतरफा integrity fingerprint, folder संबंध, और billing reference। पूरी सूची गोपनीयता सूचना के खंड 3 में है।
नहीं देख सकता: किसी clip के अंदर का text, चित्र या फ़ाइल, आपकी प्रोफ़ाइल फोटो, आपकी vault key, recovery key, डिवाइस PIN या backup passphrase। चूँकि बहुत सामान्य text का integrity fingerprint तुलना से अनुमानित किया जा सकता है, जो सामग्री कभी डिवाइस से बाहर नहीं जानी चाहिए उसे exclusion rule से local रखें।
4. डिवाइस और साइन-इन
- हर install एक डिवाइस है जिसका अपना X25519 key pair है। उसका private हिस्सा उस डिवाइस के platform security store से कभी बाहर नहीं जाता।
- Access token एक ही डिवाइस से बंधे रहते हैं, 30 दिन उपयोग न होने पर समाप्त हो जाते हैं और किसी भी दूसरे डिवाइस से रद्द किए जा सकते हैं। Sign-out केवल मौजूदा token रद्द करता है; "sign out everywhere" सभी को रद्द करता है।
- 15 मिनट में दस असफल साइन-इन पर पहचान अस्थायी रूप से लॉक हो जाती है।
- साइन-इन के लिए passkey समर्थित हैं। Passkey जोड़ने या हटाने के लिए आपको फिर से प्रमाणित होना पड़ता है।
- ईमेल सत्यापन code छह अंकों का है, 15 मिनट तक मान्य है और पाँच प्रयासों की अनुमति है। फोन code SMS provider बनाता और जाँचता है; हमारा सर्वर code कभी नहीं देखता।
- इस release में Apple और Google साइन-इन उपलब्ध नहीं हैं।
5. नया डिवाइस pair करना
Pairing वह तरीका है जिससे vault key आपके भरोसेमंद डिवाइस से नए डिवाइस तक पहुँचती है। यह केवल एक ही खाते के भीतर होती है: नया डिवाइस पहले साइन इन करता है, उसके बाद ही pair हो सकता है।
- नया डिवाइस अपना device key pair बनाता है और pairing शुरू करता है। वह एक QR code और छह अंकों का code दिखाता है जो दो मिनट बाद समाप्त हो जाते हैं।
- जिस डिवाइस के पास पहले से key है, उस पर आप QR code scan करते हैं या छह अंक टाइप करते हैं। वह डिवाइस relay से नए डिवाइस की public key लेता है।
- दोनों डिवाइस एक ही 12 अंकों का safety number छह जोड़ों में दिखाते हैं, जैसे
38 71 24 09 55 12। यह दोनों डिवाइस के बीच key agreement से निकलता है, इसलिए यदि कोई बीच में बैठा है तो अंक अलग होंगे। इन्हें मिलाएँ। अलग हों तो रद्द करें और फिर से pair करें। - आपके अनुमोदन पर मौजूदा डिवाइस X25519 key agreement, HKDF और AES-256-GCM से नए डिवाइस की public key के लिए vault key को wrap करता है और wrapped key relay से भेजता है।
- नया डिवाइस key को unwrap करता है, पुष्टि करता है कि उसका fingerprint खाते के पास पहले से मौजूद fingerprint से मेल खाता है, और अब clips पढ़-लिख सकता है।
सर्वर केवल ciphertext relay करता है। वह pairing को थोड़े समय रखता है, जाँचता है कि दोनों पक्ष एक ही खाते के हैं, और wrapped key खोल नहीं सकता। जब तक डिवाइस के पास vault key नहीं है, वह एक भी clip पढ़ या लिख नहीं सकता।
6. Recovery key और backup
पहले डिवाइस पर vault बनते समय Copio एक बार recovery key दिखाता है और आपसे पुष्टि माँगता है कि आपने उसे सुरक्षित रख लिया है। हर paired डिवाइस खो जाने पर vault में वापस जाने का यही एकमात्र रास्ता है। हम इसे reset नहीं कर सकते, क्योंकि यह हमारे पास कभी होती ही नहीं। इसे password manager में या कागज़ पर, डिवाइस से दूर रखें।
Settings में Export everything एक .copio-backup फ़ाइल बनाता है: आपका खाता डेटा, settings, नियम, डिवाइस, सहमतियाँ और हर clip, डिवाइस पर decrypt करके, आपके चुने passphrase से Argon2id द्वारा निकाली गई key के साथ AES-256-GCM से फिर एन्क्रिप्ट की जाती है। फ़ाइल कहीं भी रखना सुरक्षित है और किसी भी platform पर import की जा सकती है। Passphrase उस डिवाइस से बाहर कभी नहीं जाता जिसने फ़ाइल बनाई।
7. रद्द करना और मिटाना
कोई भी डिवाइस किसी भी दूसरे डिवाइस से रद्द किया जा सकता है, और सर्वर उसका token तुरंत अस्वीकार कर देता है। रद्द किया गया डिवाइस अगली बार जुड़ने तक vault key की अपनी स्थानीय प्रति और एन्क्रिप्टेड clip cache रखता है: web app सर्वर द्वारा token अस्वीकार होते ही दोनों मिटा देता है, और apps अपने अगले sync पर यही करते हैं। जो डिवाइस फिर कभी नहीं जुड़ता, वह अपने ही lock के पीछे वही रखता है जो उसके पास पहले से था। खाता मिटाने पर हर token रद्द होता है, आपकी पहचान, डिवाइस, एन्क्रिप्टेड clips और blobs मिट जाते हैं, और पुष्टि का ईमेल भेजा जाता है; एक anonymised erasure record 30 दिनों बाद स्थायी रूप से हटा दिया जाता है। मिटाने से आपके अपने डिवाइस पर पहले से मौजूद एन्क्रिप्टेड vault नष्ट नहीं होती, जिसे आप अलग से हटाते हैं। देखें: अपना Copio खाता मिटाएँ।
8. Infrastructure और डेटा उल्लंघन
Copio API और एन्क्रिप्टेड storage भारत में Big Helpers के infrastructure पर चलते हैं। हर connection strict transport security के साथ HTTPS पर चलता है, और website पर ऐसी content security policy है जो केवल उसकी अपनी script चलने देती है। यदि हमारी प्रणाली का कोई उल्लंघन कभी आपके व्यक्तिगत डेटा को प्रभावित करता है, तो हम उसे रोकते हैं, 6 घंटे के भीतर CERT-In को रिपोर्ट करते हैं, 72 घंटे के भीतर भारतीय डेटा संरक्षण बोर्ड को सूचित करते हैं और आपको बिना देरी सूचित करते हैं, जैसा गोपनीयता सूचना का खंड 9 बताता है। सर्वर का उल्लंघन ciphertext और मेटाडेटा उजागर करता है, आपकी clips का text नहीं।
9. हम आपसे क्या अपेक्षा करते हैं
- अपनी recovery key डिवाइस से दूर रखें, और एक
.copio-backupफ़ाइल सुरक्षित जगह रखें। - हर pairing पर safety number मिलाएँ। ऐसी pairing कभी स्वीकृत न करें जो आपने शुरू नहीं की।
- खोया या बेचा गया डिवाइस जितनी जल्दी हो सके दूसरे डिवाइस से या web से रद्द करें।
- जो कुछ एक ही डिवाइस पर रहना चाहिए, उसके लिए exclusion rules इस्तेमाल करें।
- Copio के ईमेल में code होते हैं, ऐसे link कभी नहीं जो आपका पासवर्ड माँगें। Big Helpers का कोई भी व्यक्ति आपसे पासवर्ड, recovery key, PIN या one-time password कभी नहीं माँगेगा।
10. सुरक्षा समस्या की रिपोर्ट
यदि आपको लगता है कि आपने Copio या इस साइट में कोई vulnerability खोजी है, तो admin@bighelpers.in पर विषय में "Copio security" लिखकर इतना विवरण भेजें कि हम उसे दोहरा सकें। हम हर रिपोर्ट की पावती 2 कार्य दिवसों में देते हैं और बताते हैं कि हमने क्या किया। कृपया परीक्षण के दौरान ऐसे डेटा तक न पहुँचें, उसे न बदलें और न रखें जो आपका नहीं है। इस पृष्ठ का अंग्रेज़ी संस्करण copioapp.com/security.html पर है।