डीपीपीज़ के लिए समय मशीन

कल्पना कीजिए कि आप अपने हाथ में एक उत्पाद पकड़े हुए हैं और उस पर मौजूद QR कोड को स्कैन कर रहे हैं। PDF की जगह एक छोटा ऐप खुलता है। आप उत्पाद को ठीक वैसे ही देखते हैं जैसा वह अभी है: यह किससे बना है, कहाँ से आया है, और आपको किन बातों का ध्यान रखना चाहिए। एक स्वाइप आपको समय में पीछे ले जाता है - आप अब तक जारी हुए हर संस्करण को देख सकते हैं।

यह Transpareo Time Machine है, जो किसी भी डिजिटल प्रोडक्ट पासपोर्ट के लिए हमारी ओपन-सोर्स कंज्यूमर ऐप है। इसका कोड GitHub पर GPL v3 के तहत उपलब्ध है।

हम इसे इसलिए बना रहे हैं क्योंकि डिजिटल उत्पाद पास पर EU विनियमन उपभोक्ताओं के लिए लिखा गया था - उस व्यक्ति के लिए जो उत्पाद को अपने हाथों में पकड़े हुए है। अधिकांश प्रदाता इसे एक अनुपालन फॉर्म में बदल देते हैं जिसे कोई दो बार नहीं देखता। हम इसे एक ऐसी ऐप में बदल रहे हैं जिसे उपभोक्ता वास्तव में खोलेंगे।

खुद देखें

नमूना उत्पाद पासपोर्ट पूर्ण हैं और इनमें काल्पनिक डेटा शामिल है: संस्करण इतिहास देखें और निरीक्षण स्टिकर खोलें - सीधे अपने ब्राउज़र में, बिना खाते के।

यह ऐप क्या करता है

उत्पाद धारक व्यक्ति के दृष्टिकोण से चार टचपॉइंट। कोई लॉगिन नहीं, कोई ऐप इंस्टॉलेशन नहीं।

1
स्कैन करें

अपने स्मार्टफोन के कैमरे से QR कोड स्कैन करें। ऐप आपके ब्राउज़र में खुल जाएगा।

2
नवीनतम समाचार देखें

यहाँ और अभी का उत्पाद - घटक, सामग्री, उत्पत्ति, देखभाल, पुनर्चक्रण।

3
इतिहास देखें

एक स्वाइप आपको समय में पीछे ले जाता है। प्रत्येक पिछला संस्करण, तारीख और परिवर्तन के कारण के साथ।

4
साझा करें

प्रत्येक संस्करण का अपना लिंक होता है। कोई व्यक्ति एक विशिष्ट संस्करण को दोस्तों या प्राधिकरणों के साथ साझा करता है।

बिलकुल क्यों?

डिजिटल उत्पाद पास पर यूरोपीय संघ का विनियमन दशकों में उत्पाद पारदर्शिता की दिशा में सबसे बड़ा बदलाव है। यदि कोई मूल ग्रंथों को ध्यान से पढ़े, तो यह स्पष्ट रूप से उपभोक्ताओं को ध्यान में रखकर लिखा गया है। प्राधिकरण, रीसायकलर और मरम्मत की दुकानें इसमें शामिल हैं; लेकिन इसका प्राथमिक प्राप्तकर्ता वह व्यक्ति है जिसके हाथों में उत्पाद है।

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

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

हमने इस उपभोक्ता-सामना करने वाले प्लेटफ़ॉर्म को ओपन-सोर्स सॉफ़्टवेयर के रूप में बनाने का फैसला किया है ताकि यह किसी एक प्रदाता पर निर्भर न रहे।

घटनाओं का क्रम पत्थर पर लिखा हुआ है; घोषणापत्र हमारा है।

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

हालांकि, ऐप इस पर निर्भर नहीं है। यदि, मैनिफेस्ट के बजाय, आप इसे एक अकेला पासपोर्ट दिखाते हैं - जैसे कि ओपन स्टैंडर्ड्स के अनुसार हर प्रदाता द्वारा प्रकाशित किए गए - तो यह उस एक संस्करण को प्रदर्शित करता है, इसके हस्ताक्षर की जांच करता है (यदि इसमें कोई है), और बस टाइमलाइन को छोड़ देता है। हस्ताक्षर के बिना पास को त्रुटि नहीं माना जाता है, बल्कि इसे केवल अनुमोदन की मुहर के बिना प्रदर्शित किया जाता है। इस तरह , यही ऐप उन पासों को भी प्रदर्शित करता है जिन्हें कभी Transpareo के साथ पंजीकृत नहीं किया गया है।

बिना रुकावट प्रदाताओं को बदलना

डिजिटल उत्पाद पास पर यूरोपीय संघ के विनियमन के अनुसार उत्पाद पास इंटरऑपरेबल और खुले मानकों पर आधारित होने चाहिए - सेवाओं और प्रणालियों के बीच हस्तांतरणीय, न कि किसी एक प्रदाता से जुड़े। इसलिए सेवा प्रदाता से स्वतंत्रता वैकल्पिक अतिरिक्त नहीं, बल्कि इस आवश्यकता का हिस्सा है।

Transpareo Time Machine यह वह घटक है जो इस आवश्यकता को व्यवहार में लाता है। चूंकि प्रत्येक उत्पाद पासपोर्ट खुले मानकों - रिज़ॉल्वर-तटस्थ पहचान, मानक अनुक्रमण, सार्वजनिक रूप से प्रकाशित कुंजियाँ - का उपयोग करके वितरित किया जाता है, और रेंडरर GPL v3 के तहत ओपन सोर्स है, इसलिए पासपोर्ट का प्रदर्शन कभी भी हमारे प्लेटफ़ॉर्म पर निर्भर नहीं होता।

उत्पाद पासपोर्ट की जिम्मेदारी एक आर्थिक ऑपरेटर - निर्माता, आयातक या अधिकृत प्रतिनिधि - पर होती है। यदि वे Transpareo छोड़कर किसी अन्य प्रदाता पर स्विच करने का निर्णय लेते हैं, तो डिस्प्ले स्थिर रहता है: वही ओपन-सोर्स रेंडरर पहले से प्रकाशित संस्करणों को उनकी इतिहास सहित बिना किसी बदलाव के दिखाता रहता है, और वही ऐप बिल्कुल उसी तरह एक नए प्रदाता को प्रदर्शित करेगा जो उन्हीं ओपन मानकों का समर्थन करता है।

डेटा इसके साथ ही स्थानांतरित हो जाता है, उपभोक्ताओं को कोई रुकावट महसूस नहीं होती, और किसी को माइग्रेशन का इंतज़ार नहीं करना पड़ता।

माइग्रेशन स्वयं कोई प्रोजेक्ट नहीं है। Transpareo Time Machine एक स्थिर बंडल है: इसे एक बार बिल्ड करें, किसी भी वेब सर्वर पर कॉपी करें, और आपका काम पूरा हो गया। Transpareo पर आपने अपने पास के लिए जो डिज़ाइन सेटअप किया है, वह प्रत्येक पास के साथ एक प्रकाशित स्टाइलशीट के रूप में शामिल है। इसका मतलब है कि आपके ग्राहक जिस पास व्यू के आदी हैं, वह आपके अपने सर्वर पर बिल्कुल वैसा ही दिखेगा, रंगों, फॉन्ट्स और लोगो सहित।

ब्राउज़र में परीक्षण किया गया, हमारे सर्वर पर नहीं।

हर उत्पाद पासपोर्ट के शीर्ष पर एक बैज दिखाई देता है: ‘Transpareo द्वारा सत्यापित’। यह एक सत्यापन प्रक्रिया का परिणाम दिखाता है जो हमारे सर्वर पर नहीं बल्कि आगंतुक के ब्राउज़र में होती है - लोड किए गए बाइट्स और जारीकर्ता की सार्वजनिक कुंजियों के आधार पर।

प्रत्येक DPP संस्करण पर दो स्वतंत्र पक्ष हस्ताक्षर करते हैं: जारीकर्ता और Transpareo। बैज हरा होने के लिए दोनों हस्ताक्षरों का सत्यापन योग्य होना आवश्यक है। ‘अपनी कुंजी स्वयं लाएँ’ (BYOK) के साथ, जारीकर्ता अपना स्वयं का हस्ताक्षर एंडपॉइंट संचालित करता है - Transpareo कभी भी निजी कुंजी को धारण नहीं करता है और केवल स्वतंत्र सह-हस्ताक्षर जोड़ता है। इसके परिणामस्वरूप एक ऐसा जारीकर्ता हस्ताक्षर बनता है जिसे Transpareo स्वयं उत्पन्न नहीं कर सकता।

एक समझौता किया हुआ सर्वर टिक की जालसाजी नहीं कर सकता, क्योंकि सत्यापन आगंतुक के अपने डिवाइस पर होता है।

यदि आप ठीक-ठीक जानना चाहते हैं कि क्या हो रहा है, तो बैज पर क्लिक करें। इसके पीछे, आप हस्ताक्षर श्रृंखला, हैश और श्रृंखलाबद्ध संस्करण इतिहास देखेंगे। यदि आप केवल जानकारी चाहते हैं, तो बस इसे अनदेखा करें और उत्पाद पासपोर्ट पढ़ना जारी रखें।

यह सत्यापन एक स्टैंडअलोन पेज के रूप में भी उपलब्ध है: डीपीपी सत्यापन पर, किसी भी उत्पाद पासपोर्ट का मैनिफेस्ट URL दर्ज करें और पासपोर्ट को स्वयं खोले बिना पूरा सत्यापन परिणाम देखें।

हम कोड जारी कर रहे हैं।

Transpareo Time Machine यह GPL v3 on GitHub के तहत लाइसेंस प्राप्त है। किसी भी प्रकाशित संशोधन को भी GPL v3 के तहत लाइसेंस प्राप्त करना अनिवार्य है, ताकि आगे का विकास व्यापक समुदाय को लाभान्वित करे।

क्लोनिंग, फोकिंग, सेल्फ-होस्टिंग - कुछ भी चलेगा।

README फ़ाइल में बताया गया है कि ऐप को कैसे एकीकृत किया जाए - चाहे वह पेज पर एक ही कोड लाइन के रूप में हो, आपके अपने एप्लिकेशन के भीतर एक पैकेज के रूप में हो, या पूरी तरह से आपके द्वारा होस्ट किया गया हो। आपको हस्ताक्षर सत्यापन के लिए केवल सिस्टर कंपोनेंट भी मिलेगा, जो डीपीपी सत्यापन पर लाइव है।

जो लोग ऐप का प्रभावी ढंग से उपयोग करते हैं

यह ऐप मुख्य रूप से उपभोक्ताओं के लिए बनाया गया है। हालाँकि, यह किसी भी ऐसे व्यक्ति के लिए काम करता है जो स्वतंत्र रूप से उत्पाद डेटा देखना या सत्यापित करना चाहता है।

  • अंतिम उपभोक्ता स्कैन, देख, ब्राउज़ और साझा कर सकते हैं। कोई लॉगिन नहीं, कोई ट्रैकर नहीं।
  • बाज़ार निगरानी निकाय और नियामक प्राधिकरण उत्पाद पासपोर्ट को ऐसे सॉफ्टवेयर में देख सकते हैं जिसका स्रोत कोड सार्वजनिक रूप से ऑडिट करने योग्य हो।
  • मरम्मत की दुकानें और रीसायकलर उत्पाद पर सीधे सामग्री संरचना और विघटन निर्देश देख सकते हैं।
  • ब्रांड और फोर्क ऑपरेटर अपने स्वयं के ब्रांड के अनुरूप बंडल को अनुकूलित कर सकते हैं - सीएसएस टोकन, कस्टम घटक, स्व-होस्टिंग।

अगर Transpareo अब मौजूद नहीं रहा तो क्या होगा?

ईयू यह आवश्यक करता है कि एक पंजीकृत उत्पाद पासपोर्ट कम से कम दस वर्षों तक उपलब्ध रहे - जारीकर्ता के दिवालियापन या परिसमापन के बाद भी। एक SaaS प्रदाता शायद ही इतना लंबे समय तक व्यवसाय में रहता है। इसलिए हम शुरुआत से ही प्लेटफ़ॉर्म को इस तरह से बना रहे हैं कि उत्पाद पासपोर्ट हमसे स्वतंत्र रूप से उपयोगी बने रहें:

  • हर हस्ताक्षरित DPP संस्करण को एक सार्वजनिक रूप से सुलभ रिपॉजिटरी में संग्रहीत किया जाता है। डेटा, प्रकाशित सार्वजनिक कुंजियों के साथ, बाद के सत्यापन के लिए पर्याप्त है।
  • जैसे ही उत्पाद पासपोर्ट EU रजिस्टर के साथ पंजीकृत हो जाते हैं, एक दूसरा, केवल-पठन (read-only) भंडारण सिस्टम प्रत्येक DPP संस्करण और इवेंट लॉग को अगले दस वर्षों के लिए मिरर करता है। कोई भी - हम भी नहीं - इन मिरर कॉपीज़ को पूर्वव्यापी रूप से बदल नहीं सकता।
  • समाप्ति के बाद, छोटे उत्पाद पासपोर्ट URL Transpareo प्लेटफ़ॉर्म पर एक रीडायरेक्ट के माध्यम से सुलभ रहते हैं।
  • Transpareo Time Machine, संग्रहीत डेटा पर भी, बिना बदले चलती रहती है। बंडल रनटाइम पर हमें वापस कॉल नहीं करता; उसे केवल बाइट्स और कीज़ की आवश्यकता होती है।

यदि Transpareo प्लेटफ़ॉर्म कल गायब हो जाए, तो DPP संस्करण और ओपन-सोर्स रेंडरर बने रहेंगे।

तकनीक के बारे में जिज्ञासु लोगों के लिए

यहाँ बताया गया है कि पर्दे के पीछे क्या हो रहा है। यदि आपको विवरण जानने की आवश्यकता नहीं है, तो आप इस खंड को छोड़ सकते हैं - ऐप तब भी काम करेगा।

  • GS1 डिजिटल लिंक (ISO/IEC 18975): उत्पाद पासपोर्ट URL उत्पाद पहचानकर्ता को एक मानकीकृत प्रारूप में ले जाता है - रिज़ॉल्वर-तटस्थ और प्रदाताओं के बीच परस्पर विनिमय योग्य।
  • JSON कैनोनाइज़ेशन योजना (RFC 8785): एक निर्धारक सीरियलाइज़ेशन। यह सुनिश्चित करता है कि फ़ील्ड के क्रम या रिक्त स्थान (whitespace) की परवाह किए बिना हैश पुन: उत्पन्न करने योग्य रहे - कोई भी इसे स्वयं सत्यापित कर सकता है।
  • W3C डेटा अखंडता प्रमाण (eddsa-jcs-2022): मानकीकृत रूप (JCS) पर Ed25519 हस्ताक्षर।
  • /.well-known/dpp-keys/ (RFC 8615): जारीकर्ताओं की सार्वजनिक कुंजियाँ एक मानकीकृत पथ के अंतर्गत स्थित हैं - Transpareo से संपर्क करने की कोई आवश्यकता नहीं है; कोई भी सत्यापनकर्ता उन्हें स्वयं ढूंढ सकता है।

सब कुछ गिटहब पर README में प्रलेखित है - जिसमें फ्रंट-एंड आर्किटेक्चर (हमारा अपना रिएक्टिव कोर, कोई बाहरी फ्रेमवर्क नहीं) और स्व-होस्टिंग के लिए बिल्ड निर्देश शामिल हैं।

GitHub पर कोड देखें

आप सार्वजनिक रिपॉजिटरी में पूरा स्रोत कोड, सभी रिलीज़ और मुद्दे की चर्चा पा सकते हैं।