Një makinë kohe për DPP-të

Imagjinoni që mbani një produkt në dorë dhe skanoni kodin QR mbi të. Në vend të një PDF-je, hapet një aplikacion i vogël. Ju shihni produktin ashtu siç është tani: prej çfarë është bërë, nga vjen dhe çfarë duhet të keni parasysh. Një rrëshqitje ju kthen prapa në kohë - mund të shikoni çdo version që është publikuar ndonjëherë.

Mund ta provoni tani: demo⁠ tregon një pasaportë të plotë produkti me të dhëna shembull.

Kjo është Transpareo Time Machine, aplikacioni ynë me burim të hapur për konsumatorët për çdo Pasaportë Dixhitale Produkti. Kodi është i disponueshëm nën licencën GPL v3 në GitHub⁠.

Po e ndërtojmë sepse rregullorja e BE-së për Pasaportën e Produktit Dixhital është shkruar për konsumatorët - për personin që mban produktin në duart e tij. Shumica e ofruesve e kthejnë atë në një formular përputhshmërie që askush nuk e skanon dy herë. Ne po e kthejmë në një aplikacion që konsumatorët do ta hapin me të vërtetë.

Çfarë bën aplikacioni

Katër pika kontakti nga perspektiva e personit që mban produktin. Pa hyrje, pa instalim të aplikacionit.

1

Skano

Skano kodin QR me kamerën e smartfonit tënd. Aplikacioni do të hapet në shfletuesin tënd.

2

Shiko lajmet e fundit

Produkti në këtu dhe tani - komponentë, materiale, origjinë, kujdes, riciklim.

3

Shfleto historinë

Një lëvizje me gisht të kthen prapa në kohë. Çdo version i mëparshëm, me datën dhe arsyen e ndryshimit.

4

Ndaj

Çdo version ka lidhjen e vet. Një person ndan një version të caktuar me miqtë ose me autoritetet.

Pse fare?

Rregullorja e BE-së për Pasaportën Dixhitale të Produktit përfaqëson ndryshimin më të madh drejt transparencës së produkteve në dekada. Nëse lexohen me kujdes tekstet themelore, është shkruar shprehimisht duke pasur parasysh konsumatorët. Autoritetet, riciklistët dhe punishtet e riparimit janë përfshirë; por përfituesi kryesor është personi që mban produktin në duart e tij.

Sa i përket numrave, situata është e qartë. Deri në fund të dekadës, familja mesatare evropiane do të jetë në gjendje të skanojë dhjetëra deri në qindra pasaporta produktesh në vit. Duke u bazuar në 200 milionë familje, kjo përbën miliarda ndërveprime me konsumatorët çdo vit. Në krahasim, bota e autoriteteve dhe riciklistëve është numerikisht e papërfillshme.

Nëse rregullorja do të arrijë tek konsumatorët, atëherë platforma për konsumatorët duhet të jetë e dizajnuar mirë - e shpejtë, tërheqëse dhe koherente. Përndryshe, ajo nuk do të arrijë të përmbushë qëllimin e saj. Ne kemi vendosur të ndërtojmë këtë platformë për konsumatorët si softuer me burim të hapur, në mënyrë që ajo të mos varet nga një ofrues i vetëm.

Testuar në shfletues, jo në serverin tonë

Në krye të çdo pasaporte produkti shfaqet një emblemë: ‘Verifikuar nga Transpareo’. Ajo tregon rezultatin e një procesi verifikimi që nuk zhvillohet në serverin tonë, por në shfletuesin e vizitorit - bazuar në bajtet e ngarkuara dhe në çelësat publikë të prodhuesit.

Dy palë të pavarura nënshkruajnë çdo version të DPP-së: prodhuesi dhe Transpareo. Të dyja nënshkrimet duhet të jenë të verifikueshme që emblema të bëhet jeshile. Me sjelljen e çelësit tuaj (Bring Your Own Key - BYOK), prodhuesi operon pikën e vet të fundit të nënshkrimit - Transpareo kurrë nuk mban çelësin privat dhe thjesht shton nënshkrimin e pavarur. Kjo krijon një nënshkrim të lëshuesit që vetë Transpareo nuk mund ta gjenerojë. Një server i komprometuar nuk mund të falsifikojë shenjën, pasi verifikimi kryhet në pajisjen e vet të vizitorit.

Nëse dëshironi të dini të gjitha detajet, klikoni mbi shenjën. Pas saj, do të shihni zinxhirin e nënshkrimeve, hash-et dhe historikun e versioneve të lidhura. Nëse dëshironi të dini saktësisht çfarë po ndodh, klikoni në insignë. Pas saj, do të shihni zinxhirin e nënshkrimeve, hash-et dhe historikun e versionit të zinxhëruar. Nëse dëshironi vetëm informacionin, thjesht injoroni këtë dhe vazhdoni leximin e pasaportës së produktit. E njëjta verifikim është gjithashtu i disponueshëm si një faqe e pavarur: në faqen e verifikimit DPP, shkruani URL-në e manifestit të çdo pasaporte produkti dhe shikoni rezultatin e plotë të verifikimit - pa hapur vetë pasaportën.

Ne po publikojmë kodin

Transpareo Time Machine është licencuar nën GPL v3 në GitHub⁠. Klonimi, forkimi, vetë-hostimi - të gjitha të lejuara. Çdo modifikim i publikuar duhet të licencohet me radhë nën GPL v3, në mënyrë që çdo zhvillim i mëtejshëm të përfitojë komunitetin më të gjerë.

Tre mënyra për të integruar paketën:

  • Përmes etiketës së skriptit: thjesht shtoni <script> dhe <transpareo-time-machine src="…"> në faqen tuaj - kaq; nuk kërkohet asnjë hap ndërtimi.
  • Përmes npm: npm install transpareo-time-machine në aplikacionin tuaj.
  • Vetë-mikpritje: ndërtoni paketën, përdorni infrastrukturën tuaj, pa varësi nga palë të treta gjatë ekzekutimit.

Nëse ju nevojitet vetëm verifikimi i nënshkrimit pa pamjen e plotë të produktit, importoni elementin motër <dpp-verifier> - ideal për mjetet e auditimit. E shihni në veprim në faqen e verifikimit të DPP.

Ata që përdorin aplikacionin në mënyrë efektive

Aplikacioni është projektuar kryesisht për konsumatorët. Megjithatë, ai funksionon për këdo që dëshiron të shikojë ose verifikojë të dhënat e produktit në mënyrë të pavarur.

  • Konsumatorët përfundimtarë mund të skanojnë, shikojnë, shfletojnë dhe ndajnë. Pa hyrje, pa gjurmues.
  • Organet e mbikëqyrjes së tregut dhe autoritetet rregullatore mund të shikojnë pasaportën e produktit në një softuer me kod burimor që mund të auditohet publikisht.
  • Servisët e riparimit dhe riciklistët mund të shohin përbërjen e materialit dhe udhëzimet për çmontim direkt në produkt.
  • Markat dhe operatorët e forkut mund të personalizojnë paketën për t’u përshtatur me markën e tyre - token-e CSS, komponentë të personalizuar, vetë-mikpritje.

Çfarë ndodh nëse Transpareo nuk ekziston më?

BE-ja kërkon që një pasaportë produkti e regjistruar të mbetet e disponueshme për të paktën dhjetë vjet - madje edhe pas falimentimit ose likuidimit të prodhuesit. Një ofrues SaaS rrallë mbetet në biznes për kaq gjatë. Prandaj, po ndërtojmë platformën që nga fillimi në një mënyrë që pasaportat e produkteve të mbeten të përdorshme pavarësisht nga ne:

  • Çdo version i nënshkruar i DPP-së ruhet në një depo të aksesueshme publikisht. Të dhënat, së bashku me çelësat publikë të publikuar, janë të mjaftueshme për verifikimin e mëvonshëm.
  • Pasi pasaportat e produktit të jenë regjistruar në regjistrin e BE-së, një vendndodhje e dytë ruajtjeje vetëm për lexim pasqyron çdo version të DPP-së dhe regjistrin e ngjarjeve për dhjetë vjet të tjera. Askush - as ne vetë - nuk mund t’i ndryshojë këto kopje pasqyruese me efekt prapaveprues.
  • Pas ndërprerjes, URL-të e shkurtra të pasaportave të produktit mbeten të aksesueshme përmes një ridrejtimi në platformën Transpareo.
  • Transpareo Time Machine vazhdon të funksionojë i pandryshuar, edhe me të dhënat e arkivuara. Paketa nuk na thërret përsëri gjatë ekzekutimit; i duhen vetëm bajtet dhe çelësat.

Nëse platforma Transpareo do të zhdukej nesër, versionet DPP dhe renderuesi me burim të hapur do të mbeteshin.

Për ata që janë kuriozë për teknologjinë

Ja çfarë po ndodh nën kapak. Nëse nuk keni nevojë të dini detajet, mund ta anashkaloni këtë seksion - aplikacioni do të funksionojë gjithsesi.

  • GS1 Digital Link (ISO/IEC 18975): URL-ja e pasaportës së produktit mban identifikuesin e produktit në një format të standardizuar - neutral ndaj zgjidhësit dhe i ndërrueshëm midis ofruesve.
  • Skema e Kanonikalizimit JSON (RFC 8785): Një serializim deterministik. Kjo siguron që hash-i të mbetet i riprodhueshëm pavarësisht rendit të fushave ose hapësirave bosh - çdokush mund ta verifikojë vetë.
  • Provat e Integritetit të të Dhënave të W3C (eddsa-jcs-2022): Nënshkrimi Ed25519 mbi formën kanonike (JCS).
  • /.well-known/dpp-keys/ (RFC 8615): Çelësat publikë të lëshuesve ndodhen në një rrugë të standardizuar - nuk ka nevojë të kontaktoni Transpareo; çdo verifikues mund t’i gjejë vetë.

Të gjitha janë të dokumentuara në README në GitHub⁠ - përfshirë arkitekturën front-end (bërthamën tonë reaktive, pa korniza të jashtme) dhe udhëzimet për ndërtim për vetë-mikpritje.

Shiko kodin në GitHub

Mund të gjeni kodin e plotë burimor, të gjitha versionet dhe diskutimin e çështjes në depon publike.