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

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

आप इसे अभी आज़मा सकते हैं: डेमो⁠ नमूना डेटा के साथ एक पूरा उत्पाद पासपोर्ट दिखाता है।

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

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

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

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

1

स्कैन करें

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

2

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

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

3

इतिहास देखें

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

4

साझा करें

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

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

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

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

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

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

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

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

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

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

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

ट्रांसपेरियो टाइम मशीन GPL v3 ऑन गिटहब⁠ के तहत लाइसेंस प्राप्त है। क्लोनिंग, फोकिंग, सेल्फ-होस्टिंग - सभी की अनुमति है। किसी भी प्रकाशित संशोधन को बदले में GPL v3 के तहत लाइसेंस प्राप्त होना चाहिए, ताकि कोई भी आगे का विकास व्यापक समुदाय को लाभान्वित करे।

बंडल को एकीकृत करने के तीन तरीके:

  • स्क्रिप्ट टैग के माध्यम से: बस अपने पेज में <script> और <transpareo-time-machine src="…"> जोड़ें - बस हो गया; किसी बिल्ड चरण की आवश्यकता नहीं है।
  • npm के माध्यम से: अपने ऐप में npm install transpareo-time-machine
  • स्व-होस्टिंग: बंडल को बिल्ड करें, अपने स्वयं के इंफ्रास्ट्रक्चर का उपयोग करें, रनटाइम पर शून्य थर्ड-पार्टी निर्भरताएँ।

यदि आपको पूर्ण उत्पाद दृश्य के बिना केवल हस्ताक्षर सत्यापन की आवश्यकता है, तो बहन एलिमेंट <dpp-verifier> को इम्पोर्ट करें - यह ऑडिटर टूल के लिए आदर्श है। इसे DPP सत्यापन पृष्ठ पर क्रियाशील देखें।

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

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

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

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

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

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

यदि ट्रांसपेरियो प्लेटफ़ॉर्म कल गायब हो जाए, तो 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 पर कोड देखें

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