Transpareo Time Machine
Aplikacja konsumencka o otwartym kodzie źródłowym przeznaczona dla każdego DPP, nie tylko dla kart Transpareo: skanuj, przeglądaj historię produktu, udostępniaj informacje o wersji. Wehikuł czasu dla DPP.
Wehikuł czasu dla DPP
Wyobraź sobie, że trzymasz w ręku produkt i skanujesz znajdujący się na nim kod QR. Zamiast pliku PDF otwiera się niewielka aplikacja. Widzisz produkt w czasie rzeczywistym: z czego jest zrobiony, skąd pochodzi, na co należy zwrócić uwagę. Jednym ruchem palca cofasz się w czasie - możesz obejrzeć każdą wersję, jaka kiedykolwiek została opublikowana.
To właśnie Transpareo Time Machine, nasza aplikacja konsumencka typu open source przeznaczona dla każdego cyfrowego paszportu produktu. Kod jest dostępny na licencji GPL v3 na GitHubie.
Tworzymy ją, ponieważ rozporządzenie UE w sprawie cyfrowego paszportu produktu zostało napisane z myślą o konsumentach - o osobie, która trzyma produkt w ręku. Większość dostawców traktuje to jako formularz zgodności, którego nikt nie przegląda dwa razy. My tworzymy z tego aplikację, którą konsument faktycznie otwiera.
Przekonajcie się sami
Przykładowe karty produktu są kompletne i zawierają fikcyjne dane: proszę przejrzeć historię wersji i otworzyć plakietkę kontrolną - bezpośrednio w przeglądarce, bez konieczności zakładania konta.
Jak działa ta aplikacja
Cztery punkty kontaktu z perspektywy osoby trzymającej produkt w dłoni. Bez logowania, bez instalowania aplikacji.
Skanowanie
Zeskanuj kod QR za pomocą aparatu w smartfonie. Aplikacja otworzy się w przeglądarce.
Zobacz aktualności
Produkt w teraźniejszości - składniki, materiały, pochodzenie, pielęgnacja, recykling.
Przeglądać historię
Jednym ruchem palca można cofnąć się w czasie. Każda poprzednia wersja wraz z datą i przyczyną zmiany.
Udostępnij
Każda wersja ma swój własny link. Użytkownik udostępnia konkretną wersję znajomym lub organom.
Po co w ogóle
Rozporządzenie UE w sprawie cyfrowego paszportu produktu stanowi największy krok w kierunku przejrzystości produktów od dziesięcioleci. Jeśli uważnie zapozna się z tekstami źródłowymi, widać, że zostało ono napisane wyraźnie z myślą o konsumentach. Władze, przedsiębiorstwa zajmujące się recyklingiem oraz warsztaty dostosowują się do tych zmian, jednak głównym adresatem jest osoba, która trzyma produkt w ręku.
Pod względem liczbowym sprawa jest jednoznaczna. Przeciętny europejski konsument będzie mógł pod koniec tej dekady skanować od kilkudziesięciu do kilkuset paszportów produktów rocznie. Przy 200 milionach gospodarstw domowych oznacza to miliardy interakcji z konsumentami rocznie. W porównaniu z tym skala działań organów administracji i podmiotów zajmujących się recyklingiem jest znikoma.
Jeśli rozporządzenie ma dotrzeć do konsumentów, strona dla konsumentów musi być dobrze zaprojektowana - szybka, estetyczna i spójna. W przeciwnym razie nie spełni swojego celu.
Zdecydowaliśmy się stworzyć tę stronę dla konsumentów w oparciu o oprogramowanie open source, aby nie była ona uzależniona od jednego dostawcy.
Przebieg wydarzeń jest z góry ustalony, manifest jest naszym dziełem
Dane w karcie produktu ulegają zmianie: naprawa, nowy wskaźnik zawartości materiałów pochodzących z recyklingu, wycofanie produktu z rynku. Wymogi wymagają zatem, aby wcześniejsze wersje pozostawały dostępne: norma dotycząca przechowywania danych zamraża każdą wersję, natomiast norma dotycząca interfejsów przewiduje, że każdą wersję można odczytać w sposób ukierunkowany. To, czego wymogi nie regulują, to element pośredni: lista łącząca wszystkie wersje karty w jedną historię. Transpareo publikuje ją dla każdego paszportu w formie manifestu, podpisanego, przy czym każda wersja jest powiązana z poprzednią za pomocą odcisku cyfrowego. W ten sposób „maszyna czasu” przegląda historię produktu, a czytelnik sprawdza nie tylko, czy dana wersja jest autentyczna, ale także czy stanowi aktualną część nieprzerwanej sekwencji.
Aplikacja nie jest jednak od tego uzależniona. Jeśli zamiast manifestu przedstawi się jej pojedynczy paszport, taki jak ten publikowany przez każdego dostawcę zgodnie z otwartymi standardami, wyświetli ona tę jedną wersję, sprawdzi jej podpis, o ile taki posiada, i po prostu pominie oś czasu. Paszport bez podpisu nie jest traktowany jako błąd, lecz jest po prostu wyświetlany bez pieczęci weryfikacyjnej. W ten sam sposób ta sama aplikacja wyświetla również paszporty, które nigdy nie były zarejestrowane w Transpareo.
Zmiana dostawcy bez przerw
Rozporządzenie UE w sprawie cyfrowego paszportu produktu nakłada wymóg, aby paszporty produktu były interoperacyjne i oparte na otwartych standardach - aby można je było przenosić między usługami i systemami, a nie były powiązane z jednym dostawcą. Niezależność od dostawcy usług nie jest zatem elementem dodatkowym, lecz stanowi część wymogów.
Transpareo Time Machine to rozwiązanie, które konkretnie realizuje ten wymóg. Ponieważ każdy paszport produktu jest dostarczany w oparciu o otwarte standardy - identyfikacja niezależna od resolvera, kanoniczna serializacja, publicznie udostępnione klucze - a renderer jest oprogramowaniem open source na licencji GPL v3, sposób wyświetlania paszportu nigdy nie zależy od naszej platformy.
Odpowiedzialność za paszport produktu spoczywa na podmiocie gospodarczym - producencie, importerze lub upoważnionym przedstawicielu. Jeśli zdecyduje się on odejść od Transpareo i przejść do innego dostawcy, sposób prezentacji pozostaje niezmieniony: ten sam renderer na licencji open source nadal wyświetla bez zmian już opublikowane wersje wraz z historią, a nowy dostawca, który stosuje te same otwarte standardy, jest wyświetlany dokładnie przez tę samą aplikację.
Dane są przenoszone wraz z paszportem, konsumenci nie dostrzegają żadnej przerwy, a nikt nie musi czekać na migrację.
Samo przeniesienie nie stanowi projektu. Transpareo Time Machine to statyczny pakiet: wystarczy go raz skompilować, skopiować na dowolny serwer internetowy i gotowe. Układ graficzny, który skonfigurowali Państwo w Transpareo dla swoich paszportów, jest przekazywany wraz z każdym paszportem jako opublikowany arkusz stylów. Widok paszportu, do którego przyzwyczaili się Państwa klienci, wygląda zatem na Państwa własnym serwerze dokładnie tak samo, łącznie z kolorami, czcionką i logo.
Sprawdzono w przeglądarce, a nie na naszym serwerze
W górnej części każdego certyfikatu produktu pojawia się plakietka: „Zweryfikowano przez Transpareo”. Przedstawia ona wynik weryfikacji, która nie odbywa się na naszym serwerze, lecz w przeglądarce użytkownika - na podstawie pobranych bajtów oraz kluczy publicznych wystawcy.
Każdą wersję DPP podpisują dwie niezależne od siebie podmioty: wystawca oraz Transpareo. Aby plakietka zmieniła kolor na zielony, oba podpisy muszą być możliwe do zweryfikowania. W ramach rozwiązania „Bring Your Own Key” (BYOK) wystawca obsługuje własny punkt końcowy do podpisywania - firma Transpareo nigdy nie przechowuje klucza prywatnego, a jedynie dodaje niezależny podpis potwierdzający. W ten sposób powstaje podpis wystawcy, którego sama firma Transpareo nie jest w stanie wygenerować.
Zhakowany serwer nie może sfałszować zaznaczenia, ponieważ weryfikacja odbywa się po stronie samego użytkownika.
Osoby pragnące uzyskać szczegółowe informacje mogą kliknąć na plakietkę. Znajdą tam Państwo łańcuch podpisów, skróty oraz łańcuchową historię wersji. Osoby, które chcą uzyskać jedynie informacje, mogą to po prostu zignorować i kontynuować czytanie paszportu produktu.
Ta sama weryfikacja jest również dostępna na oddzielnej stronie: pod adresem Weryfikacja DPP należy wpisać adres URL manifestu dowolnego paszportu produktu, aby wyświetlić pełny wynik weryfikacji - bez konieczności otwierania samego paszportu.
Udostępniamy ten kod
Transpareo Time Machine jest udostępniony na licencji GPL v3 na GitHubie. Opublikowane modyfikacje muszą być z kolei udostępnione na licencji GPL v3, aby każdy dalszy rozwój służył ogółowi społeczeństwa.
Klonowanie, tworzenie forków, samodzielne hostowanie - wszystko jest dozwolone.
Sposób wdrożenia aplikacji - czy to za pomocą jednego wiersza kodu na stronie, jako pakiet w Państwa własnej aplikacji, czy też w całości hostowanej samodzielnie - opisano w pliku README dostępnym pod tym adresem. Znajdą Państwo tam również powiązany komponent służący wyłącznie do weryfikacji podpisów, który działa na żywo pod adresem Weryfikacja DPP.
Kto korzysta z aplikacji w rozsądny sposób
Aplikacja została stworzona przede wszystkim z myślą o konsumentach. Działa jednak dla wszystkich, którzy chcą samodzielnie przeglądać lub weryfikować dane dotyczące produktów.
- Konsumenci końcowi skanują, przeglądają, przewijają i udostępniają. Bez logowania, bez trackerów.
- Organy nadzoru rynku i instytucje państwowe mają wgląd w paszport produktu w oprogramowaniu, którego kod źródłowy podlega publicznej kontroli.
- Warsztaty i firmy zajmujące się recyklingiem mają wgląd w skład materiałowy oraz wskazówki dotyczące demontażu bezpośrednio na produkcie.
- Marki i operatorzy platform Fork dostosowują pakiet do własnej marki - tokeny CSS, własne komponenty, samodzielny hosting.
Co się stanie, jeśli Transpareo przestanie istnieć?
UE wymaga, aby zarejestrowany paszport produktu pozostawał dostępny przez co najmniej dziesięć lat - nawet po ogłoszeniu upadłości lub likwidacji wystawcy. Dostawca usług SaaS rzadko działa tak długo. Dlatego od samego początku budujemy platformę w taki sposób, aby paszporty produktu pozostawały dostępne niezależnie od nas:
- Każda podpisana wersja DPP znajduje się w publicznie dostępnej pamięci. Bajty wraz z opublikowanymi kluczami publicznymi wystarczają do późniejszej weryfikacji.
- Gdy tylko paszporty produktu zostaną zarejestrowane w rejestrze UE, druga, chroniona przed zapisem pamięć przechowuje kopię każdej wersji DPP oraz dziennik zdarzeń przez dodatkowe dziesięć lat. Nikt - nawet my - nie może później modyfikować tych kopii lustrzanych.
- Po wypowiedzeniu umowy krótkie adresy URL paszportów produktu pozostają dostępne poprzez przekierowanie na platformie Transpareo.
- Transpareo Time Machine działa bez zmian również w odniesieniu do zarchiwizowanych zasobów. Pakiet nie nawiązuje z nami połączenia w czasie wykonywania; potrzebuje jedynie bajtów i kluczy.
Gdyby platforma Transpareo zniknęła jutro, pozostałyby wersje DPP oraz renderer na licencji open source.
Dla osób zainteresowanych technologią
Oto, co dzieje się „pod maską”. Jeśli nie musisz znać szczegółów, możesz pominąć tę sekcję - aplikacja będzie działać również bez tego.
- GS1 Digital Link (ISO/IEC 18975): Adres URL karty produktu zawiera identyfikator produktu w standardowej formie - niezależnej od resolvera i wymienne między dostawcami.
- Schemat kanonizacji JSON (RFC 8785): Deterministyczna serializacja. Dzięki temu skrót pozostaje odtwarzalny niezależnie od kolejności pól lub spacji - każdy może go samodzielnie obliczyć.
- W3C Data Integrity Proofs (eddsa-jcs-2022): Podpis Ed25519 nad formą kanonizowaną (JCS).
- /.well-known/dpp-keys/ (RFC 8615): Klucze publiczne wystawców znajdują się pod ustandaryzowaną ścieżką - nie ma potrzeby kontaktowania się z Transpareo, każdy weryfikator może je samodzielnie znaleźć.
Wszystko jest udokumentowane w pliku README na GitHubie - łącznie z architekturą frontendu (własny rdzeń reaktywny, brak zewnętrznych frameworków) oraz instrukcją kompilacji do samodzielnego hostingu.
Tematy powiązane
Transpareo Time Machine stanowi część szerszego przedsięwzięcia mającego na celu zapewnienie niezależnej weryfikacji cyfrowych paszportów produktów.

Rejestr DPP UE: co przewiduje projekt Komisji z 29 kwietnia
Rejestr UE jest wykazem, a nie kopią Państwa danych. To Państwo sami wprowadzają dane, a rejestr zapamiętuje adres i odcisk palca.

Wyraź swoją opinię: Co napisaliśmy do Komisji Europejskiej w sprawie rozporządzenia dotyczącego rejestru DPP
Na stole leżał projekt ustawy i każdy mógł wnieść do niego swoje uwagi. Zrobiliśmy to cztery razy, odnosząc się do czterech kwestii, które jako pierwsze budzą zastrzeżenia producentów.
Zobacz kod na GitHubie
Pełny kod źródłowy, wszystkie wersje oraz dyskusję na temat zgłoszenia można znaleźć w publicznym repozytorium.






