Prüfbarer Nachweis

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

    Der Sockel

    Die Kennung des Regelwerks, sein Fingerabdruck, sein Stichtag und der Fingerabdruck jedes ausgeführten Artefakts.

  3. 3

    Die Engine

    Name und Version des Prozessors, und ob das Urteil tatsächlich gegen die Artefakte des Manifests erging.

  4. 4

    Das Urteil

    Der Status sowie die Zahl der Fehler, Warnungen und bestandenen Regeln.

  5. 5

    Die Integrität

    Der SHA-256 einer kanonischen Form des Pakets: eine geordnete Zeilenfolge, unabhängig von der JSON-Formatierung.

  6. 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. 1

    Den Fingerabdruck nachrechnen

    Die kanonische Form des Pakets rekonstruieren und deren SHA-256 bilden. Er muss dem Feld integrity.hash entsprechen.

  2. 2

    Den öffentlichen Schlüssel holen

    Das JWKS veröffentlicht aktive und widerrufene Schlüssel. Der signierende wird durch signature.key_id benannt.

  3. 3

    Die Signatur prüfen

    Eine gewöhnliche Ed25519-Prüfung, mit der Bibliothek Ihrer Wahl. Nichts Proprietäres, keine Abhängigkeit von uns.

Oder in einem Aufruf
Ed25519
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.

Die vollständige Endpunkt-Referenz →