Transpareo Time Machine
Εφαρμογή ανοιχτού κώδικα για καταναλωτές, συμβατή με κάθε DPP, όχι μόνο με τις κάρτες Transpareo: σάρωση, περιήγηση στο ιστορικό του προϊόντος, κοινοποίηση της έκδοσης. Μια μηχανή του χρόνου για τα DPP.
Μια μηχανή του χρόνου για τα DPP
Φανταστείτε ότι κρατάτε ένα προϊόν στο χέρι σας και σαρώνετε τον κωδικό QR που φέρει. Αντί για ένα αρχείο PDF, ανοίγει μια μικρή εφαρμογή. Βλέπετε το προϊόν όπως είναι σήμερα: από τι αποτελείται, από πού προέρχεται, τι πρέπει να προσέξετε. Με μια κίνηση σάρωσης γυρίζετε πίσω στο χρόνο - μπορείτε να δείτε κάθε έκδοση που έχει κυκλοφορήσει ποτέ.
Αυτή είναι η Transpareo Time Machine, η εφαρμογή ανοιχτού κώδικα για καταναλωτές που υποστηρίζει κάθε ψηφιακό διαβατήριο προϊόντος. Ο κώδικας διατίθεται υπό την άδεια GPL v3 στο GitHub.
Την αναπτύσσουμε επειδή ο κανονισμός της ΕΕ για το Ψηφιακό Δελτίο Προϊόντος γράφτηκε για τους καταναλωτές - για το άτομο που κρατά το προϊόν στα χέρια του. Οι περισσότεροι πάροχοι το μετατρέπουν σε ένα έντυπο συμμόρφωσης που κανείς δεν σκανάρει δεύτερη φορά. Εμείς το μετατρέπουμε σε μια εφαρμογή που ο καταναλωτής θα ανοίξει.
Δείτε και μόνοι σας
Η επίδειξη παρουσιάζει πλήρη δελτία προϊόντων με δείγματα δεδομένων: Περιηγηθείτε στο ιστορικό εκδόσεων και ανοίξτε την ετικέτα πιστοποίησης - απευθείας στον περιηγητή, χωρίς να χρειαστεί να δημιουργήσετε λογαριασμό.
Τι κάνει η εφαρμογή
Τέσσερα σημεία επαφής από τη σκοπιά του ατόμου που κρατά το προϊόν στα χέρια του. Χωρίς σύνδεση, χωρίς εγκατάσταση εφαρμογής.
Σάρωση
Σαρώστε τον κωδικό QR με την κάμερα του smartphone σας. Η εφαρμογή θα ανοίξει στον περιηγητή.
Δείτε τα τελευταία νέα
Το προϊόν παρουσιάζεται στο «Τώρα» - συστατικά, υλικά, προέλευση, φροντίδα, ανακύκλωση.
Περιήγηση στην ιστορία
Με μια κίνηση σάρωσης γυρίζεις πίσω στο χρόνο. Κάθε προηγούμενη έκδοση με την ημερομηνία και το λόγο της αλλαγής.
Κοινοποίηση
Κάθε έκδοση διαθέτει τον δικό της σύνδεσμο. Ένα άτομο μοιράζεται μια συγκεκριμένη έκδοση με φίλους ή αρμόδιες αρχές.
Γιατί, άλλωστε;
Ο κανονισμός της ΕΕ για το ψηφιακό διαβατήριο προϊόντος αποτελεί τη μεγαλύτερη αλλαγή προς την κατεύθυνση της διαφάνειας των προϊόντων εδώ και δεκαετίες. Αν διαβάσει κανείς προσεκτικά τα σχετικά κείμενα, θα διαπιστώσει ότι έχει συνταχθεί ρητά για τους καταναλωτές. Οι αρχές, οι εταιρείες ανακύκλωσης και τα συνεργεία ακολουθούν την τάση, αλλά ο πρωταρχικός αποδέκτης είναι το άτομο που κρατά το προϊόν στα χέρια του.
Από αριθμητική άποψη, το θέμα είναι σαφές. Ένας μέσος Ευρωπαίος ιδιώτης θα μπορεί, μέχρι το τέλος της δεκαετίας, να σαρώνει δεκάδες έως εκατοντάδες διαβατήρια προϊόντων ετησίως. Υπολογιζόμενο σε 200 εκατομμύρια νοικοκυριά, αυτό σημαίνει δισεκατομμύρια αλληλεπιδράσεις με τους καταναλωτές ετησίως. Ο κόσμος των αρχών και των εταιρειών ανακύκλωσης είναι, σε σύγκριση, αριθμητικά αμελητέος.
Αν ο κανονισμός πρόκειται να φτάσει στον καταναλωτή, τότε η ιστοσελίδα για τους καταναλωτές πρέπει να είναι καλά σχεδιασμένη - γρήγορη, ελκυστική, συνεκτική. Διαφορετικά, δεν θα επιτύχει τον σκοπό της.
Αποφασίσαμε να δημιουργήσουμε αυτή την ιστοσελίδα για τους καταναλωτές με ανοιχτό κώδικα, ώστε να μην εξαρτάται από έναν μεμονωμένο πάροχο.
Η πορεία είναι ο κανόνας, το μανιφέστο είναι δικό μας
Ένα δελτίο προϊόντος αλλάζει: μια επισκευή, ένα νέο ποσοστό ανακύκλωσης, μια ανάκληση. Οι προδιαγραφές απαιτούν, επομένως, οι προηγούμενες εκδόσεις να παραμένουν προσβάσιμες: το πρότυπο αποθήκευσης «παγώνει» κάθε έκδοση, ενώ το πρότυπο για τις διεπαφές προβλέπει ότι κάθε έκδοση μπορεί να αναγνωστεί ξεχωριστά. Αυτό που οι προδιαγραφές αφήνουν ανοιχτό είναι το κενό μεταξύ τους: ένας κατάλογος που συνδέει όλες τις εκδόσεις ενός δελτίου σε ένα ιστορικό. Η Transpareo τη δημοσιεύει για κάθε δελτίο ως μανιφέστο, υπογεγραμμένο, με κάθε έκδοση να συνδέεται με την προηγούμενη μέσω δακτυλικού αποτυπώματος. Έτσι, η «μηχανή του χρόνου» ξεφυλλίζει την ιστορία ενός προϊόντος, και ο αναγνώστης δεν ελέγχει μόνο αν μια έκδοση είναι γνήσια, αλλά και αν αποτελεί την τρέχουσα έκδοση μιας αδιάσπαστης ακολουθίας.
Η εφαρμογή, όμως, δεν εμμένει σε αυτό. Αν της παρουσιάσει κανείς, αντί του μανιφέστου, ένα μεμονωμένο πάσο, όπως το δημοσιεύει κάθε πάροχος σύμφωνα με τα ανοιχτά πρότυπα, η εφαρμογή εμφανίζει αυτή τη συγκεκριμένη έκδοση, ελέγχει την υπογραφή της, αν φέρει κάποια, και απλώς παραλείπει το χρονοδιάγραμμα. Ένα πιστοποιητικό χωρίς υπογραφή δεν θεωρείται σφάλμα, αλλά απλώς εμφανίζεται χωρίς σφραγίδα επαλήθευσης. Με τον ίδιο τρόπο , η ίδια εφαρμογή εμφανίζει και πιστοποιητικά που δεν έχουν καταχωρηθεί ποτέ στο Transpareo.
Αλλαγή παρόχου χωρίς διακοπή
Ο κανονισμός της ΕΕ για το ψηφιακό διαβατήριο προϊόντος απαιτεί διαβατήρια προϊόντων που να είναι διαλειτουργικά και να βασίζονται σε ανοιχτά πρότυπα - να μπορούν να μεταφέρονται μεταξύ υπηρεσιών και συστημάτων, αντί να συνδέονται με έναν μόνο πάροχο. Η ανεξαρτησία από τον πάροχο υπηρεσιών δεν αποτελεί, λοιπόν, ένα πρόσθετο στοιχείο, αλλά μέρος της προδιαγραφής.
Το Transpareo Time Machine είναι το εργαλείο που υλοποιεί συγκεκριμένα αυτή την απαίτηση. Επειδή κάθε διαβατήριο προϊόντος παραδίδεται σύμφωνα με ανοιχτά πρότυπα - ταυτοποίηση ανεξάρτητη από τον επιλυτή, κανονική σειριοποίηση, δημόσια δημοσιευμένα κλειδιά - και ο renderer διατίθεται ως ανοιχτό λογισμικό υπό την άδεια GPL v3, η απεικόνιση ενός διαβατηρίου δεν εξαρτάται ποτέ από την πλατφόρμα μας.
Υπεύθυνος για ένα πιστοποιητικό προϊόντος είναι ένας οικονομικός φορέας - ο κατασκευαστής, ένας εισαγωγέας ή ένας εξουσιοδοτημένος αντιπρόσωπος. Αν αποφασίσει να αποχωρήσει από το Transpareo και να μεταβεί σε άλλο πάροχο, η απεικόνιση παραμένει σταθερή: ο ίδιος ανοιχτού κώδικα renderer συνεχίζει να εμφανίζει αμετάβλητα τις ήδη δημοσιευμένες εκδόσεις μαζί με το ιστορικό, ενώ ένας νέος πάροχος που χρησιμοποιεί τα ίδια ανοιχτά πρότυπα θα εμφανίζεται από την ίδια ακριβώς εφαρμογή.
Τα δεδομένα μεταφέρονται μαζί, οι καταναλωτές δεν παρατηρούν καμία διακοπή και κανείς δεν χρειάζεται να περιμένει τη μετεγκατάσταση.
Η ίδια η μετεγκατάσταση δεν αποτελεί έργο. Το Transpareo Time Machine είναι ένα στατικό πακέτο: αφού δημιουργηθεί μία φορά, αντιγράφεται σε οποιονδήποτε διακομιστή ιστού και τελειώσαμε. Η σχεδίαση που έχετε ρυθμίσει στο Transpareo για τα «Pass» σας μεταφέρεται ως δημοσιευμένο φύλλο στυλ μαζί με κάθε «Pass». Η προβολή του «Pass», στην οποία έχουν συνηθίσει οι πελάτες σας, εμφανίζεται λοιπόν ακριβώς το ίδιο στον δικό σας διακομιστή, συμπεριλαμβανομένων των χρωμάτων, της γραμματοσειράς και του λογότυπου.
Ελέγχθηκε στον περιηγητή, όχι στον διακομιστή μας
Στο πάνω μέρος κάθε δελτίου προϊόντος εμφανίζεται μια ετικέτα: «Επαληθευμένο από την Transpareo». Αυτή δείχνει το αποτέλεσμα ενός ελέγχου που δεν πραγματοποιείται στον διακομιστή μας, αλλά στον περιηγητή του επισκέπτη - με βάση τα φορτωμένα byte και τα δημόσια κλειδιά του εκδότη.
Δύο ανεξάρτητοι φορείς υπογράφουν κάθε έκδοση DPP: ο εκδότης και η Transpareo. Και οι δύο υπογραφές πρέπει να είναι επαληθεύσιμες, ώστε η ετικέτα να γίνει πράσινη. Με το «Bring Your Own Key» (BYOK), ο εκδότης διαχειρίζεται το δικό του τερματικό υπογραφής - η Transpareo δεν κατέχει ποτέ το ιδιωτικό κλειδί και προσθέτει μόνο την ανεξάρτητη αντί-υπογραφή. Έτσι δημιουργείται μια υπογραφή εκδότη, την οποία η ίδια η Transpareo δεν μπορεί να δημιουργήσει.
Ένας παραβιασμένος διακομιστής δεν μπορεί να πλαστογραφήσει το τικ, καθώς ο έλεγχος πραγματοποιείται στον ίδιο τον επισκέπτη.
Όποιος θέλει να μάθει τις λεπτομέρειες, κάνει κλικ στο σήμα. Πίσω από αυτό θα δείτε την αλυσίδα υπογραφών, τα hash και το αλυσιδωτό ιστορικό εκδόσεων. Όποιος θέλει μόνο την πληροφορία, απλώς το αγνοεί και συνεχίζει να διαβάζει το δελτίο προϊόντος.
Ο ίδιος έλεγχος διατίθεται και ως αυτόνομη σελίδα: Στη διεύθυνση Επαλήθευση DPP εισάγετε τη διεύθυνση URL του manifest οποιουδήποτε δελτίου προϊόντος και βλέπετε το πλήρες αποτέλεσμα του ελέγχου - χωρίς να ανοίξετε το ίδιο το δελτίο.
Δημοσιεύουμε τον κώδικα
Το Transpareo Time Machine διατίθεται υπό την άδεια GPL v3 στο GitHub. Οι δημοσιευμένες τροποποιήσεις πρέπει με τη σειρά τους να διατίθενται υπό την άδεια GPL v3, ώστε κάθε περαιτέρω ανάπτυξη να εξυπηρετεί το κοινό καλό.
Κλωνοποίηση, διακλάδωση, φιλοξενία από εσάς - όλα επιτρέπονται.
Ο τρόπος ενσωμάτωσης της εφαρμογής, είτε με μια γραμμή κώδικα στη σελίδα, είτε ως πακέτο στη δική σας εφαρμογή, είτε με πλήρη φιλοξενία από εσάς, περιγράφεται στο README που βρίσκεται εκεί. Εκεί θα βρείτε επίσης το αντίστοιχο στοιχείο για τον απλό έλεγχο υπογραφών, το οποίο λειτουργεί ζωντανά στη διεύθυνση Επαλήθευση DPP.
Όσοι χρησιμοποιούν την εφαρμογή με σύνεση
Η εφαρμογή έχει σχεδιαστεί αρχικά για τους καταναλωτές. Ωστόσο, είναι κατάλληλη για όλους όσους επιθυμούν να δουν ή να επαληθεύσουν τα στοιχεία ενός προϊόντος ανεξάρτητα.
- Οι τελικοί καταναλωτές σαρώνουν, βλέπουν, περιηγούνται, μοιράζονται. Χωρίς σύνδεση, χωρίς ιχνηλάτες.
- Οι αρχές εποπτείας της αγοράς και οι αρμόδιες υπηρεσίες βλέπουν το «διαβατήριο προϊόντος» σε ένα λογισμικό του οποίου ο πηγαίος κώδικας υπόκειται σε δημόσιο έλεγχο.
- Τα συνεργεία και οι εταιρείες ανακύκλωσης βλέπουν τη σύνθεση των υλικών και τις οδηγίες αποσυναρμολόγησης απευθείας στο προϊόν.
- Οι μάρκες και οι διαχειριστές πλατφορμών προσαρμόζουν το πακέτο στη δική τους μάρκα - CSS-Tokens, δικά τους στοιχεία, αυτο-φιλοξενία.
Τι θα συμβεί αν η Transpareo δεν υπάρχει πια
Η ΕΕ απαιτεί ένα καταχωρημένο διαβατήριο προϊόντος να παραμένει διαθέσιμο για τουλάχιστον δέκα χρόνια - ακόμη και μετά την πτώχευση ή την εκκαθάριση του εκδότη. Ένας πάροχος SaaS σπάνια διαρκεί τόσο πολύ. Γι’ αυτό και σχεδιάζουμε την πλατφόρμα από την αρχή έτσι ώστε τα διαβατήρια προϊόντων να παραμένουν χρησιμοποιήσιμα ανεξάρτητα από εμάς:
- Κάθε υπογεγραμμένη έκδοση DPP αποθηκεύεται σε έναν αποθηκευτικό χώρο με δημόσια πρόσβαση. Τα byte καθώς και τα δημοσιευμένα δημόσια κλειδιά αρκούν για μετέπειτα επαλήθευση.
- Μόλις τα πιστοποιητικά προϊόντος καταχωρηθούν στο μητρώο της ΕΕ, ένας δεύτερος χώρος αποθήκευσης με προστασία από εγγραφή αποθηκεύει κάθε έκδοση του DPP και το αρχείο καταγραφής συμβάντων για επιπλέον δέκα χρόνια. Κανείς - ούτε καν εμείς - δεν μπορεί να τροποποιήσει εκ των υστέρων αυτά τα αντίγραφα.
- Μετά από μια καταγγελία, οι σύντομες διευθύνσεις URL των δελτίων προϊόντος παραμένουν προσβάσιμες μέσω ανακατεύθυνσης στην πλατφόρμα Transpareo.
- Το Transpareo Time Machine λειτουργεί κανονικά και με αρχειοθετημένα δεδομένα. Το πακέτο δεν μας καλεί κατά την εκτέλεση· χρειάζεται μόνο τα byte και τα κλειδιά.
Αν η πλατφόρμα Transpareo εξαφανιζόταν αύριο, θα παρέμεναν οι εκδόσεις του DPP και ο ανοιχτού κώδικα renderer.
Για όσους ενδιαφέρονται για την τεχνολογία
Αυτό είναι που συμβαίνει «κάτω από το καπό». Όσοι δεν χρειάζεται να το γνωρίζουν λεπτομερώς, μπορούν να παραλείψουν αυτή την ενότητα - η εφαρμογή θα λειτουργεί κανονικά και χωρίς αυτό.
- GS1 Digital Link (ISO/IEC 18975): Η διεύθυνση URL του «Product Pass» περιέχει τον κωδικό αναγνώρισης του προϊόντος σε τυποποιημένη μορφή - ανεξάρτητη από τον διαμεσολαβητή, εναλλάξιμη μεταξύ παρόχων.
- JSON Canonicalization Scheme (RFC 8785): Μια ντετερμινιστική σειριοποίηση. Έτσι, ο κατακερματισμός παραμένει αναπαραγώγιμος ανεξάρτητα από τη σειρά των πεδίων ή τα κενά - ο καθένας μπορεί να τον υπολογίσει μόνος του.
- W3C Data Integrity Proofs (eddsa-jcs-2022): Υπογραφή Ed25519 πάνω στην κανονικοποιημένη μορφή (JCS).
- /.well-known/dpp-keys/ (RFC 8615): Τα δημόσια κλειδιά των εκδοτών βρίσκονται σε μια τυποποιημένη διαδρομή - δεν απαιτείται κλήση προς την Transpareo, κάθε επαληθευτής τα εντοπίζει μόνος του.
Όλα τεκμηριώνονται στο README στο GitHub - συμπεριλαμβανομένης της αρχιτεκτονικής του frontend (δικός μας πυρήνας React, χωρίς εξωτερικά frameworks) και των οδηγιών δημιουργίας για αυτοφιλοξενία.
Σχετικά θέματα
Το Transpareo Time Machine αποτελεί το τμήμα που απευθύνεται στους καταναλωτές στο πλαίσιο μιας ευρύτερης προσπάθειας να καταστούν τα ψηφιακά διαβατήρια προϊόντων ανεξάρτητα επαληθεύσιμα.

Μητρώο EU-DPP: τι προβλέπει το σχέδιο της Επιτροπής της 29ης Απριλίου
Το μητρώο της ΕΕ είναι ένας κατάλογος, όχι αντίγραφο των δεδομένων σας. Εσείς οι ίδιοι καταχωρείτε τα στοιχεία σας, ενώ το μητρώο αποθηκεύει τη διεύθυνση και τα δακτυλικά αποτυπώματα.

Have Your Say: Τι γράψαμε στην Ευρωπαϊκή Επιτροπή σχετικά με τον κανονισμό για το μητρώο DPP
Ένα σχέδιο νόμου βρισκόταν πάνω στο τραπέζι και ο καθένας μπορούσε να γράψει τις παρατηρήσεις του. Το κάναμε, τέσσερις φορές, σχετικά με τα τέσσερα σημεία στα οποία ένας κατασκευαστής αντιδρά αρχικά.
Δείτε τον κώδικα στο GitHub
Μπορείτε να βρείτε τον πλήρη πηγαίο κώδικα, όλες τις εκδόσεις και τη συζήτηση για το ζήτημα στο δημόσιο αποθετήριο.






