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

Imagjino që po mban një produkt në dorë dhe skanon kodin QR mbi të. Në vend të një PDF-je, hapet një aplikacion i vogël. Ti sheh produktin ashtu siç është tani: prej çfarë është bërë, nga vjen dhe çfarë duhet të kesh parasysh. Një rrëshqitje të kthen mbrapsht në kohë - mund të shikosh çdo version që është publikuar ndonjëherë.

Kjo është Transpareo Time Machineaplikacioni ynë me burim të hapur për konsumatorë për çdo pasaportë produkti dixhital. Kodi është i disponueshëm nën licencën GPL v3 në GitHub. Projekti CIRPASS-2, i financuar nga BE-ja, e liston Transpareo Time Machine në Katalogun OpenDPP të softuerit DPP me burim të hapur.

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

Shiko vetë

Pasaportat e mostrave të produkteve janë të plota dhe të mbushura me të dhëna fiktive: shfletoni historikun e versioneve dhe hapni insignën e verifikimit - drejtpërdrejt në shfletuesin tuaj, pa pasur nevojë për një llogari.

Ç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ë e parëndësishme nga ana numerike.

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.

Rrjedha e ngjarjeve është e gdhendur në gur; manifesti është i ynë

Ndryshon pasaporta e produktit: riparim, objektiv i ri për përmbajtje të ricikluar, tërheqje nga tregu. Prandaj, specifikimet kërkojnë që versionet e mëparshme të mbeten të aksesueshme: standardi i ruajtjes ngrin çdo version, ndërsa standardi për ndërfaqet siguron që çdo version të mund të lexohet në mënyrë specifike. Ajo që specifikimet lënë të hapur është lidhja midis tyre: një listë që lidh të gjitha versionet e një pasaporte në një histori të vetme. Transpareo e boton këtë për çdo pasaportë si një manifest, të nënshkruar, me çdo version të lidhur me të parin e tij përmes një gjurmë dixhitale. Në këtë mënyrë, ‘makina e kohës’ shfleton historinë e një produkti, dhe një lexues mund të verifikojë jo vetëm që një version është autentik, por edhe që është i fundit në një sekuencë të pandërprerë.

Megjithatë, aplikacioni nuk bazohet në këtë. Nëse, në vend të manifestit, i tregoni atij një pasaportë të vetme - si ato të publikuara nga çdo ofrues në përputhje me standardet e hapura - ai shfaq atë version specifik, kontrollon nënshkrimin e tij (nëse ka) dhe thjesht lë jashtë vijën kohore. Një kalim pa nënshkrim nuk trajtohet si gabim, por thjesht shfaqet pa vulë verifikimi. E njëjta aplikacion paraqet kalimet në këtë mënyrë edhe nëse ato kurrë nuk janë regjistruar në Transpareo.

Ndryshimi i ofruesve pa ndërprerje

Rregullorja e BE-së për Pasaportën e Produktit Dixhital - 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ë fakultative, por pjesë e kërkesës.

Transpareo Time Machine është komponenti që e vë këtë kërkesë në praktikë. Për shkak se çdo pasaportë produkti dorëzohet me standarde të 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 kurrë nuk varet 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ë lënë 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 që tashmë janë publikuar, duke përfshirë historikun, pa 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 lëvizin me të; konsumatorët nuk shohin asnjë ndërprerje, dhe askush nuk duhet të presë për një migrim.

Vetë migrimi nuk është një projekt. “ Transpareo Time Machine “ është një paketë statike: ndërtoje një herë, kopioje në çdo server web, dhe ke mbaruar. Dizajni që keni krijuar për pasaportat tuaja në Transpareo udhëton me çdo pasaportë si një fletë-stil e publikuar. Pamja e pasaportës, me të cilën klientët tuaj janë mësuar, do të duket saktësisht e njëjtë në serverin tuaj, duke përfshirë ngjyrat, fontin dhe logon.

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 çelësat publikë të lëshuesit.

Dy organe të pavarura nënshkruajnë çdo version të DPP-së: lëshuesi dhe Transpareo. Të dyja nënshkrimet duhet të verifikohen që shenja të bëhet jeshile. Me sjelljen e çelësit tuaj (Bring Your Own Key - BYOK), lëshuesi 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 rezulton në një nënshkrim të lëshuesit që vetë Transpareo nuk mund ta gjenerojë.

Një server i komprometuar nuk mund të falsifikojë tick-un, 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ë lidhur. Nëse dëshironi të dini saktësisht çfarë po ndodh, klikoni në emblemë. Pas saj, do të shihni zinxhirin e nënshkrimeve, hash-et dhe historikun e versionit të zinxhëruar.

E njëjta verifikim është gjithashtu i disponueshëm si një faqe e pavarur: në Verifikimi i DPP mund të shkruani URL-në e manifestit të çdo pasaporte produkti dhe të 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. Çdo modifikim i publikuar duhet të licencohet nën GPL v3, në mënyrë që çdo zhvillim i mëtejshëm të përfitojë komunitetin më të gjerë. Klonimi, forkimi, vetë-hostimi - të gjitha janë të lejuara.

Skedari README aty shpjegon se si të integroni aplikacionin, qoftë me një rresht të vetëm në një faqe interneti, si një paketë brenda aplikacionit tuaj, ose i hostuar tërësisht prej jush. Gjithashtu do të gjeni komponentin binjak vetëm për verifikimin e nënshkrimeve, i cili është aktiv në Verifikimi i 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 degëzimit përshtatin paketën sipas markës së tyre - tokenë CSS, komponentë të personalizuar, vetë-hosting.

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

BE-ja kërkon që një pasaportë produkti . Për shumë produkte, kjo është dhjetë vjet ose më shumë, dhe një ofrues SaaS rrallëherë 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.
  • 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 gjithashtu funksionon normalisht mbi 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ë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.