Vremenska mašina za DPP-ove

Zamislite da držite proizvod u ruci i skenirate QR kod na njemu. Umjesto PDF-a, otvara se mala aplikacija. Vidite proizvod onakav kakav jest sada: od čega je napravljen, odakle dolazi i što trebate imati na umu. Potegom se vraćate kroz vrijeme - možete pregledati svaku verziju koja je ikada objavljena.

Možete to isprobati odmah: demo⁠ prikazuje potpuni putovnik proizvoda s primjerima podataka.

Ovo je Transpareo Time Machine, naša open-source aplikacija za potrošače za bilo koji digitalni putovnik proizvoda. Kod je dostupan pod licencom GPL v3 na GitHubu⁠.

Radimo ga jer je EU regulativa o digitalnom putovnici proizvoda napisana za potrošače - za osobu koja drži proizvod u rukama. Većina pružatelja usluga pretvara ga u obrazac za usklađenost koji nitko nikada ne skenira dvaput. Mi ga pretvaramo u aplikaciju koju će potrošači doista otvoriti.

Što aplikacija radi

Četiri točke dodira iz perspektive osobe koja drži proizvod. Bez prijave, bez instalacije aplikacije.

1

Skeniraj

Skenirajte QR kod kamerom svog pametnog telefona. Aplikacija će se otvoriti u vašem pregledniku.

2

Pogledajte najnovije vijesti

Proizvod u ovdje i sada - komponente, materijali, podrijetlo, održavanje, recikliranje.

3

Pregledaj povijest

Jednim prevlačenjem vraćate se kroz vrijeme. Svaka prethodna verzija, s datumom i razlogom promjene.

4

Podijeli

Svaka verzija ima vlastitu poveznicu. Osoba dijeli određenu verziju s prijateljima ili vlastima.

Zašto uopće?

Uredba EU o digitalnom putovnici proizvoda predstavlja najveći pomak prema transparentnosti proizvoda u posljednjih nekoliko desetljeća. Ako se pažljivo pročitaju temeljni tekstovi, jasno je da su napisani imajući na umu potrošače. Nadležna tijela, reciklaži i servisi su uključeni; ali primarni korisnik je osoba koja drži proizvod u svojim rukama.

Što se tiče brojki, situacija je jasna. Do kraja desetljeća prosječno europsko kućanstvo moći će skenirati desetak do stotinjak putovnica proizvoda godišnje. Na temelju 200 milijuna kućanstava, to iznosi milijarde interakcija potrošača godišnje. U usporedbi, svijet vlasti i reciklera brojčano je neznatan.

Ako regulativa treba dosegnuti potrošače, platforma namijenjena potrošačima mora biti dobro dizajnirana - brza, privlačna i koherentna. Inače, neće ispuniti svoju svrhu. Odlučili smo izgraditi ovu platformu namijenjenu potrošačima kao softver otvorenog koda kako ne bi ovisila o jednom pružatelju usluga.

Testirano u pregledniku, a ne na našem poslužitelju.

Na vrhu svakog putovnice proizvoda pojavljuje se bedž: ‘Verificirano od strane Transpareo’. On prikazuje rezultat postupka verifikacije koji se ne odvija na našem poslužitelju, već u pregledniku posjetitelja - na temelju učitani bajtova i javnih ključeva proizvođača.

Svaku verziju DPP-a potpisuju dvije neovisne strane: proizvođač i Transpareo. Oba potpisa moraju biti provjerljiva da bi oznaka postala zelena. Uz model “Donesi svoj ključ” (BYOK), proizvođač upravlja vlastitim krajnjim čvorom za potpis - Transpareo nikada ne posjeduje privatni ključ i samo dodaje neovisni su-potpis. To stvara potpis izdavatelja koji Transpareo sam ne može generirati. Kompromitirani poslužitelj ne može krivotvoriti kvačicu jer provjera se odvija na posjetiteljevom vlastitom uređaju.

Ako želite saznati sve pojedinosti, kliknite na oznaku. Iza nje vidjet ćete lanac potpisa, hashove i povijest verzija u lancu. Ako samo želite informacije, jednostavno zanemarite ovo i nastavite čitati putovnicu proizvoda.

Ista provjera dostupna je i kao samostalna stranica: na stranici za provjeru DPP-a unesite URL manifesta bilo koje putovnice proizvoda i pogledajte cjelokupni rezultat provjere - bez otvaranja same putovnice.

Objavljujemo kod

Transpareo Time Machine licenciran je pod GPL v3 na GitHubu⁠. Kloniranje, forkiranje, samostalno hostanje - sve je dopušteno. Sve objavljene izmjene moraju biti licencirane pod GPL v3, kako bi i daljnji razvoj bio od koristi široj zajednici.

Tri načina za integraciju paketa:

  • Putem skriptnih oznaka: jednostavno dodajte <script> i <transpareo-time-machine src="…"> na svoju stranicu - to je sve; nije potreban korak izgradnje.
  • Putem npm-a: npm install transpareo-time-machine u vlastitu aplikaciju.
  • Samostalno hostanje: izradite paket, koristite vlastitu infrastrukturu, nulte ovisnosti o trećim stranama tijekom izvođenja.

Ako vam je potrebna samo provjera potpisa bez potpunog prikaza proizvoda, uvezite sestrinski element <dpp-verifier> - idealan za alate revizora. Pogledajte ga u akciji na stranici za provjeru DPP-a.

Oni koji učinkovito koriste aplikaciju

Aplikacija je prvenstveno namijenjena potrošačima. Međutim, može je koristiti svatko tko želi neovisno pregledati ili provjeriti podatke o proizvodu.

  • Krajnji potrošači mogu skenirati, pregledavati, pretraživati i dijeliti. Bez prijave, bez praćenja.
  • Tijela za nadzor tržišta i regulatorna tijela mogu pregledati putovnicu proizvoda u softveru čiji je izvorni kod javno provjerljiv.
  • Servisi za popravak i reciklaže mogu pregledati sastav materijala i upute za rastavljanje izravno na proizvodu.
  • Marki i operateri vilica mogu prilagoditi paket kako bi odgovarao njihovoj vlastitoj marki - CSS tokeni, prilagođene komponente, samostalno hostanje.

Što se događa ako Transpareo više ne postoji?

EU zahtijeva da registrirani putovnica proizvoda ostane dostupna najmanje deset godina - čak i nakon insolventnosti ili likvidacije proizvođača. Pružatelj SaaS usluga rijetko posluje toliko dugo. Stoga platformu od samog početka gradimo na način da putovnice proizvoda ostanu upotrebljive neovisno o nama:

  • Svaka potpisana verzija DPP-a pohranjuje se u javno dostupnom repozitoriju. Podaci, zajedno s objavljenim javnim ključevima, dovoljni su za naknadnu provjeru.
  • Nakon što su putovnice proizvoda registrirane u EU registru, druga lokacija za pohranu samo za čitanje duplicira svaku verziju DPP-a i dnevnik događaja na dodatnih deset godina. Nitko - pa čak ni mi - ne može retroaktivno mijenjati te duplicirane kopije.
  • Nakon prestanka rada, kratke URL-ove za putovnice proizvoda ostaju dostupne putem preusmjeravanja na platformi Transpareo.
  • Transpareo Time Machine nastavlja raditi nepromijenjeno, čak i na arhiviranim podacima. Paket nas ne poziva natrag tijekom izvođenja; potrebni su mu samo bajtovi i ključevi.

Kad bi Transpareo platforma sutra nestala, verzije DPP-a i renderer otvorenog koda ostali bi.

Za one koje zanima tehnologija

Evo što se događa ispod haube. Ako ne trebate znati detalje, možete preskočiti ovaj odjeljak - aplikacija će i dalje raditi.

  • GS1 Digital Link (ISO/IEC 18975): URL putovnice proizvoda sadrži identifikator proizvoda u standardiziranom formatu - neovisan o rješavaču i zamjenjiv između pružatelja usluga.
  • Shema kanonizacije JSON-a (RFC 8785): Deterministička serijalizacija. To osigurava da hash ostane reproducibilan bez obzira na redoslijed polja ili praznih znakova - svatko ga može samostalno provjeriti.
  • W3C dokazi o integritetu podataka (eddsa-jcs-2022): Ed25519 potpis nad kanoniziranim oblikom (JCS).
  • /.well-known/dpp-keys/ (RFC 8615): Javni ključevi izdavatelja nalaze se na standardiziranoj putanji - nema potrebe kontaktirati Transpareo; svaki provjeritelj može ih pronaći samostalno.

Sve je dokumentirano u README-u na GitHubu⁠ - uključujući arhitekturu front-enda (naše vlastito reaktivno jezgro, bez vanjskih okvira) i upute za izradu za samostalno hostanje.

Pogledajte kod na GitHubu

Možete pronaći cjeloviti izvorni kod, sve izdanja i raspravu o problemu u javnom repozitoriju.