Laiko mašina DPP-ams

Įsivaizduokite, kad laikote produktą rankoje ir nuskenuojate ant jo esantį QR kodą. Vietoj PDF failo atsidaro nedidelė programėlė. Jūs matote produktą „čia ir dabar“: iš ko jis pagamintas, iš kur kilęs, į ką reikia atkreipti dėmesį. Vienu braukimu galite grįžti atgal laiku - galite peržiūrėti kiekvieną kada nors išleistą versiją.

Būtent tai dabar galite išbandyti: demonstracinėje versijoje⁠ pateikiamas išsamus produkto pasas su pavyzdiniais duomenimis.

Tai „Transpareo Time Machine“ - mūsų atviro kodo vartotojų programėlė, skirta bet kuriam skaitmeniniam produkto pasui. Kodas yra paskelbtas pagal GPL v3 licenciją „GitHub“⁠.

Mes ją kuriame, nes ES reglamentas dėl skaitmeninio produkto paso buvo parengtas vartotojams - tiems, kurie laikydami produktą rankose. Dauguma tiekėjų paverčia jį atitikties forma, kurios niekas antrą kartą neskenuoja. Mes paverčiame jį programėle, kurią vartotojas ir atidaro.

Ką daro ši programa

Keturi sąsajos taškai iš asmens, kuris laiko produktą rankoje, perspektyvos. Nereikia prisijungti, nereikia įdiegti programėlės.

1

Skenavimas

Nuskaitykite QR kodą išmaniojo telefono kamera. Programa atsidarys naršyklėje.

2

Peržiūrėti naujienas

Produktas atsiranda „dabar“ - sudedamosios dalys, medžiagos, kilmė, priežiūra, perdirbimas.

3

Naršyti istoriją

Vienu braukimo judesiu galima grįžti atgal laiku. Kiekviena ankstesnė versija su pakeitimo data ir priežastimi.

4

Dalintis

Kiekviena versija turi savo nuorodą. Asmuo dalijasi konkrečia versija su draugais arba valdžios institucijomis.

Kodėl apskritai

ES reglamentas dėl skaitmeninio produkto paso yra didžiausias žingsnis link produktų skaidrumo per pastaruosius dešimtmečius. Jei atidžiai perskaityti pagrindinius dokumentus, matyti, kad jis yra aiškiai skirtas vartotojams. Valdžios institucijos, perdirbėjai, remonto dirbtuvės prisideda prie šio proceso, tačiau pagrindinis adresatas yra tas asmuo, kuris laiko produktą rankose.

Skaičiais vertinant, padėtis yra aiški. Vidutinis Europos gyventojas iki šio dešimtmečio pabaigos galės nuskaityti nuo kelių dešimčių iki kelių šimtų produktų pasų per metus. Skaičiuojant pagal 200 milijonų namų ūkių, tai sudaro milijardus vartotojų sąveikų per metus. Palyginti su tuo, valdžios institucijų ir perdirbėjų veikla skaičiais išreiškiama yra nežymiai maža.

Jei norime, kad reglamentas pasiektų vartotojus, vartotojams skirta svetainė turi būti gerai sukurta - greita, patraukli ir nuosekli. Kitaip ji neatliks savo paskirties. Mes nusprendėme šią vartotojams skirtą svetainę sukurti kaip atvirojo kodo projektą, kad ji nepriklausytų nuo vieno tiekėjo.

Patikrinta naršyklėje, o ne mūsų serveryje

Kiekvieno produkto paso viršuje rodomas ženklas: „Patvirtinta Transpareo“. Jis rodo patikrinimo rezultatą, kuris atliekamas ne mūsų serveryje, o lankytojo naršyklėje - remiantis įkeltais baitais ir gamintojo viešaisiais raktas.

Kiekvieną DPP versiją pasirašo dvi viena nuo kitos nepriklausomos institucijos: gamintojas ir „Transpareo“. Kad ženkliukas taptų žalias, abu parašai turi būti patikrinami. Naudodamas „Bring Your Own Key“ (BYOK) funkciją, gamintojas valdo savo parašo galinį tašką - „Transpareo“ niekada nesaugo privataus rakto ir tik prideda nepriklausomą priešingą parašą. Taip susidaro išdavėjo parašas, kurio „Transpareo“ pats negali sukurti. Įsilaužtas serveris negali suklastoti žymės, nes patikrinimas atliekamas pačio lankytojo kompiuteryje.

Norintys sužinoti daugiau, spustelėkite žymę. Po ja matysite parašų grandinę, maišos vertes ir susietą versijų istoriją. Jei norite tik informacijos, tiesiog ignoruokite tai ir toliau skaitykite produkto pasą.

Tą patį patikrinimą galima atlikti ir atskirame puslapyje: DPP patikrinimo puslapyje įveskite bet kurio produkto paso manifestą URL ir pamatysite išsamų patikrinimo rezultatą - net neatidarydami paties paso.

Mes paskelbiame kodą

„Transpareo Time Machine“ yra išleista pagal GPL v3 licenciją „GitHub“ svetainėje⁠. Klonuoti, kurti šaką, talpinti savo serveryje - viskas leidžiama. Paskelbtos modifikacijos savo ruožtu turi būti išleistos pagal GPL v3 licenciją, kad bet koks tolesnis tobulinimas būtų naudingas visuomenei.

Trys būdai, kaip įtraukti šį paketą:

  • Naudojant skripto žymę: įterpkite į puslapį <script> ir <transpareo-time-machine src="…"> - viskas, nereikia jokio kompiliavimo.
  • Naudojant „npm“: į savo programą įveskite komandą npm install transpareo-time-machine.
  • Savarankiškas talpinimas: sukurkite paketą, naudokite savo infrastruktūrą, be jokių trečiųjų šalių priklausomybių vykdymo metu.

Jei reikia tik parašo patikrinimo be pilno produkto peržiūros, importuokite giminingą elementą <dpp-verifier> - tai idealiai tinka auditorių įrankiams. Galima pamatyti gyvai DPP patikrinimo metu.

Kas protingai naudoja šią programėlę

Ši programa pirmiausia sukurta vartotojams. Tačiau ja gali naudotis visi, kurie nori savarankiškai peržiūrėti ar patikrinti produkto duomenis.

  • Galutiniai vartotojai nuskenuoja, peržiūri, naršo, dalijasi. Nereikia prisijungti, nėra sekimo įrankių.
  • Rinkos priežiūros institucijos ir valdžios institucijos peržiūri produkto pasą programoje, kurios šaltinio kodas yra viešai audituojamas.
  • Remonto dirbtuvės ir perdirbėjai mato medžiagų sudėtį ir išardymo instrukcijas tiesiai ant produkto.
  • Prekės ženklai ir „Fork“ operatoriai pritaiko paketą prie savo prekės ženklo - CSS žetonai, savi komponentai, savarankiškas talpinimas.

Kas atsitiks, jei „Transpareo“ nebebus

ES reikalauja, kad registruotas produkto pasas būtų prieinamas ne mažiau kaip dešimt metų - net ir po gamintojo bankroto ar likvidavimo. SaaS paslaugų teikėjas retai išlieka rinkoje tiek ilgai. Todėl nuo pat pradžių kuriame platformą taip, kad produktų pasai liktų prieinami nepriklausomai nuo mūsų:

  • Kiekviena pasirašyta DPP versija saugoma viešai prieinamoje saugykloje. Vėlesniam patikrinimui pakanka baitų ir paskelbtų viešųjų raktų.
  • Vos tik produkto pasai įregistruojami ES registre, antroji, nuo rašymo apsaugota saugykla dar dešimt metų saugo kiekvieną DPP versiją ir įvykių žurnalą. Niekas - net ir mes - negali vėliau pakeisti šių kopijų.
  • Nutraukus sutartį, trumpi produkto paso URL adresai lieka pasiekiami per nukreipimą „Transpareo“ platformoje.
  • „Transpareo Time Machine“ veikia be pakeitimų net ir su archyvuotais duomenimis. Paketas vykdymo metu mūsų nešaukia atgal; jam reikia tik baitų ir raktų.

Jei „Transpareo“ platforma rytoj išnyktų, liktų DPP versijos ir atviro kodo atvaizdavimo programa.

Technologijų mėgėjams

Štai kas vyksta „po kapotu“. Jei jums nereikia žinoti visų smulkmenų, šį skyrių galite praleisti - programa veiks ir be to.

  • „GS1 Digital Link“ (ISO/IEC 18975): Produkto paso URL adresas pateikia produkto identifikatorių standartizuota forma - nepriklausomai nuo sprendėjo, keičiamas tarp tiekėjų.
  • „JSON Canonicalization Scheme“ (RFC 8785): deterministinė serializacija. Taigi, hash kodas išlieka atkuriamas nepriklausomai nuo laukų tvarkos ar tarpų - kiekvienas gali jį pats perskaičiuoti.
  • W3C duomenų vientisumo įrodymai (eddsa-jcs-2022): Ed25519 parašas per kanonizuotą formą (JCS).
  • /.well-known/dpp-keys/ (RFC 8615): išdavėjų viešieji raktai yra standartizuotame kelyje - nereikia kreiptis į „Transpareo“, kiekvienas tikrintojas juos randa pats.

Viskas yra uždokumentuota „README“ faile „GitHub“⁠ - įskaitant frontend architektūrą (nuosavas „React“ branduolys, be jokių išorinių frameworkų) ir kūrimo instrukcijas savarankiškam hostavimui.

Peržiūrėti kodą „GitHub“

Visą šaltinį, visus išleidimus ir diskusiją apie problemą rasite viešame repozitoriume.