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.

Ndryshimi i ofruesve pa ndërprerje

Rregullorja e BE-së për Pasaportën Dixhitale të Produktit kërkon pasaporta produktesh që janë të ndërveprueshme dhe të bazuara në standarde të hapura - të transferueshme midis shërbimeve dhe sistemeve, në vend që të jenë të lidhura me një ofrues të vetëm. Pavarësia nga ofruesi i shërbimit nuk është, prandaj, një shtesë opsionale, por pjesë e kërkesës.

Transpareo Time Machine është zgjidhja që e vë këtë kërkesë në praktikë. Sepse çdo pasaportë produkti dorëzohet në përputhje me standardet e hapura - identifikim neutral ndaj resolverit, serializim kanonik, çelësa të publikuar publikisht - dhe renderuesi është me burim të hapur nën GPL v3, shfaqja e një pasaporte nuk varet kurrë nga platforma jonë.

Përgjegjësia për pasaportën e produktit i takon një subjekti biznesi - prodhuesit, një importuesi ose një përfaqësuesi të autorizuar. Nëse ata vendosin të largohen nga Transpareo dhe të kalojnë te një ofrues tjetër, shfaqja mbetet e qëndrueshme: I njëjti renderer me kod të hapur vazhdon të shfaqë versionet e mëparshme të publikuara, përfshirë historikun, pa asnjë ndryshim, dhe një ofrues i ri që mbështet të njëjtat standarde të hapura do të shfaqet nga e njëjta aplikacion. Të dhënat transferohen së bashku me të; konsumatorët nuk shohin asnjë ndërprerje, dhe askush nuk duhet të presë për një migrim.

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ë lëshuesit.

Dy palë të pavarura nënshkruajnë çdo version të DPP-së: lëshuesi dhe Transpareo. Të dyja nënshkrimet duhet të jenë të verifikueshme që emblema të bëhet jeshile. Me sjelljen e çelësit tuaj (BYOK), lëshuesi operon pikën e vet 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 saktësisht çfarë po ndodh, klikoni mbi shenjën. 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ë lëshuesit. Një ofrues SaaS rrallë mbetet në biznes për kaq gjatë. Prandaj, ne po ndërtojmë platformën që nga fillimi në një mënyrë që pasaportat e produktit 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.
  • Sapo pasaportat e produktit regjistrohen në regjistrin e BE-së, një sistem i 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.