जाँचा जा सकने वाला, सिर्फ़ कहा हुआ नहीं
सबूत
यह साइट कहती है कि आपका डाला हुआ कोई डेटा आपके डिवाइस से बाहर नहीं जाता। हमारी बात मान लेने की ज़रूरत नहीं: इसे खुद पक्का करने का तरीक़ा यहाँ है, तीन मिनट में, नेटवर्क टैब, एयरप्लेन मोड और कोड पढ़ने के ज़रिए।
- तीन जाँचें
- तीन मिनट
- कुछ इंस्टॉल नहीं
यक़ीन करने के बजाय जाँचना क्यों
आप खुद क्या देखेंगे
हर पन्ने के ऊपर लगा बैनर वादा करता है कि odersa.org के सिवा कहीं और कोई अनुरोध नहीं जाता। जो वादा जाँचा न जा सके, वह वादा ही रहता है। यह जाँचा जा सकता है: आगे दी तीन जाँचों के लिए उससे ज़्यादा कुछ नहीं चाहिए जो आपके ब्राउज़र में पहले से है।
तीन जाँचें आगे हैं: हिसाब के दौरान नेटवर्क टैब, आंकड़े डालते हुए एयरप्लेन मोड, और हिसाब करने वाला कोड पढ़ना। इन्हें क्रम से कीजिए या बेतरतीब। फ़ोन से कंप्यूटर बेहतर है: ब्राउज़र के डेवलपर टूल उस पर आसानी से खुलते हैं।
पहली जाँच
हिसाब के दौरान नेटवर्क टैब
यह जाँच दिखाती है कि आपके डिवाइस से क्या बाहर जाता है, ठीक उस पल जब आप किसी कैलकुलेटर में कोई आंकड़ा टाइप कर रहे हैं।
- कोई कैलकुलेटर खोलिए। मिसाल के लिए कर्ज़ की लागत, और फिर अपने ब्राउज़र के डेवलपर टूल (पन्ने पर दायाँ क्लिक, या कंप्यूटर पर F12 की), नेटवर्क टैब।
- पन्ना एक बार दोबारा लोड कीजिए। सूची भर जाती है: पन्ना, स्टाइल-शीट, फ़ॉन्ट, स्क्रिप्ट। अगर आपका ब्राउज़र सूची खाली करने का विकल्प देता है तो कर दीजिए, वरना वैसे ही छोड़ दीजिए।
- खाने भरिए। रकम, दर, अवधि, कई बार लगातार बदलिए। नतीजे को अपनी आँखों के सामने, हर कीस्ट्रोक पर बदलते देखिए।
- देख लीजिए। आपके टाइप करते वक़्त सूची में एक भी पंक्ति नहीं जुड़ती। नतीजा बदलता है, अनुरोधों की सूची नहीं।
वह स्तंभ भी देखिए जो हर अनुरोध का तरीक़ा बताता है: सारे GET हैं, यानी वह तरीक़ा जो कोई फ़ाइल मांगता है। कोई POST नहीं है, यानी वह तरीक़ा जो कुछ भेजता है: हिसाब लगाएं बटन भी ऐसा अनुरोध नहीं बना सकता, क्योंकि कोड फ़ॉर्म को सामान्य तरीक़े से भेजने ही नहीं देता और हिसाब खुद उसी जगह कर देता है। सबसे पहले लोड पर दिखे कुछ अनुरोध किसी बात को नहीं काटते: वे साइट की फ़ाइलें हैं, जो दिखने के लिए आपके डिवाइस तक उतरती हैं और फिर बिना कनेक्शन चलने के लिए कैश में रख दी जाती हैं। नीचे उतरती प्रतिलिपि, बाहर जाता डेटा नहीं होती।
दूसरी जाँच
आंकड़े डालते हुए एयरप्लेन मोड
यह जाँच कुछ भी भेजने की गुंजाइश ही खत्म कर देती है, और फिर देखती है कि कैलकुलेटर तब भी चलता है या नहीं।
- कोई कैलकुलेटर सामान्य तरीक़े से, कनेक्शन के साथ खोलिए। पहला आंकड़ा टाइप कीजिए, दिख रहा नतीजा नोट कर लीजिए।
- पूरा कनेक्शन काट दीजिए। एयरप्लेन मोड, या वाई-फ़ाई और मोबाइल डेटा दोनों बंद।
- आंकड़े बदलिए। दूसरी रकम, दूसरी दर, दूसरी अवधि, कुछ भी दोबारा जोड़े बिना।
- देख लीजिए। नतीजा तुरंत बदल जाता है, ठीक पहले की तरह, नेटवर्क की एक भी लकीर के बिना।
अगर यह हिसाब कहीं किसी सर्वर पर निर्भर होता, तो नेटवर्क कटने से वह जवाब ही नहीं दे पाता। यहाँ कुछ इंतज़ार नहीं करता, क्योंकि कुछ बाहर नहीं जाता: जोड़ आपके डिवाइस के संसाधनों से होता है, किसी दूर के सर्वर के संसाधनों से नहीं। बिना कनेक्शन चलने से पूरे पन्ने पर, बिना वाई-फ़ाई वाले कमरे में या छपाई के लिए, क्या मुमकिन होता है, वह बिना इंटरनेट और काग़ज़ पर पर समझाया गया है: यहाँ सिर्फ़ यह मायने रखता है कि यह आपके अपने आंकड़ों के बारे में क्या साबित करता है।
तीसरी जाँच
हिसाब करने वाला कोड पढ़ना
पहली दो जाँचें असर दिखाती हैं। यह वजह दिखाती है: यह साइट पूरी तरह स्थिर है, इसका कोड न कंपाइल किया गया है न अपठनीय बनाया गया है, और उसे पढ़ने से कुछ नहीं रोकता।
/assets/js/calculateurs.jsखोलिए। सीधे इस पते पर, या डेवलपर टूल के Sources टैब से। यही वह फ़ाइल है जो हर कैलकुलेटर को चलाती है।- उसका शीर्ष-हिस्सा पढ़िए। वह फ़्रेंच में, साफ़ शब्दों में ऐलान करता है कि उसे न किसी अनुरोध का पता है, न किसी स्टोरेज का।
- फ़ंक्शनों में नीचे उतरिए। हर कैलकुलेटर के नाम वाले फ़ंक्शन (बजट, कर्ज़, ब्याज, बीमा, वादा) मिले आंकड़ों पर सिर्फ़ गणित की क्रियाएं करते हैं और उन्हें लौटा देते हैं। और कुछ नहीं।
- खुद आज़माइए। डेवलपर टूल के Console में
CalculsODERSAटाइप कीजिए और चलाइए: वही फ़ंक्शन सामने आ जाते हैं, सीधे बुलाए जा सकने वाले। कहीं कुछ छिपा नहीं है।
एक दूसरी फ़ाइल साइट का बाक़ी हिस्सा चलाती है: /assets/js/socle.js। उसे पढ़ने पर आपको localStorage का असली इस्तेमाल मिलेगा, यानी ब्राउज़र की स्टोरेज जगह। यह कोई विरोधाभास नहीं है, और इसे यहीं कह देना बेहतर है, बजाय कि यह बिना समझाए मिले: यह स्टोरेज सिर्फ़ आपकी दिखावट की सेटिंग रखती है (थीम, टेक्स्ट का साइज़, स्पेसिंग, कॉन्ट्रास्ट, लिंक का रेखांकन, एनिमेशन कम करना), सेवा के नाम वाली एक ही कुंजी के नीचे। कोई रकम, कोई कर्ज़, कोई आमदनी वहाँ कभी नहीं जाती: कैलकुलेटर पिछली फ़ाइल में रहते हैं, और आपके आंकड़े सिर्फ़ वही छूती है।
एक तीसरी फ़ाइल, /sw.js, पन्ने से अलग, पीछे रहकर काम करती है, बिना कनेक्शन चलने के लिए। वह साइट के पन्नों और फ़ाइलों की एक प्रतिलिपि ब्राउज़र की एक जगह में दर्ज कर लेती है, ताकि उन्हें नेटवर्क के बिना दोबारा परोसा जा सके। इस कैश में पहले से भर लेना और वहाँ से परोसना डेटा भेजना नहीं है: यह उलटी दिशा है, आपके डिवाइस तक उतरती एक प्रतिलिपि, वहाँ से बाहर जाता कोई कंटेंट कभी नहीं। इस तरीक़े का ब्यौरा बिना इंटरनेट और काग़ज़ पर पर है।
इन तीनों फ़ाइलों में से कोई भी किसी बनावट-चरण से छोटी या उलझी नहीं की गई: जो फ़ाइल आप पढ़ते हैं, वही आपका ब्राउज़र चलाता है, फ़्रेंच में लिखी टिप्पणियों सहित। इस साइट को न कोई खाता पता है न कोई डेटाबेस: इसलिए हर फ़ाइल का एक ही रूप है, आपके लिए भी और किसी भी दूसरे पाठक के लिए भी वही।
हदें, साफ़ शब्दों में
ये जाँचें क्या साबित नहीं करतीं
- ये वह कोड दिखाती हैं जो आपकी आँखों के सामने, आपके ब्राउज़र में चलता है। इससे ज़्यादा कुछ नहीं, कम कुछ नहीं: यह न कोई ऑडिट है, न कोई प्रमाणपत्र।
- ये तकनीकी होस्टिंग के बारे में कुछ नहीं कहतीं। इंटरनेट पर खोले गए किसी भी पते की तरह, कोई सर्वर बुनियादी जानकारी दर्ज कर सकता है: मांगा गया पता और समय। यह हर साइट पर सच है, यह इसकी खास बात नहीं, और इन तीन जाँचों में से कोई भी ब्राउज़र से इसकी पुष्टि या खंडन नहीं करती।
- इससे जो साबित हुआ है, उसमें कुछ नहीं बदलता। कैलकुलेटर में डाली गई कोई रकम, कोई कर्ज़, कोई आमदनी कभी किसी अनुरोध में नहीं रखी जाती: इसलिए कहीं दर्ज करने लायक कुछ ही नहीं होता, न यहाँ, न कहीं और।
- कोड बदल सकता है। यह साइट समय के साथ सुधरती और बढ़ती है। जाँच जब चाहें दोबारा कीजिए: उसमें तीन मिनट लगते हैं, और वह सबके लिए एक ही रहती है।
“कोई डेटा आपके डिवाइस से बाहर नहीं जाता” कोई भी लिख सकता है। यह पन्ना इसे बिना हम पर यक़ीन किए, खुद जाँचने के लिए तीन मिनट देता है।
अगर कोई जाँच यहाँ लिखे तरीक़े से नहीं चलती, या इन पंक्तियों के बाद कोड बदल गया है, तो बता दीजिए: वह सुधर जाएगा।
कंटेंट तक ताज़ा।
आगे बढ़ने के लिए: बिना कनेक्शन चलने और छपाई का ब्यौरा बिना इंटरनेट और काग़ज़ पर पर है, यह साइट आंकड़ों में क्या साबित कर सकती है वह /data/impact.json पर है, और कोर्स खुद कैसे लिखा और जाँचा जाता है वह हमारा तरीक़ा पर है।