Reproduzierbare Erkennungsqualität. Nicht "trust uns" — verify us.
Datenmaske veröffentlicht eine versionierte, reproduzierbare Benchmark-Stichprobe zur Erkennung deutscher personenbezogener Daten und zur Irreversibilität der Schwärzung. Methodik, Korpus-Hash und Rohdaten sind öffentlich; jede Zahl ist ihrer Quelle zugeordnet.
Korpus
6 PDFs
synthetisch, bepflanzt
PII-Entitäten
47
Ground-Truth
Irreversibel
✓ ja
MuPDF verifiziert
Stand
04.07.2026
Version 0.1.0
01 / Methodik
Wie gemessen wird
Korpus
Synthetische deutsche Test-PDFs (Arbeitsvertrag, Bewerbung, Behördenbescheid, Rechnung, Arztbrief, Anwaltsschreiben) mit platzierten PII-Entitäten und Ground-Truth-JSON-Sidecars.
Pipeline
pdfjs-dist (Textextraktion) → regelbasierte Muster + spaCy/GLiNER NER (selbst gehostet, EU) → MuPDF applyRedactions().
Hash
SHA-256 über die kanonische Ground-Truth-JSON-Konkatenation (scripts/test-docs/*.json) — nicht über rohe PDF-Bytes, da pdf-lib nicht-deterministische Metadaten einbettet.
Korpus-Hash (SHA-256)
1d16c4db88d511f471d724bcf9f3df02fe18aa25402e8015d162f5df52476436
Korpus: 6 synthetische deutsche Test-PDFs mit 47 platzierten PII-Entitäten (Arbeitsvertrag, Bewerbung, Behördenbescheid, Rechnung, Arztbrief, Anwaltsschreiben). Pipeline-Stufen: pdfjs-dist (Textextraktion) → regelbasierte Muster + spaCy/GLiNER NER (selbst gehostet, EU) → MuPDF applyRedactions(). Hash gebildet über die kanonische Ground-Truth-JSON-Konkatenation (scripts/test-docs/*.json). Irreversibilitäts-Nachweis ist deterministisch und offline reproduzierbar (scripts/redaction-claim-test.ts). Die Recall-Messung erfordert einen erreichbaren NER-Endpoint; der Runner scheitert geschlossen, wenn SPACY_API_URL nicht erreichbar ist, und überschreibt diese Datei nicht mit NaN-Messungen.
02 / Ergebnisse
Recall & Precision pro PII-Typ
Recall-Messung ausstehend
Die veröffentlichte Tabelle wird beim nächsten Release-Lauf mit erreichbarem NER-Endpoint (spacy.mokka-dev.de, selbst gehostet, EU) bevorratet. Der Runner scheitert geschlossen, wenn der Endpoint nicht erreichbar ist, und überschreibt diesen Stand nicht mit NaN-Messungen. So wird vermieden, dass ein NER-Ausfall während eines Release-Laufs eine falsche Zahl veröffentlicht (Fail-closed-Guard, siehe scripts/benchmark/run-benchmark.ts).
Befehl: SPACY_API_URL=https://spacy.mokka-dev.de pnpm run benchmark
03 / Irreversibilität
Nachweis: echte Content-Stream-Entfernung
Der Irreversibilitäts-Nachweis ist deterministisch und offline reproduzierbar. Er vergleicht eine klassische "manuelle" Schwärzung (schwarzes Rechteck über dem Text) mit der echten Datenmaske-Pipeline (MuPDF applyRedactions()).
Manuell — schwarzer Balken
Ein schwarzes Rechteck wird über die IBAN gezeichnet. Das PDF wird mit pdfjs-dist wieder ausgelesen.
IBAN wiederherstellbar: JA
Datenmaske — applyRedactions()
MuPDF entfernt den Text physisch aus dem Content-Stream; der Verifizierer prüft, dass die IBAN nicht mehr im Text extrahierbar ist.
IBAN entfernt: JAVerifizierung passed: true
Quelle: scripts/redaction-claim-test.ts (Runner-Hash: 3669496ba337feb8…). Geplante Test-IBAN: DE89 3704 0044 0532 0130 00.
Dritte-Partei-Referenz
Essex Software — Stichprobe öffentlich indizierter PDFs: bei rund jedem sechsten Dokument (17 %, n=72) war der vermeintlich geschwärzte Text noch auswählbar.
Quelle: https://essexsoftware.com/research/ — abgerufen 02.07.2026.
04 / Im Branchenvergleich
Status der Wettbewerber
Jede Wettbewerber-Aussage ist entweder eine Herstelleraussage (mit Quelle und Abrufdatum) oder eine datierte Eigenmessung. Wir veröffentlichen keine strittigen gemessenen "Wettbewerber-Recall = X %"-Zahlen (UWG §5).
Foxit PDF Editor
vendor english onlyLaut eigener Security-Seite unterstützt die Mustererkennung nur englischsprachige Dokumente — für deutsche PII also per Herstelleraussage nicht anwendbar.
Quelle: https://www.foxit.com/pdf-editor/security-and-privacy/ — abgerufen 04.07.2026.
Adobe Acrobat Pro
vendor no german nerAdobe liefert kein dediziertes deutsches NER-Musterpaket für die Schwärzung; Dokumente müssen manuell markiert werden.
Quelle: https://helpx.adobe.com/acrobat/using/redact-pdf.html — abgerufen 04.07.2026.
Docuflair
pendingManuelle Messung am selben Korpus geplant; Rohdaten werden unter scripts/benchmark/competitors/docuflair/ veröffentlicht.
Quelle: scripts/benchmark/competitors/MANIFEST.md — abgerufen 04.07.2026.
Vollständige Beleg-Liste: scripts/benchmark/competitors/MANIFEST.md.
05 / Selbst verifizieren
Reproduzierbarkeit
Machine-checkable API
Die committed Benchmark-Datei ist über einen öffentlichen Endpoint abrufbar; der Hash im Response-Header lässt sich per curl | sha256sum nachprüfen.
curl -s https://datenmaske.de/api/benchmark | sha256sum
# vergleiche mit X-Datenmaske-Benchmark-HashRunner selbst ausführen
Der Runner ist im Repo enthalten. Er regeneriert das Korpus, führt die echte Pipeline aus, bildet den Hash und scheitert geschlossen, wenn der NER-Endpoint nicht erreichbar ist.
git clone <repo>
cd datenmaske && pnpm install
SPACY_API_URL=https://spacy.mokka-dev.de pnpm run benchmark
# -> src/lib/benchmark/results.jsonQuellen: scripts/benchmark/run-benchmark.ts, scripts/redaction-claim-test.ts, scripts/generate-test-docs.ts.
Hinweis
Messung an synthetischem Korpus unter Laborbedingungen; nicht repräsentativ für beliebige Fremd-Dokumente. Wettbewerber-Status jeweils Herstelleraussage oder datierte Eigenmessung. Keine der hier veröffentlichten Zahlen ist ein versicherungsförmiges Versprechen — die Erkennungsvollständigkeit ist ein best-effort Prozesses, der menschliche Prüfung nicht ersetzt (AGB § 3(5)).