En open-source-app til forbrugere, der passer til alle Transpareo-DPP’er: scan, blad gennem produktets historie, del en versionsstatus. En tidsmaskine til DPP’er.
Forestil dig, at du holder et produkt i hånden og scanner QR-koden på det. I stedet for en PDF åbnes der en lille app. Du ser produktet her og nu: hvad det består af, hvor det kommer fra, og hvad du skal være opmærksom på. Et enkelt stryg med fingeren tager dig tilbage i tiden - du kan se alle versioner, der nogensinde er blevet udgivet.
Netop det kan du prøve nu: Demoen viser et komplet produktpas med eksempeldata.
Det er Transpareo Time Machine, vores open source-app til forbrugere til ethvert digitalt produktpas. Koden er tilgængelig under GPL v3 på GitHub.
Vi udvikler den, fordi EU-forordningen om det digitale produktpas er skrevet til forbrugerne - til den person, der holder produktet i hånden. De fleste udbydere laver det til et compliance-formular, som ingen kigger på to gange. Vi laver det til en app, som forbrugeren rent faktisk åbner.
Fire berøringspunkter set fra den persons perspektiv, der holder produktet i hånden. Ingen login, ingen app-installation.
Scan QR-koden med smartphone-kameraet. Appen åbnes i browseren.
Produktet i nutiden - komponenter, materialer, oprindelse, pleje, genbrug.
En strygebevægelse bladrer tilbage i tiden. Hver tidligere version med dato og årsag til ændringen.
Hver version har sit eget link. En person deler en bestemt version med venner eller myndigheder.
EU-forordningen om det digitale produktpas er det største skridt i retning af produktgennemsigtighed i årtier. Hvis man læser de underliggende tekster grundigt, er den udtrykkeligt skrevet med forbrugerne for øje. Myndighederne, genvindingsvirksomhederne og værkstederne følger med, men den primære modtager er den person, der holder produktet i hånden.
Tallene taler deres tydelige sprog. En gennemsnitlig europæisk privatperson vil ved udgangen af dette årti kunne scanne snesevis til hundreder af produktpas om året. Omregnet til 200 millioner husstande svarer det til milliarder af forbrugerinteraktioner årligt. Myndighedernes og genvindingsvirksomhedernes verden er i sammenligning numerisk ubetydelig.
Hvis forordningen skal nå ud til forbrugerne, skal forbrugersiden være godt udformet - hurtig, flot og sammenhængende. Ellers går den glip af sit formål. Vi har besluttet at udvikle denne forbrugerside som open source, så den ikke er afhængig af en enkelt udbyder.
EU-forordningen om det digitale produktpas kræver, at produktpas er interoperable og baseret på åbne standarder - dvs. at de kan overføres mellem tjenester og systemer i stedet for at være bundet til en enkelt udbyder. Uafhængighed af tjenesteudbyderen er altså ikke et tillæg, men en del af kravet.
Transpareo Time Machine er det værktøj, der konkretiserer dette krav. Da hvert produktpas leveres i åbne standarder - resolver-neutral identifikation, kanonisk serialisering, offentligt offentliggjorte nøgler - og rendereren er open source under GPL v3, er visningen af et produktpas aldrig afhængig af vores platform.
Ansvaret for et produktpas ligger hos en økonomisk aktør - producenten, en importør eller en bemyndiget repræsentant. Hvis denne beslutter at forlade Transpareo og skifte til en anden udbyder, forbliver visningen stabil: Den samme open source-renderer viser fortsat de allerede offentliggjorte versioner samt historikken uændret, og en ny udbyder, der anvender de samme åbne standarder, vises af nøjagtig den samme app. Dataene flytter med, forbrugerne oplever ingen afbrydelse, og ingen behøver at vente på en migrering.
Øverst i hvert produktpas vises et mærke: Verificeret af Transpareo. Det viser resultatet af en kontrol, der ikke finder sted på vores server, men i besøgende brugers browser - baseret på de indlæste bytes og udstederens offentlige nøgler.
To uafhængige instanser underskriver hver DPP-version: udstederen og Transpareo. Begge underskrifter skal kunne verificeres, for at mærket bliver grønt. Med Bring Your Own Key (BYOK) driver udstederen sit eget signaturendepunkt - Transpareo opbevarer aldrig den private nøgle og tilføjer kun den uafhængige modsignatur. På den måde opstår der en udstedersignatur, som Transpareo selv ikke kan generere. En kompromitteret server kan ikke forfalske afkrydsningen, da kontrollen foregår hos besøgende selv.
Hvis man vil vide det helt præcist, skal man klikke på mærket. Bagved kan man se signaturkæden, hashværdierne og den sammenkædede versionshistorik. Hvis du blot ønsker informationen, kan du blot ignorere det og læse videre i produktpasset.
Den samme kontrol findes også som en selvstændig side: På DPP-verifikationen indsætter du manifest-URL’en for et hvilket som helst produktpass og ser det fulde kontrolresultat - uden at åbne passet selv.
Transpareo Time Machine er udgivet under GPL v3 på GitHub. Kloning, forking, selvhosting - alt er tilladt. Offentliggjorte ændringer skal selv være under GPL v3, så enhver videreudvikling kommer almenheden til gode.
Tre måder at integrere pakken på:
<script> og et <transpareo-time-machine src="…"> på siden, færdig - ingen build-trin.npm install transpareo-time-machine i din egen app.Hvis du kun har brug for signaturkontrol uden den fulde produktvisning, kan du importere søsterelementet <dpp-verifier> - ideelt til revisorværktøjer. Kan ses live på DPP-verifikationen.
Appen er primært udviklet til forbrugere. Den kan dog bruges af alle, der ønsker at se eller verificere produktdata uafhængigt.
EU kræver, at et registreret produktpas forbliver tilgængeligt i mindst ti år - også efter udstederens konkurs eller likvidation. En SaaS-udbyder eksisterer sjældent så længe. Derfor bygger vi platformen fra starten af på en sådan måde, at produktpassene forbliver anvendelige uafhængigt af os:
Hvis Transpareo-platformen forsvandt i morgen, ville DPP-versionerne og den open source-baserede renderer forblive.
Her er en beskrivelse af, hvad der foregår »under motorhjelmen«. Hvis du ikke har brug for at kende detaljerne, kan du springe dette afsnit over - appen fungerer alligevel.
Alt er dokumenteret i README på GitHub - inklusive frontend-arkitekturen (egen reaktiv kerne, ingen eksterne rammeværker) og vejledningen til selvhosting.
Transpareo Time Machine er forbrugersiden i en bredere indsats for at gøre digitale produktpas uafhængigt kontrollerbare. Læs mere her:
Den fulde kildekode, alle udgivelser og diskussionen om problemet findes i det offentlige repository.