साइन इन करें हमेशा मुफ़्त शुरू करें

अपरिवर्तनीय वॉल्ट

कुछ भी कभी ओवरराइट नहीं होता है।

हर दूसरा वॉल्ट अपनी जगह पर ही एडिट करता है। पासवर्ड बदलें और पुराना वाला गायब हो जाता है — कोई रिकॉर्ड नहीं कि वह कभी मौजूद था, यह साबित करने का कोई तरीका नहीं कि पिछले मंगलवार को क्या सच था। Clavitor ओवरराइट नहीं करता है। हर बदलाव एक नया रिवीज़न लिखता है। इतिहास बना रहता है। रिकॉर्ड पूरा होता है।

केवल अपेंड, हर स्तर पर।

Clavitor में एक क्रेडेंशियल कोई ऐसी पंक्ति नहीं है जिसे आप एडिट करते हैं। यह रिवीज़न का एक स्टैक है। पासवर्ड अपडेट करें और वॉल्ट एक नया वर्ज़न इन्सर्ट करता है — यह पुराने को कभी नहीं छेड़ता है। नवीनतम रिवीज़न वर्तमान मान है; उससे पहले का हर रिवीज़न अभी भी वहीं है, सुरक्षित और क्रम में।

01 — लिखें

हर बार एक नया रिवीज़न

प्रत्येक अपडेट एक INSERT है, कभी UPDATE नहीं। एंट्री एक स्थिर पहचान बनाए रखती है; वर्ज़न नंबर बढ़ता है। किसी क्रेडेंशियल को पढ़ने पर उच्चतम वर्ज़न मिलता है — वही मान जिसकी आप अपेक्षा करेंगे — जबकि हर पिछला वर्ज़न बिल्कुल वैसा ही रहता है जैसा लिखा गया था।

02 — रखें

वॉल्ट के जीवनकाल के लिए इतिहास

पुराने रिवीज़न तब तक बनाए रखे जाते हैं जब तक वॉल्ट मौजूद रहता है। रोटेशन इतिहास, ब्रीच से पहले का मान, किसी भी तारीख को जैसा फ़ील्ड था — इनमें से कुछ भी नहीं फेंका जाता। अतीत कोई ऐसा लॉग नहीं है जिसकी आप उम्मीद करें कि किसी ने रखा होगा। यह स्वयं डेटा है।

03 — डिलीट करें

एक टूमस्टोन, मिटाना नहीं

किसी क्रेडेंशियल को डिलीट करने से एक और रिवीज़न लिखा जाता है जो इसे हटाए जाने के रूप में चिह्नित करता है। एंट्री रिज़ॉल्व होना बंद हो जाती है — लेकिन इसका रिकॉर्ड कि यह मौजूद था, और इसे कब हटाया गया, बना रहता है। एक डिलीट जिसे आप साबित कर सकते हैं, उस डिलीट से कहीं अधिक मूल्यवान है जो कोई निशान नहीं छोड़ता।

यह क्यों मायने रखता है

वे प्रश्न जिनका उत्तर एक म्यूटेबल वॉल्ट नहीं दे सकता।

जब हर एडिट अपने से पहले की चीज़ को नष्ट कर देता है, तो पूरे प्रश्नों के वर्ग अनुत्तरित हो जाते हैं। इम्यूटेबिलिटी उन्हें अपने निर्माण द्वारा उत्तर देती है।

"घटना के दिन कुंजी क्या थी?"

एक रोटेटेड सीक्रेट आमतौर पर बदले जाने के तुरंत बाद गायब हो जाता है। यहाँ, उस विंडो के दौरान जो मान लाइव था, वह अभी भी वॉल्ट में है, अपने वर्ज़न पर, उस टाइमस्टैम्प के साथ जो इसे साबित करता है। फॉरेंसिक अब पुरातत्व नहीं रह जाता।

"इसे किसने बदला, और इससे पहले इसमें क्या था?"

हर अपडेट, डिलीट, स्कोप बदलाव, और एजेंट बदलाव नए रिवीज़न से जुड़ी एक ऑडिट घटना लिखता है। इतिहास और इसे किसने बनाया का रिकॉर्ड एक ही कहानी हैं, जिसे दो तरीकों से बताया गया है — और किसी को भी चुपचाप पीछे नहीं किया जा सकता। टैम्पर-एविडेंट ऑडिट ट्रेल देखें →

"क्या हम बस उसे अनडू कर सकते हैं?"

एक खराब रोटेशन, गलती से किया गया एडिट, एक समझौता किया गया एजेंट जिसने एक फ़ील्ड को ओवरराइट कर दिया — जब कुछ भी नष्ट नहीं होता है, तो पिछले मान को पुनर्प्राप्त करना एक पिछले वर्ज़न को पढ़ना है, न कि बैकअप को रिस्टोर करना और यह उम्मीद करना कि यह पर्याप्त रूप से हालिया है।

"क्या हमारे नहीं देखते हुए कुछ बदला?"

यह चुपचाप नहीं बदल सकता। चूकने के लिए कोई इन-प्लेस म्यूटेशन नहीं है। वर्तमान स्थिति एक संख्या, एक लेखक और एक टाइमस्टैम्प के साथ एक रिवीज़न है — और इससे पहले आई हर स्थिति भी ऐसी ही है।

एक सिद्धांत, पूरा वॉल्ट।

इम्यूटेबिलिटी क्रेडेंशियल पर जोड़ी गई कोई सुविधा नहीं है। यह वह तरीका है जिससे Clavitor में हर रिकॉर्ड बनाया जाता है। आपकी एंट्रियाँ, ऑडिट लॉग, रैप्ड कुंजी रिकॉर्ड, इन पेजों की सामग्री — सब केवल अपेंड, सब एक ही तरीके से। सिस्टम में कहीं भी ऐसा नहीं है जहाँ सच को ओवरराइट किया जाता हो।

बिना किसी विवाद के रेप्लिकेटेड

क्योंकि एक रिवीज़न एक बार लिखा जाता है और कभी नहीं बदला जाता, इसे दुनिया के दूसरे छोर पर कॉपी करना बहुत आसान है: एक फॉरवर्ड-ओनली कर्सर जिसमें पंक्ति पहुँचने पर स्पष्ट स्वीकृति होती है। न कोई एडिट को मेल खाना है, न कोई कॉन्फ्लिक्ट को सुलझाना है, न कोई "कौन सी कॉपी सही है"। केवल अपेंड डेटा का बिल्कुल एक ही इतिहास होता है।

सिफरटेक्स्ट, रखा गया — न कि प्लेनटेक्स्ट, लीक हुआ

संरक्षित इतिहास रेस्ट पर एन्क्रिप्टेड होता है, बिल्कुल लाइव मान की तरह, उन कुंजियों के साथ जो कभी हमारे सर्वर तक नहीं पहुँचतीं। अतीत को रखने से आपको एक्सपोज़र में कुछ भी खर्च नहीं होता: एक चोरी हुई डिस्क में पुराना सिफरटेक्स्ट और नया सिफरटेक्स्ट होता है, दोनों समान रूप से अपठनीय। एन्क्रिप्शन कैसे काम करता है →

एकमात्र अपवाद

हम उस एक जगह को डॉक्यूमेंट करते हैं जहाँ हम इन-प्लेस स्टैम्प करते हैं।

ईमानदारी डिज़ाइन का हिस्सा है। ठीक एक फ़ील्ड है जो नए रिवीज़न के बजाय अपनी जगह पर लिखी जाती है: verified_at, वह मार्कर जो रिकॉर्ड करता है कि क्रेडेंशियल ने आखिरी बार कब काम किया। यह उपयोग मेटाडेटा है, सामग्री में बदलाव नहीं — इसलिए यह नवीनतम रिवीज़न को सीधे अपडेट करता है, और हर स्टैम्प स्वयं ऑडिट-लॉग किया जाता है। हम आपको इसके बारे में यहाँ बताते हैं क्योंकि एक अनडॉक्यूमेंटेड अपवाद वह चीज़ है जो इम्यूटेबिलिटी के दावे को खोखला बना देती है। यह एकमात्र अपवाद है।

डिलीशन, सही तरीके से किया गया।

केवल अपेंड का मतलब यह नहीं है कि आपको कभी भुलाया नहीं जा सकता। इसका मतलब है कि भूलना जानबूझकर, पूर्ण और रिकॉर्ड पर है। प्रति-रिवीज़न टूमस्टोन रोज़मर्रा के मामलों को संभालते हैं। जब वास्तविक मिटाने की आवश्यकता होती है — एक DPDP Act 2023 अनुरोध, एक खाता बंद करना — डिलीशन पूरे वॉल्ट के लिए और अपरिवर्तनीय होता है, जिसे एक जानबूझकर किए गए ऑपरेशन के रूप में चलाया जाता है, कभी भी चुपचाप प्रति-फ़ील्ड ओवरराइट नहीं। आपको कभी भी चुपचाप एडिट नहीं किया जाता; जब आपको हटाया जाता है, तो आपको जानबूझकर और पूरी तरह से हटाया जाता है।

एक ईमानदार वॉल्ट अपना इतिहास रखता है।

इम्यूटेबिलिटी कहानी का आधा हिस्सा है। दूसरा आधा हिस्सा इस बात का रिकॉर्ड है कि किसने क्या छुआ — चेन किया गया, गवाही दिया गया, और साबित करने योग्य।