Transpareo Időgép
Nyílt forráskódú fogyasztói alkalmazás minden DPP-hez, nem csak a Transpareo-kártyákhoz: beolvasás, a termék történetének áttekintése, a verziószám megosztása. Egy időgép a DPP-k számára.
Időgép a DPP-k számára
Képzelje el, hogy egy terméket tart a kezében, és beolvassa a rajta lévő QR-kódot. PDF-fájl helyett egy kis alkalmazás nyílik meg. Látja a terméket a jelenben: miből áll, honnan származik, mire kell figyelni. Egy csúsztató mozdulattal visszalapozhat az időben - minden valaha kiadott verzió megtekinthető.
Ez a Transpareo Time Machine, a nyílt forráskódú fogyasztói alkalmazásunk minden digitális termékigazolványhoz. A kód a GPL v3 licenc alatt elérhető a GitHubon.
Azért fejlesztjük, mert az EU digitális termékigazolványra vonatkozó rendelete a fogyasztók számára készült - azok számára, akik a terméket a kezükben tartják. A legtöbb szolgáltató ezt egy olyan megfelelőségi űrlapká alakítja, amelyet senki sem olvas el kétszer. Mi viszont olyan alkalmazást készítünk belőle, amelyet a fogyasztó tényleg megnyit.
Győződjön meg róla saját szemével!
A demo teljes termékadatlapokat mutat be példaadatokkal: lapozzon végig a verziótörténeten, és nyissa meg az ellenőrző matricát - közvetlenül a böngészőben, fiók létrehozása nélkül.
Az alkalmazás funkciói
Négy érintési pont a terméket a kezében tartó személy szemszögéből. Nincs bejelentkezés, nincs alkalmazás-telepítés.
Beolvasás
Olvassa be a QR-kódot az okostelefon kamerájával. Az alkalmazás megnyílik a böngészőben.
Aktuális hírek megtekintése
A termék bemutatása - alkatrészek, anyagok, eredet, ápolás, újrahasznosítás.
Történelem lapozgatás
Egy csúsztató mozdulattal visszalapozhatunk az időben. Minden korábbi verzió, a módosítás dátumával és okával együtt.
Megosztás
Minden verziónak megvan a saját linkje. Egy személy egy adott verziót oszt meg barátaival vagy a hatóságokkal.
Miért egyáltalán?
A digitális termékigazolványról szóló uniós rendelet az elmúlt évtizedek legnagyobb előrelépése a termékátláthatóság irányába. Ha figyelmesen elolvassuk az alapjául szolgáló szövegeket, látható, hogy kifejezetten a fogyasztók számára készült. A hatóságok, az újrahasznosítók és a szervizek is csatlakoznak ehhez, de az elsődleges címzett az a személy, aki a terméket a kezében tartja.
Számok tekintetében a helyzet egyértelmű. Egy átlagos európai magánszemély a évtized végére évente több tucattól akár több száz termékigazolványt is beolvashat majd. 200 millió háztartásra vetítve ez évente milliárdnyi fogyasztói interakciót jelent. Ehhez képest a hatóságok és az újrahasznosítók világa számbeli szempontból elenyészően kicsi.
Ha azt akarjuk, hogy a rendelet eljusson a fogyasztókhoz, akkor a fogyasztói oldalt jól kell megtervezni - gyorsnak, vonzónak és koherensnek kell lennie. Ellenkező esetben nem éri el a célját.
Úgy döntöttünk, hogy ezt a fogyasztói oldalt nyílt forráskódúként építjük fel, hogy ne függjön egyetlen szolgáltatótól sem.
A menetrend kötelező, a kiáltvány pedig a miénk
A termékadatlap változhat: javítás, új újrahasznosítási arány, visszahívás. A előírások ezért megkövetelik, hogy a korábbi állapotok továbbra is elérhetők maradjanak: a tárolásra vonatkozó szabvány minden verziót rögzít, az interfészekre vonatkozó szabvány pedig előírja, hogy minden verzió célzottan olvasható legyen. Amit az előírások nyitva hagynak, az a kettő közötti rész: egy lista, amely az igazolvány összes verzióját egy történetté köti össze. A Transpareo minden igazolványhoz manifesztként teszi közzé ezt a listát, aláírva, minden verziót ujjlenyomat segítségével láncolva az elődjéhez. Így az időgép végiglapozza a termék történetét, és az olvasó nemcsak ellenőrizheti, hogy egy verzió hiteles-e, hanem azt is, hogy az egy hiánytalan sorozat aktuális része-e.
Az alkalmazás azonban nem ragaszkodik ehhez. Ha a manifeszt helyett egy egyetlen igazolványt mutatunk neki - amilyet minden szolgáltató a nyílt szabványok szerint tesz közzé -, akkor az alkalmazás ezt az egy verziót jeleníti meg, ellenőrzi az aláírását, ha van ilyen, és egyszerűen kihagyja az idővonalat. Az aláírás nélküli igazolvány nem minősül hibának, hanem egyszerűen ellenőrző pecsét nélkül jelenik meg. Így ugyanaz az alkalmazás azokat az igazolványokat is megjeleníti , amelyek soha nem szerepeltek a Transpareo rendszerében.
Szolgáltatóváltás zökkenőmentesen
A digitális termékigazolványra vonatkozó uniós rendelet olyan termékigazolványokat ír elő, amelyek interoperábilisak és nyílt szabványokon alapulnak - vagyis szolgáltatások és rendszerek között átvihetők, nem pedig egyetlen szolgáltatóhoz kötődnek. A szolgáltatótól való függetlenség tehát nem kiegészítő elem, hanem a követelmény része.
A Transpareo Time Machine az a megoldás, amely ezt a követelményt konkrét formába önti. Mivel minden termékigazolvány nyílt szabványok szerint kerül kiadásra - resolver-semleges azonosítás, kanonikus sorosítás, nyilvánosan közzétett kulcsok -, és a renderelő GPL v3 alatt nyílt forráskódú, az igazolvány megjelenítése soha nem függ a mi platformunktól.
A termékigazolványért egy gazdasági szereplő felel - a gyártó, egy importőr vagy egy meghatalmazott. Ha úgy dönt, hogy elhagyja a Transpareót, és másik szolgáltatóhoz vált, a megjelenítés változatlan marad: a már közzétett verziókat a teljes előzményekkel együtt ugyanaz a nyílt forráskódú renderelő változatlanul továbbra is megjeleníti, és egy új szolgáltatót, amely ugyanazokat a nyílt szabványokat használja, pontosan ugyanaz az alkalmazás jeleníti meg.
Az adatok is átkerülnek, a fogyasztók nem vesznek észre semmilyen megszakítást, és senkinek sem kell várnia a migrációra.
Maga az átállás nem jelent külön projektet. A Transpareo Time Machine egy statikus csomag: egyszer elkészítve, bármely webszerverre másolva, és kész. A Transpareo-ban az útleveleihez beállított megjelenés közzétett stíluslapként minden útlevéllel együtt utazik. Az útlevél-nézet, amelyhez ügyfelei hozzászoktak, így a saját szerverén is pontosan ugyanúgy néz ki, a színekkel, a betűtípussal és a logóval együtt.
A böngészőben ellenőrizve, nem a szerverünkön
Minden termékadatlap tetején megjelenik egy jelvény: „Transpareo által ellenőrzve”. Ez egy olyan ellenőrzés eredményét jelzi, amely nem a szerverünkön, hanem a látogató böngészőjében történik - a betöltött bájtok és a kiállító nyilvános kulcsai alapján.
Minden DPP-verziót két, egymástól független fél ír alá: a kibocsátó és a Transpareo. Mindkét aláírásnak ellenőrizhetőnek kell lennie ahhoz, hogy a jelvény zöldre váljon. A „Bring Your Own Key” (BYOK) elv alapján a kibocsátó saját aláírási végpontot üzemeltet - a Transpareo soha nem tárolja a titkos kulcsot, csupán a független ellenaláírást egészíti ki. Így jön létre egy olyan kibocsátói aláírás, amelyet a Transpareo önmagában nem tud létrehozni.
Egy kompromittált szerver nem tudja hamisítani a pipát, mivel az ellenőrzés magánál a látogatónál történik.
Aki pontosan szeretné tudni, kattintson a jelvényre. Mögötte látható az aláírási lánc, a hash-értékek és a láncolt verziótörténet. Aki csak az információt szeretné megkapni, egyszerűen figyelmen kívül hagyja ezt, és továbbolvassa a termékadatlapot.
Ugyanez az ellenőrzés önálló oldalként is elérhető: a DPP-ellenőrzés oldalon beírhatja bármely termékadatlap manifest-URL-jét, és megtekintheti a teljes ellenőrzési eredményt - anélkül, hogy magát a termékadatlapot megnyitná.
A kódot nyilvánosságra hozzuk
A Transpareo Time Machine a GitHubon a GPL v3 licenc alatt érhető el. A közzétett módosításoknak szintén a GPL v3 licenc alatt kell állniuk, hogy minden továbbfejlesztés a közjót szolgálja.
Klónozás, fork, saját tárhely - minden megengedett.
Hogyan integrálhatja az alkalmazást - akár egy sor kóddal a weboldalon, akár csomagként a saját alkalmazásában, akár teljesen saját tárhelyen -, azt a README-fájl tartalmazza. Ott megtalálja a puszta aláírás-ellenőrzésre szolgáló testvéralkalmazást is, amely az DPP-ellenőrzés oldalon működik.
Ki használja az alkalmazást ésszerűen
Az alkalmazást elsősorban a fogyasztók számára fejlesztették ki. Ugyanakkor mindenki számára használható, aki önállóan szeretné megtekinteni vagy ellenőrizni a termékadatokat.
- A végfelhasználók beolvashatják, megtekinthetik, lapozgathatják és megoszthatják az adatokat. Nincs bejelentkezés, nincsenek nyomkövetők.
- A piacfelügyeleti szervek és a hatóságok egy olyan szoftverben tekinthetik meg a termékigazolványt, amelynek forráskódja nyilvánosan ellenőrizhető.
- A szervizek és az újrahasznosítók közvetlenül a terméken láthatják az anyagösszetételt és a szétszerelési útmutatásokat.
- A márkák és a fork-üzemeltetők saját márkájukhoz igazíthatják a csomagot - CSS-tokenek, saját komponensek, saját szerver.
Mi történik, ha a Transpareo már nem létezik?
Az EU előírja, hogy a regisztrált termékútlevélnek legalább tíz évig elérhetőnek kell maradnia - még a kibocsátó csődje vagy felszámolása után is. Egy SaaS-szolgáltató ritkán működik ilyen hosszú ideig. Ezért a platformot a kezdetektől fogva úgy építjük fel, hogy a termékútlevelek tőlünk függetlenül is használhatók maradjanak:
- Minden aláírt DPP-verzió egy nyilvánosan olvasható tárhelyen található. A bájtok és a közzétett nyilvános kulcsok elegendőek a későbbi ellenőrzéshez.
- Amint a termékigazolványokat bejegyezték az EU-nyilvántartásba, egy második, írásvédett tárhely további tíz évig tükrözi minden DPP-verziót és az eseménynaplót. Senki - mi sem - nem módosíthatja utólag ezeket a tükörmásolatokat.
- A szerződés felmondása után a rövid termékigazolvány-URL-ek átirányításon keresztül továbbra is elérhetők maradnak a Transpareo-platformon.
- A Transpareo Time Machine változatlanul fut az archivált állományokon is. A csomag futásidőben nem hív vissza minket; csak a bájtokra és a kulcsokra van szüksége.
Ha holnap eltűnne a Transpareo-platform, a DPP-verziók és a nyílt forráskódú renderelő megmaradnának.
A technológia iránt érdeklődőknek
Itt olvashatod el, mi zajlik a háttérben. Akinek nincs szüksége a részletekre, kihagyhatja ezt a részt - az alkalmazás így is működik.
- GS1 Digital Link (ISO/IEC 18975): A termékigazolvány URL-je a termékazonosítót szabványos formában tartalmazza - resolver-semleges, szolgáltatók között cserélhető.
- JSON Canonicalization Scheme (RFC 8785): Determinisztikus sorosítás. Így a hash a mezők sorrendjétől és a szóközöktől függetlenül reprodukálható marad - mindenki saját maga is kiszámíthatja.
- W3C Data Integrity Proofs (eddsa-jcs-2022): Ed25519-aláírás a kanonizált formán (JCS) keresztül.
- /.well-known/dpp-keys/ (RFC 8615): A kibocsátók nyilvános kulcsai egy szabványosított elérési út alatt találhatók - nincs szükség a Transpareo-hoz való fordulásra, minden hitelesítő saját maga megtalálja őket.
Minden dokumentálva van a GitHub-on található README-ben - beleértve a frontend-architektúrát (saját reaktív mag, nulla külső keretrendszer) és az önálló üzemeltetéshez szükséges összeállítási útmutatót is.
Kapcsolódó témák
A Transpareo Time Machine egy szélesebb körű kezdeményezés fogyasztóknak szóló része, amelynek célja, hogy a digitális termékigazolványok függetlenül ellenőrizhetővé váljanak.

EU-DPP-nyilvántartás: mit ír elő a Bizottság április 29-i tervezete
Az uniós nyilvántartás egy adatbázis, nem pedig az Ön adatainak másolata. Ön maga viszi be az adatokat, a nyilvántartás pedig rögzíti a címet és az ujjlenyomatot.

Mondja el a véleményét: Mit írtunk az Európai Bizottságnak a DPP-nyilvántartási rendeletről
Egy törvénytervezet feküdt az asztalon, és mindenki beírhatott bele. Mi is megtettük, négyszer, a négy pontnál, amelyekkel egy gyártó először szembesül.
A kód megtekintése a GitHubon
A teljes forráskód, az összes kiadás és a hibajelentéssel kapcsolatos vita a nyilvános repositoryban található.






