Lokale KI · Schwärzen · Kapitel 14 · 5 Min.
Der Anonymisierer von innen
Drei Schichten, die nacheinander suchen — jede findet, was die anderen übersehen. Mit einem echten Testlauf, Treffer für Treffer.
Das Werkzeug aus dem letzten Kapitel habe ich gebaut, weil ich es brauchte. Es sitzt auf einem Ordner, und was man hineinlegt, kommt geschwärzt wieder heraus. Dieses Kapitel zeigt, was dazwischen passiert — und warum es drei Schichten braucht statt einer.
Der Ablauf
- Text aus der PDF holen.
Ist es ein Scan ohne Textebene, läuft vorher eine Texterkennung darüber. - Suchen — in drei Durchgängen.
Erst Muster, dann Namenserkennung, dann das Sprachmodell. Dazu gleich mehr. - Zusammenführen.
Überschneidungen werden zusammengefasst, ausgenommene Wörter herausgenommen. - Schwärzen.
Der Text wird entfernt, das Rechteck gesetzt, ein Platzhalter eingetragen. - Nachprüfen.
Das Ergebnis wird noch einmal durchsucht. Findet der Prüflauf noch etwas, gilt das Dokument als nicht sauber und wandert in die Fehlerablage.
Die drei Schichten am echten Beispiel
Ich habe für diesen Kurs einen Nachunternehmervertrag mit ausgedachten Daten gebaut und durchlaufen lassen. Ergebnis: 19 Treffer, elf Sorten, Prüflauf sauber. Interessant ist, wer was gefunden hat:
Schicht 1 — Suchmuster (9 Treffer)
| Sorte | Gefunden |
|---|---|
| IBAN | DE02 1203 0000 0000 2020 51 |
| zwei Adressen | |
| Telefon | zwei Nummern |
| Aktenzeichen | 4 O 512/25 |
| Kundennummer | KD-884213 |
| Vertragsnummer | VN-2025-00417 |
| IP-Adresse | 192.168.14.7 |
Stumpfe Mustersuche, kein Verständnis nötig, hundertprozentig verlässlich. Diese Schicht ist die wichtigste, weil sie genau das findet, was am meisten schadet — und weil sie nie müde wird.
Schicht 2 — Namenserkennung (2 Treffer)
Hier arbeitet Presidio mit dem deutschen Sprachmodell de_core_news_lg
von spaCy — ein spezialisiertes Verfahren, das Personen, Orte und Organisationen im
Fließtext erkennt. Kein Sprachmodell im Sinne von Kapitel 2: Es unterhält sich nicht, es
markiert nur. Dafür ist es schnell und deutlich zuverlässiger als jede Regel.
Es fand „Sonnenberg“ und „Herrn Kellermann“ — beides Stellen mitten im Satz, weit weg von jedem Formularfeld.
Das ist der Punkt: In der Kopfzeile steht der Name ordentlich hinter „Ansprechpartner:“. Auf Seite drei steht er in einem Nebensatz. Muster finden das erste, nicht das zweite.
Schicht 3 — das Sprachmodell (8 Treffer)
Jetzt erst kommt Ollama ins Spiel, bei mir mit gemma3:4b. Es bekommt den Text
einer Seite und liefert eine Liste zurück — was es für schützenswert hält, mit Typ und
Risikoklasse.
| Sorte | Gefunden |
|---|---|
| Person | „Herr Dietrich Kellermann“, „Frau Petra Sonnenberg“ — jeweils vollständig mit Anrede |
| Adresse | „Lindenweg 12“, „14467 Potsdam“ |
| Firma | „Muster Bau GmbH“, „Elektro Sonnenberg e.K.“ |
| Projekt | „Erweiterung Umspannwerk Nord, Bauabschnitt 3“ |
| Rolle | „Bauleiter“ |
Das ist die Schicht, die Zusammenhang braucht. Dass eine Projektbezeichnung schützenswert sein kann, weil man daraus auf den Auftraggeber schließt, weiß keine Suchregel.
Drei Schichten, drei Stärken, kaum Überschneidung. Das ist die Bauanleitung für alles, was mit unzuverlässigen Werkzeugen arbeitet: Nicht das beste Verfahren suchen, sondern mehrere schwache so stapeln, dass jedes die Lücke des anderen deckt.
Wo es beim Testlauf danebenlag
Das Sprachmodell steckte „Muster Bau GmbH“ und „Elektro Sonnenberg e.K.“ in die Schublade Projekt statt Firma. Falsch einsortiert — gefunden hat es sie trotzdem, und weil alle Trefferklassen geschwärzt werden, fällt es hier nicht ins Gewicht.
Es zeigt aber, worauf man sich verlassen darf und worauf nicht. Auf das Finden kann man bauen. Auf die Einordnung nicht.
Die Leine für das Sprachmodell
Ein Sprachmodell, das mitentscheidet, was aus einem Dokument verschwindet, ist eine gefährliche Sache. Es könnte Wörter zurückmelden, die gar nicht dastehen — und dann würde an willkürlichen Stellen geschwärzt.
Dagegen gibt es genau eine Regel, und sie ist der Kern des ganzen Werkzeugs:
Ein Vorschlag zählt nur, wenn der genannte Text wortgleich auf der Seite steht. Sonst wird er verworfen und ins Protokoll geschrieben.
Und noch eine Feinheit dazu: Geschwärzt wird nicht der Text, den das Modell zurückgeschickt hat, sondern die gefundene Stelle im Dokument. Selbst wenn das Modell den Namen leicht verändert zurückgibt, wird das Original geschwärzt, nicht die Modellfassung.
Das ist der Unterschied zwischen „eine KI schwärzt mein Dokument“ und „eine KI schlägt Stellen vor, die ein Programm dann nachprüft“. Das erste würde ich niemandem empfehlen. Das zweite läuft bei mir seit Monaten.
Die eiserne Regel dahinter
Vier Festlegungen, an denen nicht gerüttelt wird:
- Die Quelldatei wird nie verändert. Was hineingelegt wird, bleibt, wie es war.
- Das Sprachmodell schreibt nichts in die PDF. Es liefert ausschließlich Vorschläge.
- Geschwärzt wird maschinell und immer gleich, nicht nach Ermessen.
- Die Zuordnungsliste — welcher Platzhalter war welcher Name — bleibt streng lokal. Es gibt im ganzen Werkzeug keinen Befehl, der sie irgendwohin schickt.
Der letzte Punkt ist der wichtigste und der am leichtesten zu übersehende. Die Zuordnungsliste ist gefährlicher als das Originaldokument: Sie ist die Auflösung, sortiert und maschinenlesbar.
Die Ausnahmeliste
Man kann Begriffe vom Schwärzen ausnehmen — den eigenen Vornamen etwa, damit das eigene Dokument lesbar bleibt. Mit einer harten Einschränkung: Sie wirkt nur auf Namen, Orte, Firmen, Rollen und Projekte.
Alles mit fester Form — IBAN, E-Mail, Aktenzeichen, Telefonnummer — wird immer
geschwärzt, auch wenn ein ausgenommenes Wort darin vorkommt. Steht „Roland“ auf der
Ausnahmeliste, bleibt „Roland Schmidt“ lesbar, aber roland.schmidt@… verschwindet
trotzdem.
Eine Ausnahmeliste ist eine Einladung zum Fehler. Wer sie baut, sollte von vornherein festlegen, worauf sie nicht wirken darf — und diese Grenze härter machen als die Liste selbst.
Drei Schichten, drei Stärken, kaum Überschneidung. Und: Eine Ausnahmeliste ist eine Einladung zum Fehler.
Was ist der Unterschied zwischen „eine KI schwärzt mein Dokument“ und „eine KI schlägt Schwärzungen vor“?
Wer haftet. Im ersten Fall verlässt du dich darauf, dass sie nichts übersehen hat — im zweiten siehst du die Vorschläge durch und entscheidest. Nur der zweite Fall ist bei Personendaten vertretbar.
Kapitel 14 von 20 · Stand: 13.08.2026
Achtung
In einem Satz