Das versiegelte Nachweispaket
Ein Urteil ohne Nachweis ist eine Meinung. Jede Prüfung kann ein signiertes Paket erzeugen, das festhält, welches Dokument geprüft wurde, gegen genau welche Regeln, mit welcher Engine und mit welchem Ergebnis — von Dritten prüfbar, ohne uns aufzurufen.
Was in das Siegel eingeht
Jede Schicht steuert einen Fingerabdruck bei. Das Siegel deckt alle ab: Ein geändertes Byte auf einer beliebigen Schicht ändert das Siegel.
- 1
Das Dokument
SHA-256 der eingereichten Datei, ihre Größe, ihr Format und Profil. Das Dokument selbst geht nicht ins Paket ein — nur sein Fingerabdruck.
- 2
Der Sockel
Die Kennung des Regelwerks, sein Fingerabdruck, sein Stichtag und der Fingerabdruck jedes ausgeführten Artefakts.
- 3
Die Engine
Name und Version des Prozessors, und ob das Urteil tatsächlich gegen die Artefakte des Manifests erging.
- 4
Das Urteil
Der Status sowie die Zahl der Fehler, Warnungen und bestandenen Regeln.
- 5
Die Integrität
Der SHA-256 einer kanonischen Form des Pakets: eine geordnete Zeilenfolge, unabhängig von der JSON-Formatierung.
- 6
Die Signatur
Eine Ed25519 über diesen Fingerabdruck, mit der Kennung des signierenden Schlüssels.
Was ein Paket enthält
Dieses wurde tatsächlich von der Pipeline erzeugt. Sein Signaturschlüssel entsteht für den Lauf und ist in keinem JWKS veröffentlicht: Es zeigt die Form, es lässt sich nicht prüfen.
- document.sha256
- 6ad797b11ee5f072bbfd3f41f9e03e4d5d037d1a1988fc7dcb221d082956f60f
- ruleset.id
- eu-en16931-2026-08
- ruleset.sha256
- 3433666fbc3699ef3e194c56f4151c484f2b689cb9c352cfd269be1009b4c6e6
- engine.version
- saxon-12.5
- verdict.status
- needs_input
- verdict
- 1 err · 0 warn · 65 pass
- integrity.hash
- 8ea5a64a9154bb56678d8844bc3c9218c89efe81084bbe59bb958070c92e1d0c
- signature.alg
- EdDSA
Dieses Paket erging gegen eu-en16931-2026-08. Ein veröffentlichter Sockel ist unveränderlich: Dieselbe Datei, an dieselbe Kennung geheftet, ergibt dasselbe Urteil, solange die Artefakte aufbewahrt werden — zehn Jahre, die steuerliche Aufbewahrungsfrist.
Das Paket, Feld für Feld
{
"version": "2",
"sealed_at": "2026-08-21T02:14:52Z",
"document": {
"sha256": "6ad797b11ee5f072bbfd3f41f9e03e4d5d037d1a1988fc7dcb221d082956f60f",
"bytes": 14619,
"format": "pdf",
"syntax": "cii",
"profile": "urn:cen.eu:en16931:2017"
},
"ruleset": {
"id": "eu-en16931-2026-08",
"sha256": "3433666fbc3699ef3e194c56f4151c484f2b689cb9c352cfd269be1009b4c6e6",
"sealed": true,
"effective_from": "2026-08-01",
"artifacts": [
{
"name": "saxon-he",
"version": "12.5",
"sha256": "98c3a91e6e5aaf9b3e2b37601e04b214a6e67098493cdd8232fcb705fddcb674"
},
{
"name": "schematron-cen",
"version": "1.3.16",
"sha256": "f821ce9320acc219081197ec893d7d3e8276ccd011fdff56c50e4f08b5a72fd0"
}
]
},
"engine": {
"name": "factlint-saxon",
"version": "saxon-12.5",
"pinned": true
},
"verdict": {
"status": "needs_input",
"errors": 1,
"warnings": 0,
"passes": 65
},
"integrity": {
"alg": "SHA-256",
"hash": "8ea5a64a9154bb56678d8844bc3c9218c89efe81084bbe59bb958070c92e1d0c"
},
"signature": {
"alg": "EdDSA",
"key_id": "example-key-not-published",
"value": "cuE7ZNrOutWJdM5Kan7QVorKx7hTP6ftIMjSBUaTOd-rUMZU4odsNMK1yiHduYHycnOoxp32qqrO6lvC61EyCg"
}
}Wie man ein Siegel prüft
- 1
Den Fingerabdruck nachrechnen
Die kanonische Form des Pakets rekonstruieren und deren SHA-256 bilden. Er muss dem Feld integrity.hash entsprechen.
- 2
Den öffentlichen Schlüssel holen
Das JWKS veröffentlicht aktive und widerrufene Schlüssel. Der signierende wird durch signature.key_id benannt.
- 3
Die Signatur prüfen
Eine gewöhnliche Ed25519-Prüfung, mit der Bibliothek Ihrer Wahl. Nichts Proprietäres, keine Abhängigkeit von uns.
curl -X POST https://api.factlint.com/v1/evidence/verify \ -H 'Content-Type: application/json' \ -d @pack.json
Die Prüfung ist kostenlos und ohne Schlüssel: Sie übermittelt uns kein Dokument und verlangt kein Vertrauen, also wird sie nicht berechnet.
https://api.factlint.com/.well-known/evidence-jwks.json
Was man uns fragt
Lässt es sich offline prüfen?
Ja, und genau darum geht es. Das Paket trägt alles Nötige; der öffentliche Schlüssel ist eine statische Datei, die man einmal zwischenspeichert. Eine Ed25519-Prüfung berührt kein Netz. Der Endpunkt existiert der Bequemlichkeit halber, nicht aus Notwendigkeit.
Was passiert, wenn Factlint verschwindet?
Bereits erzeugte Pakete bleiben prüfbar: Sie hängen von keinem Dienst ab. Verschwinden würde die Fähigkeit, neue zu erzeugen und eine Prüfung zu wiederholen — das Paket belegt dann, was geprüft wurde, aber niemand kann es nachstellen. Deshalb stehen die Artefakt-Fingerabdrücke darin: Sie benennen Pakete, die anderswo veröffentlicht sind, bei CEN, FNFE oder KoSIT.
Steckt das Dokument im Paket?
Nein, nur sein Fingerabdruck. Ein Paket verrät also keinen Kundennamen, keinen Betrag, keine IBAN und kann bedenkenlos zirkulieren. Im Gegenzug liegt die Aufbewahrung der Datei bei Ihnen: Ohne sie lässt sich der Fingerabdruck nicht nachrechnen.
Welchen rechtlichen Wert hat es?
Es ist ein technischer Nachweis, keine Zertifizierung. Das Paket hält fest, was unsere Engine getan hat, wann, und gegen welche Regeln — und dass nichts davon seither verändert wurde. Es macht eine Rechnung nicht konform, ist keine qualifizierte elektronische Signatur im Sinne von eIDAS und ersetzt keine Übermittlungspflicht. Was es in Prüfung oder Streit einbringt, ist Nachvollziehbarkeit: welche Regelversion an jenem Tag galt und was sie ergab.
Entwertet ein widerrufener Schlüssel alte Pakete?
Nein. Ein widerrufener Schlüssel bleibt im JWKS veröffentlicht, gerade damit die von ihm signierten Pakete prüfbar bleiben. Der Widerruf besagt, dass wir nicht mehr damit signieren, nicht dass das Signierte aufhört, wahr zu sein.