Transpareo Time Machine
Open-source consumentenapp voor elke DPP, niet alleen voor Transpareo-passen: scannen, door de geschiedenis van het product bladeren, een versienummer delen. Een tijdmachine voor DPP's.
Een tijdmachine voor DPP's
Stel je voor dat je een product in je hand houdt en de QR-code erop scant. In plaats van een PDF-bestand opent er een kleine app. Je ziet het product zoals het nu is: waaruit het bestaat, waar het vandaan komt, waar je op moet letten. Met één veegbeweging blader je terug in de tijd - elke versie die ooit is uitgebracht, kun je bekijken.
Dat is Transpareo Time Machine, onze open-source consumentenapp voor elk digitaal productpaspoort. De code staat onder GPL v3 op GitHub.
We bouwen deze app omdat de EU-verordening inzake het digitale productpaspoort is geschreven voor de consument - voor de persoon die het product in handen heeft. De meeste aanbieders maken er een nalevingsformulier van dat niemand twee keer scant. Wij maken er een app van die de consument ook daadwerkelijk opent.
Overtuig uzelf
De demo toont volledige productpaspoorten met voorbeeldgegevens: blader door de versiegeschiedenis en open het keurmerk - rechtstreeks in de browser, zonder account.
Wat de app doet
Vier contactmomenten vanuit het perspectief van de persoon die het product in de hand houdt. Geen inloggen, geen app installeren.
Scannen
Scan de QR-code met de camera van je smartphone. De app wordt in de browser geopend.
Bekijk het laatste nieuws
Het product in het hier en nu - onderdelen, materialen, herkomst, onderhoud, recycling.
Door de geschiedenis bladeren
Met één veegbeweging blader je terug in de tijd. Elke eerdere versie, met datum en reden van de wijziging.
Delen
Elke versie heeft een eigen link. Iemand deelt een bepaalde versie met vrienden of instanties.
Waarom eigenlijk?
De EU-verordening inzake het digitale productpaspoort is de grootste stap in de richting van producttransparantie sinds decennia. Als men de onderliggende teksten aandachtig leest, blijkt dat deze expliciet voor de consumenten is opgesteld. De overheden, de recyclers en de werkplaatsen spelen hierin een rol, maar de primaire ontvanger is de persoon die het product in handen heeft.
Cijfermatig gezien is de situatie duidelijk. Een gemiddelde Europese particulier zal tegen het einde van dit decennium tientallen tot honderden productpaspoorten per jaar kunnen scannen. Uitgaande van 200 miljoen huishoudens komt dat neer op miljarden consumenteninteracties per jaar. De wereld van de overheden en recyclers is daarentegen numeriek gezien verwaarloosbaar klein.
Als de verordening de consument moet bereiken, dan moet de consumentensite goed zijn opgezet - snel, aantrekkelijk en logisch. Anders schiet zij haar doel voorbij.
Wij hebben besloten deze consumentensite op basis van open source te bouwen, zodat zij niet afhankelijk is van één enkele aanbieder.
Het verloop is vastgelegd, het manifest is van ons
Een productpas verandert: een reparatie, een nieuw recyclingpercentage, een terugroepactie. De voorschriften vereisen daarom dat eerdere versies toegankelijk blijven: de norm voor opslag legt elke versie vast, de norm voor de interfaces zorgt ervoor dat elke versie gericht kan worden geraadpleegd. Wat de voorschriften openlaten, is het deel daartussenin: een lijst die alle versies van een pas tot één verhaal verbindt. Transpareo publiceert deze voor elk paspoort als een manifest, ondertekend, waarbij elke versie via een vingerafdruk aan haar voorganger is gekoppeld. Zo bladert de tijdmachine door de geschiedenis van een product, en controleert een lezer niet alleen of een versie authentiek is, maar ook of deze de actuele versie is in een ononderbroken reeks.
De app is hier echter niet aan gebonden. Als u haar in plaats van het manifest een afzonderlijk pasje toont, zoals elke aanbieder dat volgens de open standaarden publiceert, geeft zij deze ene versie weer, controleert zij de handtekening indien aanwezig, en laat zij de tijdlijn eenvoudigweg weg. Een pas zonder handtekening wordt niet als fout beschouwd, maar wordt eenvoudigweg zonder keurmerk weergegeven. Zo geeft dezelfde app ook passen weer die nooit bij Transpareo zijn geweest.
Overstappen naar een andere aanbieder zonder onderbreking
De EU-verordening inzake het digitale productpaspoort schrijft voor dat productpaspoorten interoperabel moeten zijn en gebaseerd op open standaarden - overdraagbaar tussen diensten en systemen, in plaats van gebonden aan één enkele aanbieder. Onafhankelijkheid van de dienstverlener is dus geen extraatje, maar maakt deel uit van de vereisten.
Transpareo Time Machine is de oplossing die deze eis concreet invult. Omdat elke productpas wordt geleverd volgens open standaarden - resolverneutrale identificatie, canonieke serialisatie, openbaar gepubliceerde sleutels - en de renderer open source is onder GPL v3, is de weergave van een pas nooit afhankelijk van ons platform.
Verantwoordelijk voor een productpas is een marktdeelnemer - de fabrikant, een importeur of een gevolmachtigde. Mocht hij besluiten Transpareo te verlaten en over te stappen naar een andere aanbieder, dan blijft de weergave stabiel: de reeds gepubliceerde versies, inclusief de geschiedenis, worden door dezelfde open-source-renderer ongewijzigd weergegeven, en een nieuwe aanbieder die dezelfde open standaarden hanteert, wordt door precies dezelfde app weergegeven.
De gegevens gaan mee, de consumenten merken geen onderbreking en niemand hoeft te wachten op een migratie.
De verhuizing zelf is geen project. Transpareo Time Machine is een statische bundel: eenmaal gebouwd, naar een willekeurige webserver gekopieerd, klaar. De vormgeving die u in Transpareo voor uw pasjes hebt ingesteld, gaat als gepubliceerd stylesheet mee met elk pasje. De pasjesweergave waaraan uw klanten gewend zijn geraakt, ziet er op uw eigen server dus precies hetzelfde uit, inclusief kleuren, lettertype en logo.
Gecontroleerd in de browser, niet op onze server
Bovenaan elk productcertificaat verschijnt een keurmerk: Geverifieerd door Transpareo. Dit keurmerk geeft het resultaat weer van een controle die niet op onze server plaatsvindt, maar in de browser van de bezoeker - op basis van de geladen bytes en de openbare sleutels van de uitgever.
Elke DPP-versie wordt door twee onafhankelijke instanties ondertekend: de uitgever en Transpareo. Beide handtekeningen moeten verifieerbaar zijn, zodat het keurmerk groen wordt. Met Bring Your Own Key (BYOK) beheert de uitgever een eigen ondertekeningspunt - Transpareo bewaart de privésleutel nooit en voegt alleen de onafhankelijke tegenhandtekening toe. Zo ontstaat een ondertekening van de uitgever die Transpareo zelf niet kan genereren.
Een gecompromitteerde server kan het vinkje niet vervalsen, omdat de controle bij de bezoeker zelf plaatsvindt.
Wie het precies wil weten, klikt op het keurmerk. Daarachter ziet u de handtekeningketen, de hashes en de gekoppelde versiegeschiedenis. Wie alleen de informatie wil, negeert dit gewoon en leest verder in het productpaspoort.
Dezelfde controle is ook beschikbaar als zelfstandige pagina: op DPP-verificatie voert u de manifest-URL van een willekeurig productpaspoort in en ziet u het volledige controleresultaat - zonder het paspoort zelf te openen.
We maken de code openbaar
Transpareo Time Machine valt onder de GPL v3 op GitHub. Gepubliceerde aanpassingen moeten op hun beurt onder de GPL v3 vallen, zodat elke verdere ontwikkeling ten goede komt aan het algemeen belang.
Klonen, forken, zelf hosten - alles is toegestaan.
Hoe u de app kunt integreren - of dat nu met één regel in de pagina is, als pakket in uw eigen applicatie of volledig zelf gehost - staat in de README daar. Daarin vindt u ook het zusterelement voor de zuivere handtekeningcontrole, dat live draait op DPP-verificatie.
Wie de app op een zinvolle manier gebruikt
De app is in de eerste plaats ontwikkeld voor consumenten. Maar hij is geschikt voor iedereen die productgegevens zelfstandig wil bekijken of verifiëren.
- Eindgebruikers scannen, bekijken, bladeren en delen. Geen inloggen, geen trackers.
- Markttoezichthouders en overheidsinstanties bekijken het productpaspoort in software waarvan de broncode openbaar kan worden gecontroleerd.
- Werkplaatsen en recyclers zien de materiaalsamenstelling en demontage-instructies direct op het product.
- Merken en fork-beheerders passen de bundel aan hun eigen merk aan - CSS-tokens, eigen componenten, zelfhosting.
Wat gebeurt er als Transpareo er niet meer is?
De EU eist dat een geregistreerd productpaspoort ten minste tien jaar beschikbaar blijft - ook na een faillissement of liquidatie van de uitgever. Een SaaS-aanbieder blijft zelden zo lang bestaan. Daarom bouwen we het platform vanaf het begin zo op dat de productpassen onafhankelijk van ons bruikbaar blijven:
- Elke ondertekende DPP-versie wordt opgeslagen in een openbaar leesbare opslagplaats. De bytes plus de gepubliceerde openbare sleutels volstaan voor een latere verificatie.
- Zodra de productpassen bij het EU-register zijn geregistreerd, worden elke DPP-versie en het gebeurtenissenlogboek nog eens tien jaar lang gespiegeld in een tweede, alleen-lezen opslagplaats. Niemand - ook wij niet - kan deze gespiegelde kopieën achteraf wijzigen.
- Na opzegging blijven de korte productpas-URL’s via een omleiding op het Transpareo-platform bereikbaar.
- Transpareo Time Machine werkt ook ongewijzigd met gearchiveerde bestanden. De bundel roept ons tijdens de uitvoering niet terug; het heeft alleen de bytes en de sleutels nodig.
Als het Transpareo-platform morgen zou verdwijnen, zouden de DPP-versies en de open-source-renderer blijven bestaan.
Voor wie nieuwsgierig is naar technologie
Dit is wat er onder de motorkap gebeurt. Wie dit niet in detail hoeft te weten, kan dit gedeelte overslaan - de app werkt ook dan nog.
- GS1 Digital Link (ISO/IEC 18975): De URL van het productpaspoort bevat de productidentificatie in een gestandaardiseerde vorm - resolverneutraal, uitwisselbaar tussen aanbieders.
- JSON Canonicalization Scheme (RFC 8785): Een deterministische serialisatie. Zo blijft de hash reproduceerbaar, ongeacht de volgorde van de velden of witruimte - iedereen kan hem zelf narekenen.
- W3C Data Integrity Proofs (eddsa-jcs-2022): Ed25519-handtekening over de gecanoniseerde vorm (JCS).
- /.well-known/dpp-keys/ (RFC 8615): openbare sleutels van de uitgevers bevinden zich onder een gestandaardiseerd pad - geen verzoek aan Transpareo nodig, elke verificateur vindt ze zelf.
Alles is gedocumenteerd in de README op GitHub - inclusief de frontend-architectuur (eigen React-kern, geen externe frameworks) en de bouwinstructies voor zelfhosting.
Gerelateerde onderwerpen
Transpareo Time Machine vormt het onderdeel voor consumenten van een breder initiatief om digitale productpaspoorten onafhankelijk controleerbaar te maken.

EU-DPP-register: wat het ontwerp van de Commissie van 29 april beoogt
Het EU-register is een lijst, geen kopie van uw gegevens. U voert de gegevens zelf in; het register slaat uw adres en vingerafdruk op.

Have Your Say: Wat we aan de Europese Commissie hebben geschreven over de verordening inzake het DPP-register
Er lag een wetsontwerp op tafel en iedereen mocht er opmerkingen in opschrijven. Dat hebben wij gedaan, vier keer, met betrekking tot de vier punten waar een fabrikant in eerste instantie bezwaar tegen heeft.
Bekijk de code op GitHub
De volledige broncode, alle releases en de discussie over de issue vindt u in de openbare repository.






