Findet Ihr Werkzeug in einem Scan nichts, hat es meist gar keinen Text gelesen. Ein gescanntes Dokument ist ein Bild. Schwärzen lässt es sich erst, wenn eine Texterkennung die Wörter samt Position findet und die Pixel an diesen Stellen ersetzt werden.
Erste Fehlerquelle: Die Seite enthält keinen Text
Ein Scanner fotografiert, und viele Geräte erzeugen ein PDF mit einem Rasterbild pro Seite und ohne jeden Text. Ein Programm, das nur Text auswertet, findet darin keine Namen und meldet null Treffer. Weil technisch nichts fehlschlägt, prüft niemand nach, obwohl die Seite voller Namen ist.
Die Software muss also zuerst Wörter samt Position aus dem Bild gewinnen. Es genügt nicht zu wissen, dass auf Seite drei „Müller“ steht. Man muss den Bildausschnitt kennen, der getilgt werden soll.
Adobe beschreibt in der Hilfe zu Acrobat, dass ein Scan zuerst die Texterkennung durchlaufen muss, bevor sich der Inhalt durchsuchen oder bearbeiten lässt. Das trifft zu, bedeutet aber, dass der Bearbeiter an diesen Schritt selbst denken muss.
Presidio, ein ursprünglich bei Microsoft entstandenes Open-Source-Projekt, liefert die Schwärzung von Bildern als eigene Komponente, getrennt von der Textanalyse. Auch dort ist ein Bild ein eigenes Problem, das die Textanalyse nicht löst.
Zweite Fehlerquelle: Die Texterkennung liest falsch
Tesseract, die verbreitete Open-Source-Software, die auch promptShield nutzt, ordnet Bildpunkte mithilfe von Sprachdaten Zeichen zu. Liest sie ein deutsches Dokument mit den Daten einer anderen Sprache, entstehen Wörter wie „Muller“ statt „Müller“ oder „StraBe“ statt „Straße“.
Für die Erkennung personenbezogener Daten genügt „fast richtig“ nicht. Liest die Software eine einzige Ziffer falsch, schlägt das IBAN-Muster bei der Prüfziffer fehl. Der erkannte Text sieht trotzdem ordentlich aus und weckt keinen Verdacht.
Hinzu kommt die Auflösung. Ein stark verkleinerter Scan hat für Briefköpfe, Fußzeilen und Stempel zu wenige Pixel, und kein Sprachpaket gleicht das aus.
Dritte Fehlerquelle: Die Abdeckung liegt nur obenauf
Die häufigste Scheinschwärzung ist ein schwarzes Rechteck, das als eigenes Objekt über der Seite liegt. In einem Bearbeitungsprogramm lässt es sich beiseiteschieben, und darunter liegt das unveränderte Bild. Entscheidend ist, ob die Pixel an der Stelle ersetzt wurden.
Viele Scanner legen zudem eine unsichtbare Textschicht unter das Bild, die jede Kopierfunktion ausliest. Dazu kommen Alternativtexte, Metadaten, Formularfelder und vorher erzeugte Vorschaubilder. Warum eine Markierung keine Schwärzung ist, zeigen wir für juristische PDFs mit Textebene.
Was § 203 StGB und die DSGVO verlangen
Gescannt werden in Kanzleien und Praxen gerade Ausweiskopien und Patientenakten, Vollmachten und unterschriebene Verträge. Für Berufsgeheimnisträger gilt § 203 StGB unabhängig von der DSGVO. Dabei zählt nicht, ob der Name in einer Textdatei oder in einem Bild stand.
Wer einen Scan an einen Cloud-Dienst schickt, braucht nach Art. 28 DSGVO einen Auftragsverarbeitungsvertrag. Gesundheitsdaten sind besondere Kategorien nach Art. 9 DSGVO, mit strengeren Regeln aus DSGVO und BDSG. Die Landesdatenschutzbehörden oder der BfDI fragen, was die Datei enthielt, als sie das Haus verließ.
Ein Scan gilt deshalb erst als geschwärzt, wenn ein Mensch die Funde auf dem Bild bestätigt hat. Null Treffer sind bei einem Scan ein Grund zur Nachprüfung.
Wie promptShield einen Scan lokal verarbeitet
Eine Seite ohne Textebene wird mit 300 dpi gerendert und mit Tesseract gelesen, in der Dokumentsprache plus Englisch. Heraus kommen Wörter mit Koordinaten, ohne einen eigenen Schritt, an den jemand denken müsste.
Präzise Muster erfassen IBAN, Steuer-Identifikationsnummer und Sozialversicherungsnummer, ein lokales Erkennungsmodell erfasst Namen, Firmen und Anschriften. Ihre eigenen Ausdrücke ergänzen den Rest. Eine Analyse durch ein Sprachmodell ist standardmäßig aus. Ein Name aus dem Briefkopf auf Seite eins wird auch auf Seite vier markiert.
Jeder Fund ist ein Bildausschnitt, dessen Pixel beim Entfernen ersetzt werden. Beim Kodieren steht dort ein Code, dessen Länge sich nach dem ersetzten Text richtet. Darunter entsteht eine neue durchsuchbare Textschicht. Wie Kodieren und Dekodieren zusammenspielen, erklären wir gesondert.
Der Export ersetzt den Wert auch dort, wo er unsichtbar mitreist: in ActualText, Alternativtexten, XMP-Metadaten, PieceInfo, Sprungzielen und Formularfeldern. Ein vorher erzeugtes Vorschaubild wird von jeder Seite mit Fund entfernt, weil sich in einem Rasterbild nichts ersetzen lässt.
Herunterladen lässt sich die Datei erst, wenn die Funde im Überprüfen-Dialog bestätigt sind, und damit kommen die Codes ins Code-Register. Wer vorher klickt, erfährt, was fehlt, und gelangt direkt in die Überprüfung. Bei Scans zählt das besonders, weil nur ein Mensch den handschriftlichen Namen am Rand bemerkt.
Die Desktop-Anwendung arbeitet vollständig offline, im Tarif Pro auch ohne Lizenzabfrage und Absturzberichte. Die kostenlose Browser-App sendet beim Start ein anonymes Startsignal, das Dokument bleibt aber auch dort auf Ihrem Gerät.
Wo auch dieses Verfahren scheitern kann
Mitgeliefert werden acht Sprachpakete: Deutsch, Englisch, Französisch, Spanisch, Italienisch, Niederländisch, Portugiesisch und Polnisch. Ein tschechischer Mietvertrag wird mit einem unpassenden Modell gelesen und liefert plausible, aber falsche Wörter. Das ist schlechter als ein leeres Ergebnis, weil es nach getaner Arbeit aussieht.
Zudem erkennt kein lokales Modell jede Kennung, denn Handschrift, schräge Seiten und Stempel senken die Trefferquote. Deshalb steht die Überprüfung vor dem Herunterladen. Warum wir die Zuordnung von Text und Position selbst programmiert haben, steht an anderer Stelle.
Fragen aus der Praxis
Warum hat mein Werkzeug in einem Scan keine Daten gefunden?
Meist, weil es gar keinen Text gefunden hat. Lässt sich auf der Seite kein Wort markieren und kopieren, hat die Datei keine Textebene.
Lässt sich ein anonymisierter Scan noch durchsuchen?
Ja, promptShield baut unter dem Bild eine durchsuchbare Textschicht neu auf. An entfernten Stellen findet die Suche nichts, an kodierten Stellen den Code, den Dekodieren später auflöst.
Lässt sich der entfernte Text wiederherstellen?
Beim Entfernen nicht, denn die Pixel sind ersetzt und der Wert ist auch aus den unsichtbaren Teilen getilgt. Beim Kodieren holt Dekodieren ihn aus dem lokalen Code-Register zurück, das bewusst nicht verschlüsselt ist. Codes gelten je Ordner, ein anderer Ordner vergibt eigene.
Brauche ich für die Texterkennung die richtige Sprache?
Ja, Tesseract liest mit einem Modell je Sprache, und promptShield kombiniert die Dokumentsprache mit Englisch. Pakete liegen nur für die acht genannten Sprachen bei. Prüfen Sie die Dokumentsprache vor der Erkennung, besonders bei gemischten Akten.
Prüfen Sie beim nächsten Stapel eine Seite von Hand. Lässt sich kein Wort markieren, hat das Werkzeug die Seite nie gelesen.