Laika mašīna DPP

Iedomājieties, ka turat rokā kādu produktu un nolasāt uz tā esošo QR kodu. Tā vietā, lai atvērtos PDF fails, parādās neliela lietotne. Jūs redzat produktu šajā brīdī: no kā tas sastāv, no kurienes tas nāk, kas jāņem vērā. Ar vienu pavelcienu varat pārlūkot pagātni - var apskatīt katru versiju, kas jebkad ir publicēta.

Tieši to jūs tagad varat izmēģināt: demo versija⁠ parāda pilnīgu produkta pasi ar paraugdatiem.

Tas ir „Transpareo Time Machine” - mūsu atvērtā koda lietotāju lietotne jebkurai digitālajai produkta pasei. Kods ir pieejams saskaņā ar GPL v3 licencē GitHub⁠.

Mēs to izstrādājam, jo ES regula par digitālo produktu pasi ir rakstīta patērētājiem - personai, kas tur produktu rokās. Lielākā daļa piegādātāju to pārvērš par atbilstības veidlapu, kuru neviens neieskenē divreiz. Mēs to pārvēršam par lietotni, kuru patērētājs arī atver.

Kā darbojas šī lietotne

Četri saskares punkti no tā cilvēka viedokļa, kurš tur produktu rokās. Nav nepieciešama pieteikšanās, nav jāinstalē lietotne.

1

Skenēšana

Nolasiet QR kodu ar viedtālruņa kameru. Lietotne atvērsies pārlūkprogrammā.

2

Apskatīt jaunumus

Produkts parādās tagad - sastāvdaļas, materiāli, izcelsme, kopšana, pārstrāde.

3

Pārlapot vēsturi

Ar vienu pavelcienu var pārlūkot iepriekšējās versijas. Katra iepriekšējā versija ir norādīta ar datumu un izmaiņu iemeslu.

4

Dalīties

Katrai versijai ir sava saite. Lietotājs dalās ar konkrētu versiju ar draugiem vai iestādēm.

Kāpēc vispār

ES regula par digitālo produktu pasi ir lielākā virzība uz produktu pārredzamību pēdējo desmitgažu laikā. Ja uzmanīgi izlasa tās pamattekstus, redzams, ka tā ir skaidri paredzēta patērētājiem. Iestādes, pārstrādātāji un darbnīcas iesaistās šajā procesā, taču galvenais adresāts ir persona, kas tur produktu rokās.

Skaitļos izteikts, situācija ir nepārprotama. Vidusmēra Eiropas iedzīvotājs šīs desmitgades beigās gadā varēs ieskenēt desmitiem vai pat simtiem produktu pasu. Aprēķinot uz 200 miljoniem mājsaimniecību, tas nozīmē miljardiem patērētāju mijiedarbību gadā. Salīdzinājumā ar to iestāžu un pārstrādātāju darbība skaitliski ir niecīga.

Ja regula ir jāievieš patērētāju vidū, tad patērētāju portālam jābūt labi izstrādātam - ātram, pievilcīgam un loģiskam. Pretējā gadījumā tā neizpildīs savu mērķi. Mēs esam nolēmuši izveidot šo patērētāju portālu kā atvērtā koda risinājumu, lai tas nebūtu atkarīgs no viena konkrēta pakalpojuma sniedzēja.

Pārbaudīts pārlūkprogrammā, nevis mūsu serverī

Katras produkta kartes augšdaļā parādās plāksnīte: „Pārbaudīts ar Transpareo”. Tā atspoguļo pārbaudes rezultātu, kas notiek nevis mūsu serverī, bet gan apmeklētāja pārlūkprogrammā - izmantojot lejupielādētos baitus un ražotāja publiskos atslēgas.

Katru DPP versiju paraksta divas savstarpēji neatkarīgas puses: ražotājs un „Transpareo“. Abiem parakstiem jābūt pārbaudāmiem, lai plāksnīte kļūtu zaļa. Izmantojot „Bring Your Own Key“ (BYOK) principu, ražotājs uztur savu paraksta galapunktu - „Transpareo“ nekad neuzglabā privāto atslēgu un tikai pievieno neatkarīgo pretparakstu. Tādējādi rodas izdevēja paraksts, ko „Transpareo“ pats nevar izveidot. Kompromitēts serveris nevar viltot atzīmi, jo pārbaude notiek pie paša apmeklētāja.

Ja vēlaties uzzināt sīkāku informāciju, noklikšķiniet uz plāksnītes. Aiz tās redzēsiet paraksta ķēdi, hašus un saistīto versiju vēsturi. Ja vēlaties tikai informāciju, vienkārši ignorējiet to un turpiniet lasīt produkta pasi.

Šī pati pārbaude ir pieejama arī kā atsevišķa lapa: DPP verifikācijas lapā ievadiet jebkuras produkta pases manifestu URL un redzēsiet pilnus pārbaudes rezultātus - neatraujot pašu pasi.

Mēs publiskojam kodu

Transpareo Time Machine ir pieejams saskaņā ar GPL v3 GitHub vietnē⁠. Klonēšana, atzarojumu veidošana, pašam hostēšana - viss ir atļauts. Publicētās modifikācijas savukārt ir jāizplata saskaņā ar GPL v3, lai ikviena tālākā attīstība kalpotu sabiedrības interesēm.

Trīs veidi, kā integrēt šo pakotni:

  • Izmantojot skriptu tagu: vienkārši ievietojiet lapā <script> un <transpareo-time-machine src="…"> - gatavs, nav nepieciešama kompilācija.
  • Izmantojot npm: npm install transpareo-time-machine savā lietotnē.
  • Pašam hostēt: izveidot paketi, izmantot savu infrastruktūru, bez trešo pušu atkarībām darbības laikā.

Ja nepieciešama tikai paraksta pārbaude bez pilna produkta skata, importējiet saistīto elementu <dpp-verifier> - ideāli piemērots revidentu rīkiem. To var apskatīt tiešsaistē DPP verifikācijas lapā.

Kas šo lietotni izmanto lietderīgi

Lietotne sākotnēji ir izstrādāta patērētājiem. Tomēr tā ir piemērota ikvienam, kurš vēlas neatkarīgi apskatīt vai pārbaudīt produktu datus.

  • Galapatērētāji skenē, apskata, pārlapo un dalās. Nav nepieciešama pieteikšanās, nav izsekošanas mehānismu.
  • Tirgus uzraudzības iestādes un valsts iestādes var apskatīt produkta pasi programmā, kuras avota kods ir publiski pārbaudāms.
  • Remonta darbnīcas un pārstrādātāji var redzēt materiālu sastāvu un demontāžas norādījumus tieši uz paša produkta.
  • Zīmoli un velosipēdu nomas uzņēmumi var pielāgot šo pakalpojumu savam zīmolam - CSS simboli, pašu komponenti, pašhostings.

Kas notiks, ja „Transpareo“ vairs nebūs?

ES prasa, lai reģistrētais produkta pases dokuments būtu pieejams vismaz desmit gadus - arī pēc ražotāja maksātnespējas vai likvidācijas. SaaS pakalpojumu sniedzējs reti darbojas tik ilgi. Tāpēc mēs no paša sākuma veidojam platformu tā, lai produktu pases būtu izmantojamas neatkarīgi no mums:

  • Katra parakstītā DPP versija atrodas publiski pieejamā krātuvē. Baiti un publicētie publiskie atslēgas ir pietiekami, lai vēlāk veiktu verifikāciju.
  • Tiklīdz produktu pases ir reģistrētas ES reģistrā, otrs, pret rakstīšanu aizsargāts krātuves kopums desmit gadus papildus saglabā katru DPP versiju un notikumu žurnālu. Neviens - arī mēs ne - nevar šīs kopijas vēlāk mainīt.
  • Pēc līguma izbeigšanas īsās produktu pasu URL adreses joprojām būs pieejamas, izmantojot pāradresāciju uz „Transpareo” platformu.
  • „Transpareo Time Machine” darbojas nemainīgi arī ar arhivētiem datiem. Pakete mums izpildes laikā neizsauc atgriezenisko izsaukumu; tai nepieciešami tikai baiti un atslēgas.

Ja rīt „Transpareo” platforma pazustu, paliktu DPP versijas un atvērtā koda renderētājs.

Tiem, kurus interesē tehnoloģijas

Šeit ir izklāstīts, kas notiek „zem motora pārsega“. Ja jums nav nepieciešams to zināt sīkāk, varat izlaist šo sadaļu - lietotne darbosies arī tāpat.

  • GS1 Digital Link (ISO/IEC 18975): Produkta pases URL satur produkta identifikāciju standartizētā formā - neatkarīgi no risinātāja, savstarpēji aizvietojama starp piegādātājiem.
  • JSON kanonizācijas shēma (RFC 8785): deterministiska serializācija. Tādējādi hash ir reproducējams neatkarīgi no lauku secības vai atstarpēm - ikviens to var pats pārrēķināt.
  • W3C Data Integrity Proofs (eddsa-jcs-2022): Ed25519 paraksts, kas piemērots kanonizētajai formai (JCS).
  • /.well-known/dpp-keys/ (RFC 8615): izdevēju publiskie atslēgas atrodas standartizētā ceļā - nav nepieciešams sazināties ar Transpareo, katrs verificētājs tās var atrast pats.

Viss ir dokumentēts README failā GitHub vietnē⁠ - ieskaitot frontend arhitektūru (pašu izstrādāts reaktīvais kodols, bez ārējiem frameworkiem) un izveides instrukcijas pašhostēšanai.

Apskatīt kodu GitHub vietnē

Pilnu avota kodu, visus izlaidumus un diskusiju par problēmu varat atrast publiskajā repozitorijā.