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.

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.

Sehen Sie selbst

Die Demo zeigt vollständige Produktpässe mit Beispieldaten: Blättern Sie durch die Versionsgeschichte und öffnen Sie die Prüf-Plakette - direkt im Browser, ohne Konto.

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.

Der Verlauf ist Vorschrift, das Manifest ist von uns

Ein Produktpass ändert sich: eine Reparatur, eine neue Rezyklatquote, ein Rückruf. Die Vorgaben verlangen darum, dass frühere Stände abrufbar bleiben: Die Norm zur Speicherung friert jede Version ein, die Norm zu den Schnittstellen sieht vor, dass sich jede Version gezielt lesen lässt. Was die Vorgaben offen lassen, ist das Stück dazwischen: eine Liste, die alle Versionen eines Passes zu einer Geschichte verbindet. Transpareo veröffentlicht sie zu jedem Pass als Manifest, signiert, jede Version per Fingerabdruck an ihre Vorgängerin gekettet. Damit blättert die Zeitmaschine durch die Geschichte eines Produkts, und ein Leser prüft nicht nur, dass eine Version echt ist, sondern dass sie die aktuelle einer lückenlosen Folge ist.

Die App hängt aber nicht daran. Zeigt man ihr statt des Manifests einen einzelnen Pass, wie ihn jeder Anbieter nach den offenen Standards veröffentlicht, stellt sie diese eine Version dar, prüft ihre Signatur, wenn sie eine trägt, und lässt die Zeitleiste einfach weg. Ein Pass ohne Signatur gilt nicht als Fehler, sondern wird schlicht ohne Prüfsiegel gezeigt. So rendert dieselbe App auch Pässe, die nie bei Transpareo waren.

Anbieterwechsel ohne Bruch

Die EU-Verordnung zum Digitalen Produktpass verlangt Produktpässe, die interoperabel und auf offenen Standards aufgebaut sind - übertragbar zwischen Diensten und Systemen, statt an einen einzelnen Anbieter gebunden. Unabhängigkeit vom Dienstleister ist also kein Zusatz, sondern Teil der Vorgabe.

Transpareo Time Machine ist das Stück, das diese Vorgabe konkret macht. Weil jeder Produktpass in offenen Standards ausgeliefert wird - resolverneutrale Identifikation, kanonische Serialisierung, öffentlich publizierte Schlüssel - und der Renderer quelloffen unter GPL v3 steht, hängt die Darstellung eines Passes nie an unserer Plattform.

Verantwortlich für einen Produktpass ist ein Wirtschaftsakteur - der Hersteller, ein Importeur oder ein Bevollmächtigter. Entscheidet er sich, Transpareo zu verlassen und zu einem anderen Anbieter zu wechseln, bleibt die Darstellung stabil: Die bereits veröffentlichten Versionen samt Verlauf zeigt derselbe quelloffene Renderer unverändert weiter an, und ein neuer Anbieter, der dieselben offenen Standards bedient, wird von genau derselben App dargestellt.

Die Daten wandern mit, die Konsumenten sehen keinen Bruch, und niemand muss auf eine Migration warten.

Der Umzug selbst ist kein Projekt. Transpareo Time Machine ist ein statisches Bundle: einmal gebaut, auf einen beliebigen Webserver kopiert, fertig. Die Gestaltung, die Sie in Transpareo für Ihre Pässe eingerichtet haben, reist als veröffentlichtes Stylesheet mit jedem Pass. Die Pass-Ansicht, an die sich Ihre Kunden gewöhnt haben, sieht auf Ihrem eigenen Server also genauso aus, samt Farben, Schrift und Logo.

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

Zwei voneinander unabhängige Stellen signieren jede DPP-Version: der Aussteller und Transpareo. Beide Signaturen müssen prüfbar sein, damit die Plakette grün wird. Mit Bring Your Own Key (BYOK) betreibt der Aussteller 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. Veröffentlichte Modifikationen müssen ihrerseits unter GPL v3 stehen, damit jede Weiterentwicklung der Allgemeinheit dient.

Klonen, forken, selbst hosten - alles erlaubt.

Wie Sie die App einbinden, ob mit einer Zeile in der Seite, als Paket in der eigenen Anwendung oder komplett selbst gehostet, steht im README dort. Sie finden darin auch das Schwesterelement für die reine Signaturprüfung, das auf der DPP-Verifizierung live läuft.

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 Ausstellers. 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-2022): 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.