Eine Zeitmaschine für DPPs

Stellen Sie sich vor, Sie halten ein Produkt in der Hand und scannen den QR-Code darauf. Statt eines PDFs öffnet sich eine kleine App. Sie sehen das Produkt im Jetzt: woraus es besteht, wo es herkommt, was zu beachten ist. Eine Wischbewegung blättert zurück durch die Zeit - jede Version, die je veröffentlicht wurde, lässt sich ansehen.

Genau das können Sie jetzt ausprobieren: Die Demo zeigt einen vollständigen Produktpass mit Beispieldaten.

Das ist Transpareo Time Machine, unsere quelloffene Konsumenten-App für jeden Digitalen Produktpass. Der Code steht unter GPL v3 auf GitHub.

Wir bauen sie, weil die EU-Verordnung zum Digitalen Produktpass für die Konsumenten geschrieben wurde - für die Person, die das Produkt in der Hand hält. Die meisten Anbieter machen daraus ein Compliance-Formular, das niemand zweimal scannt. Wir machen daraus eine App, die der Konsument auch öffnet.

Was die App tut

Vier Berührungspunkte aus Sicht der Person, die das Produkt in der Hand hält. Kein Login, keine App-Installation.

1

Scannen

QR-Code mit der Smartphone-Kamera scannen. Die App öffnet sich im Browser.

2

Aktuelles ansehen

Das Produkt erscheint im Jetzt - Komponenten, Materialien, Herkunft, Pflege, Recycling.

3

Geschichte blättern

Eine Wischbewegung blättert zurück durch die Zeit. Jede frühere Version mit Datum und Anlass der Änderung.

4

Teilen

Jeder Versionsstand hat seinen eigenen Link. Eine Person teilt eine bestimmte Fassung mit Freunden oder Behörden.

Warum überhaupt

Die EU-Verordnung zum Digitalen Produktpass ist die grösste Verschiebung in Richtung Produkttransparenz seit Jahrzehnten. Sie ist - liest man die zugrunde liegenden Texte aufmerksam - explizit für die Konsumenten geschrieben. Die Behörden, die Recycler, die Werkstätten kommen mit; aber der primäre Empfänger ist die Person, die das Produkt in der Hand hält.

Zahlenmässig ist die Sache eindeutig. Eine durchschnittliche europäische Privatperson wird Ende des Jahrzehnts dutzende bis hunderte Produktpässe pro Jahr scannen können. Auf 200 Millionen Haushalte gerechnet sind das Milliarden Konsumenten-Interaktionen jährlich. Die Behörden- und Recycler-Welt ist daneben numerisch verschwindend klein.

Wenn die Verordnung beim Konsumenten ankommen soll, dann muss die Konsumentenseite gut gebaut sein - schnell, schön, schlüssig. Sonst verfehlt sie ihren Zweck. Wir haben uns entschieden, diese Konsumentenseite quelloffen zu bauen, damit sie nicht von einem einzelnen Anbieter abhängt.

Geprüft im Browser, nicht auf unserem Server

Oben in jedem Produktpass erscheint eine Plakette: Verifiziert durch Transpareo. Sie zeigt das Ergebnis einer Prüfung, die nicht auf unserem Server stattfindet, sondern im Browser des Besuchers - aus den geladenen Bytes und den öffentlichen Schlüsseln des Herstellers.

Zwei voneinander unabhängige Stellen signieren jede DPP-Version: der Hersteller und Transpareo. Beide Signaturen müssen prüfbar sein, damit die Plakette grün wird. Mit Bring Your Own Key (BYOK) betreibt der Hersteller einen eigenen Signatur-Endpunkt - Transpareo hält den privaten Schlüssel nie und ergänzt nur die unabhängige Gegensignatur. So entsteht eine Ausstellersignatur, die Transpareo selbst nicht erzeugen kann. Ein kompromittierter Server kann das Häkchen nicht fälschen, denn die Prüfung passiert beim Besucher selbst.

Wer es genau wissen will, klickt auf die Plakette. Dahinter sehen Sie die Signaturkette, die Hashes und die verkettete Versionshistorie. Wer nur die Information will, ignoriert das schlicht und liest weiter im Produktpass.

Dieselbe Prüfung gibt es auch als eigenständige Seite: Auf der DPP-Verifizierung fügen Sie die Manifest-URL eines beliebigen Produktpasses ein und sehen das vollständige Prüfergebnis - ohne den Pass selbst zu öffnen.

Den Code geben wir frei

Transpareo Time Machine steht unter GPL v3 auf GitHub. Klonen, forken, selbst hosten - alles erlaubt. Veröffentlichte Modifikationen müssen ihrerseits unter GPL v3 stehen, damit jede Weiterentwicklung der Allgemeinheit dient.

Drei Wege, das Bundle einzubinden:

  • Per Script-Tag: ein <script> und ein <transpareo-time-machine src="…"> in die Seite, fertig - kein Build-Schritt.
  • Per npm: npm install transpareo-time-machine in der eigenen App.
  • Selbst hosten: Bundle bauen, eigene Infrastruktur, null Drittabhängigkeiten zur Laufzeit.

Wer nur die Signaturprüfung ohne die volle Produktansicht braucht, importiert das Schwesterelement <dpp-verifier> - ideal für Auditoren-Tools. Live zu sehen auf der DPP-Verifizierung.

Wer die App sinnvoll einsetzt

Die App ist zuerst für Konsumenten gebaut. Sie funktioniert aber für alle, die Produktdaten unabhängig ansehen oder verifizieren wollen.

  • Endkonsumenten scannen, sehen, blättern, teilen. Kein Login, keine Tracker.
  • Marktüberwachung und Behörden sehen den Produktpass in einer Software, deren Quellcode öffentlich auditierbar ist.
  • Werkstätten und Recycler sehen Materialzusammensetzung und Demontage-Hinweise direkt am Produkt.
  • Marken und Fork-Betreiber passen das Bundle an die eigene Marke an - CSS-Tokens, eigene Komponenten, Selbst-Hosting.

Was passiert, wenn Transpareo nicht mehr da ist

Die EU verlangt, dass ein registrierter Produktpass mindestens zehn Jahre verfügbar bleibt - auch nach Insolvenz oder Liquidation des Herstellers. Ein SaaS-Anbieter hält selten so lange. Wir bauen die Plattform deshalb von Anfang an so, dass die Produktpässe unabhängig von uns nutzbar bleiben:

  • Jede signierte DPP-Version liegt in einem öffentlich lesbaren Speicher. Die Bytes plus die publizierten öffentlichen Schlüssel reichen für eine spätere Verifikation aus.
  • Sobald die Produktpässe beim EU-Register registriert sind, spiegelt ein zweiter, schreibgeschützter Speicher jede DPP-Version und das Ereignisprotokoll zusätzlich zehn Jahre lang. Niemand - auch wir nicht - kann diese Spiegelkopien nachträglich verändern.
  • Nach einer Kündigung bleiben die kurzen Produktpass-URLs über eine Weiterleitung auf der Transpareo-Plattform erreichbar.
  • Transpareo Time Machine läuft unverändert auch gegen archivierte Bestände. Das Bundle ruft uns zur Laufzeit nicht zurück; es braucht nur die Bytes und die Schlüssel.

Wenn die Transpareo-Plattform morgen verschwände, blieben die DPP-Versionen und der quelloffene Renderer.

Für die Tech-Neugierigen

Hier ist, was unter der Haube passiert. Wer das nicht im Detail wissen muss, kann diesen Abschnitt überspringen - die App funktioniert auch dann.

  • GS1 Digital Link (ISO/IEC 18975): Die Produktpass-URL trägt die Produktidentifikation in einer standardisierten Form - resolverneutral, austauschbar zwischen Anbietern.
  • JSON Canonicalization Scheme (RFC 8785): Eine deterministische Serialisierung. So bleibt der Hash unabhängig von Feldreihenfolge oder Whitespace reproduzierbar - jeder kann ihn selbst nachrechnen.
  • W3C Data Integrity Proofs (eddsa-jcs-sha256): Ed25519-Signatur über die kanonisierte Form (JCS).
  • /.well-known/dpp-keys/ (RFC 8615): Öffentliche Schlüssel der Aussteller liegen unter einem standardisierten Pfad - kein Anruf bei Transpareo nötig, jeder Verifizierer findet sie selbst.

Alles ist im README auf GitHub dokumentiert - inklusive der Frontend-Architektur (eigener reaktiver Kern, null externe Frameworks) und der Build-Anleitung für die Selbsthostung.

Code auf GitHub ansehen

Die vollständige Quelle, alle Releases und die Issue-Diskussion finden Sie im öffentlichen Repository.