Fähigkeit

Für das menschliche Auge transparent, ein Albtraum für KI-Screen-Reader

Buchstaben in der gerenderten Seite werden lautlos gegen visuell ähnliche Geschwister desselben Alphabets ausgetauscht — a wird zu e, b wird zu p, m wird zu w. Der Bereich um den Cursor des Benutzers zeigt die Originale, sodass eine lesende Person keine Änderung wahrnimmt. Eine OCR-Engine oder ein KI-Vision-Modell, das mit einem Screenshot derselben Seite gefüttert wird, liest völlig andere Wörter.

Pixelbasierte Verzerrung wird als Abwehr zunehmend ausgehöhlt: Moderne KI-Vision-Modelle wie GPT-4V, Claude Vision und Gemini werden immer besser darin, Text durch Rauschen, Unschärfe und adversarielle Muster zu lesen. Die tiefere Angriffsfläche ist der Text selbst. ZeroLeak ersetzt lautlos einen Teil der Buchstaben in der gerenderten Seite durch visuell ähnliche, aber semantisch unterschiedliche Geschwister desselben lateinischen Alphabets. Dort, wo sich der Cursor des Benutzers befindet, kippt ein Enthüllungsbereich den substituierten Text zurück zum Original — sodass der Mensch liest, wo er schaut, und die natürliche Mustererkennung des Gehirns den Rest ergänzt. Wenn dieselbe Seite in einen Screenshot aufgenommen und einem KI-Modell übergeben wird, hat das Modell keinen Enthüllungsbereich; es liest die substituierten Zeichen als tatsächlichen Inhalt, und was es zurückgibt, ist ein anderes Dokument.

Same-Script
Lateinische Buchstaben gegen lateinische Nachbarn ausgetauscht — nichts für OCR-Normalisierer zu rückgängig machen
Cursorgesteuert
Ein Enthüllungsbereich um den Cursor zeigt die Originale — der Benutzer liest, wo er schaut
DOM-Schicht
Arbeitet auf den Zeichendaten, ergänzend zur pixelbasierten Verzerrung

Pixelbasierte Abwehren erodieren; KI-Vision-Modelle lesen durch sie hindurch

Frühere Abwehren gegen KI-Screen-Reading arbeiteten auf der Pixelschicht — zufälliges Rauschen, Frequenzbereichsstörung, Sub-Pixel-Jitter, Micro-Blur, chromatische Verschiebungen. Diese sind weiterhin effektiv gegen klassische OCR-Engines und bleiben Teil der geschichteten Abwehr. Aber moderne Vision-Language-Models — GPT-4V, Claude Vision, Gemini und ihre Nachfolger — haben Tokenizer-bewusste Patch-Encoder, die Wörter zunehmend aus partiellen visuellen Hinweisen rekonstruieren. Die Pixel können verrauscht sein und das Modell erholt dennoch den zugrunde liegenden Text.

Die nächste Angriffsfläche liegt eine Schicht höher: das DOM. Innerhalb des Headless-Browsers, der die geschützte Seite rendert, besitzen wir die tatsächlichen Zeichendaten, die auf den Bildschirm gemalt werden. Wir können entscheiden, dass der Buchstabe an Position 47 des dritten Absatzes nicht mehr das Original ist; es ist ein visuell ähnliches, aber anderes Zeichen desselben Alphabets. Die OCR oder das VLM, das einen Screenshot dieser Seite betrachtet, sieht das substituierte Zeichen und meldet es als Wahrheit. Das Modell weiß nicht, dass es substituiert wurde; es hat nichts, womit es vergleichen könnte.

Das Schwierige ist, dies zu tun, ohne das Lesen für den menschlichen Benutzer zu unterbrechen. Der Enthüllungsmechanismus — ein kleiner Bereich um den Cursor, der substituierten Text zurück zum Original kippt — ist die Antwort. Menschen lesen durch Fixierung: Das Auge fixiert eine Phrase, die Mustererkennung des Gehirns ergänzt den Rest aus dem peripheren Sehfeld plus Kontext. Die Cursor-Enthüllung richtet sich darauf aus, wo der Benutzer tatsächlich schaut; der Rest der Seite kann substituiert bleiben, weil der Benutzer ihn ohnehin nicht Buchstabe für Buchstabe liest. Ein KI-Modell, das denselben Screenshot betrachtet, hat keinen solchen Cursor, keine solche Enthüllung — es liest alles als substituierten Text.

Buchstaben substituieren, enthüllen wo der Benutzer schaut

Ein Skript wird von ZeroLeaks Headless-Browser in jede geschützte Seite injiziert. Beim Start durchläuft das Skript das DOM, wählt visuell ähnliche Substitute für einen Teil der Buchstaben desselben lateinischen Alphabets aus und schreibt sie in die Seite. Die Position des Cursors steuert eine Enthüllungszone — wo auch immer der Benutzer schaut, scheinen die Originale durch. Alles außerhalb der Enthüllung bleibt substituiert.

Buchstaben lautlos gegen visuell ähnliche Geschwister desselben Alphabets ausgetauscht

Ein Zeichen an einer Position auf der Seite wird zu einem anderen Zeichen, das visuell ähnlich aussieht, aber ein anderer Buchstabe ist — a wird zu e, b wird zu p, m wird zu w, n wird zu u. Der Tausch erfolgt zwischen Buchstaben, die in der lateinischen Schrift eine visuelle Familie teilen, nicht zwischen Unicode-Lookalikes. Warum diese Unterscheidung wichtig ist: OCR- und KI-Vision-Pipelines normalisieren Unicode-Homoglyphen (kyrillisches a wird zu lateinischem a) zurück ins kanonische Latein. Substitutionen innerhalb derselben Schrift lassen dem Normalisierer nichts zu tun — das Modell liest das substituierte Zeichen als tatsächlichen Buchstaben.

Ein Enthüllungsbereich um den Cursor zeigt die Originale

Wohin immer der Benutzer den Cursor bewegt, kippt ein Bereich darum (standardmäßig ein Kreis, konfigurierbar als horizontales Band) die substituierten Zeichen zurück zu ihren Originalen. Der Benutzer liest, wo er schaut; die natürliche Mustererkennung des Gehirns übernimmt den Rest aus dem peripheren Sehfeld. Außerhalb der Enthüllung bleibt die Seite substituiert — was ein KI-Modell sieht, das den Screenshot betrachtet.

Statische Chiffre — jedes Zeichen erhält eine Substitution, die sich nicht ändert

Wenn die Seite lädt, erhält jeder substituierte Buchstabe einen spezifischen Ersatz, der für die Lebensdauer der Seite stabil bleibt. Es gibt kein Flackern, keine zeitliche Rotation, keine Animation im Sichtfeld des Benutzers — die Chiffre sitzt lautlos hinter der Cursor-Enthüllung. Ein früheres Design rotierte die Chiffre alle paar Frames; Benutzermüdigkeitstests zeigten, dass dies messbares Leseunbehagen verursachte, daher bleibt das finale Design statisch.

Läuft auf der DOM-Schicht, ergänzend zu pixelbasierten Abwehren

Text Cipher arbeitet innerhalb des DOM des Headless-Browsers — direkt auf den Zeichendaten, nicht auf den gerenderten Pixeln. Pixelschicht-Abwehren gegen KI-Vision-Modelle arbeiten darunter weiter; Text Cipher fügt eine orthogonale Angriffsfläche hinzu, mit der Pixelwiederherstellungstechniken nicht helfen können. Ein Angreifer, der die Pixelschicht durchbricht, muss den substituierten Text dennoch korrekt lesen. Ein Angreifer, der die originalen Zeichen irgendwie wiederhergestellt hat, muss immer noch die Pixelschicht überwinden.

Was die Chiffre tatsächlich tut

Jedes nachstehende Verhalten ist Teil des Produktionsdesigns nach der empirischen Ermüdungsrevision; die Live-Implementierung entspricht genau diesem. Die Konfiguration erfolgt pro geschütztem Service über die Betreiberkonsole.

Same-Script-lateinische Substitution, handkuratierte Tabelle

Substitutionen bleiben innerhalb des lateinischen Alphabets. Die Substitutionstabelle ist nach visueller Familie kuratiert: runde Bögen (a, e, o, c), gespiegelte Bögen (b, p, d, q), schmale Vertikalen (i, l, j, 1), Bögen (m, n, u, h, w), Unterlängen (g, y, j, q). Jeder Buchstabe in der Tabelle hat 2-4 visuelle Nachbarn; die Substitution wählt einen davon. Breitenübereinstimmung wird bevorzugt, damit kein Layout-Reflow entsteht.

Enthüllungszone — Kreis um Cursor oder horizontales Band

Die Standardform ist ein Kreis mit konfigurierbarem Radius (Standard 200 px). Eine alternative Bandform deckt einen horizontalen Streifen auf der Höhe des Cursors ab — nützlich für langseitige Inhalte, bei denen die Augenbewegung überwiegend horizontal ist. Die Form wird mit anderen ZeroLeak-cursorbasierten Effekten geteilt, sodass Operatoren einmal konfigurieren.

Statische Chiffre in einer Pro-Knoten-Map gespeichert

Wenn das Skript erstmals einen Textknoten sieht, speichert es den Originalwert in einer Pro-Knoten-Map und schreibt den substituierten Wert ins DOM. Nachfolgende Updates verwenden dieselbe Substitution — es gibt keine Frame-weise Rotation. Der Benutzer nimmt eine stille Seite wahr; die Chiffre ist hinter der Cursor-Enthüllung unsichtbar.

Via Headless-Browser-Skript-Hook injiziert

Das Substitutionsskript wird von der ZeroLeak-Engine in jedes im Headless-Chromium navigierte Dokument injiziert. Die geschützte Web-Anwendung wird nicht modifiziert; die Chiffre läuft als seitenseitiger Helfer zwischen dem gerenderten Dokument und der Anzeigeschicht des Benutzers. Es ist keine Koordination mit dem Code der geschützten Anwendung erforderlich.

Vom Benutzer eingegebene Formulareingaben sind ausgeschlossen

Text, den der Benutzer in Eingaben, Textbereiche oder contentEditable-Regionen tippt, ist von der Substitution ausgeschlossen. Die geschützte Anwendung sieht saubere Eingaben, so wie der Benutzer sie geschrieben hat. Suchfelder, Nachrichtenkomposition, Formulareinreichung — alles nicht betroffen.

Nur sichtbarer Text im Viewport wird berührt

Ein IntersectionObserver verfolgt, welche Textknoten tatsächlich sichtbar sind. Nicht im Bildschirm sichtbarer Text wird nicht substituiert (der Benutzer kann ihn sowieso nicht sehen). Wenn der Benutzer einen verborgenen Abschnitt in den Sichtbereich scrollt, wird die Substitution gerade rechtzeitig angewendet. Dies hält die laufenden Kosten proportional zu dem, was auf dem Bildschirm zu sehen ist, nicht zur Gesamtseitengröße.

Die Substitutionstabelle und was unberührt bleibt

Same-Script-visuelle Substitution ist das Herzstück der Technik. Die nachstehende Tabelle ist eine Stichprobe des tatsächlichen Produktions-Mappings; die vollständige Tabelle deckt alle Kleinbuchstaben, Großbuchstaben und ausgewählte Ziffern ab.

01

Runde Bögen — a, e, o, c

Diese vier Zeichen teilen alle die geschlossene Bogenform; eines durch ein anderes zu substituieren bewahrt die Silhouette auf Leseabstand. Ein Wort wie 'data' könnte in der substituierten Form zu 'doto' werden — ein Mensch, der es durch die Cursor-Enthüllung flüchtig betrachtet, liest sofort 'data', eine OCR oder ein KI-Modell, das die substituierte Form liest, gibt 'doto' zurück.

02

Gespiegelte Bögen — b, p, d, q

Diese vier sind visuelle Spiegel voneinander; eines durch ein anderes zu substituieren bewahrt das Muster aus vertikalem Stamm und Bogen. Das Wort 'database' könnte in Chiffreform zu 'patabose' werden — visuell nah genug, dass die Mustererkennung des Gehirns das Original wiederherstellt, semantisch unverwandt genug, dass ein KI-Modell, das es liest, das falsche Wort zurückgibt.

03

Bögen — m, n, u, h, w

Diese fünf teilen das Bogen-/Inverted-Bogen-/Wiederholter-Bogen-Muster; Substitution innerhalb dieser Familie bewahrt den Gesamtrhythmus des Textes. 'human' könnte zu 'wuwon' werden — auf einen Blick unter dem Cursor lesbar, für eine KI, die den substituierten Text liest, unerkennbar.

04

Warum keine Unicode-Homoglyphen (kyrillisch, griechisch)

Frühere Vorschläge verwendeten Unicode-Confusables (kyrillisches а für lateinisches a, griechisches ο für lateinisches o). Diese wurden abgelehnt, weil OCR-Pipelines und KI-Vision-Modelle diese zurück ins kanonische Latein normalisieren — Tesseract mit einem russischen Sprachpaket auf gemischtem Latein-Kyrillisch-Text gibt saubere lateinische Ausgabe zurück, weil der Sprachmodell-Zweite-Pass kyrillische Homoglyphen auf ihre lateinischen Entsprechungen projiziert. Substitutionen innerhalb derselben Schrift lassen nichts zu normalisieren.

05

Was unberührt bleibt — Canvas, SVG-Text, Formulareingaben

Text, der innerhalb von HTML5-Canvas oder SVG gerendert wird, ist nicht Teil des DOM-Textknoten-Sets; die Chiffre berührt ihn nicht. Ebenso bleibt Text, den der Benutzer in Eingaben und Textbereiche tippt, sauber. Diese Abdeckungslücken sind bewusst: Canvas- und SVG-Inhalte werden parallel von den Pixelschicht-Abwehren behandelt, und Formulareingaben müssen sauber bleiben, damit die geschützte Anwendung funktioniert.

Wo Text Cipher den Pfad schließt

KI-Vision-Modelle, die den Bildschirm erfassen

Benutzer mit persönlichen KI-Assistenten auf ihrem Telefon oder neben ihrer Workstation — jeder kann einen Screenshot in GPT-4V oder Claude Vision einfügen und ihn bitten, zusammenzufassen. Mit Text Cipher wird die KI-Zusammenfassung auf dem substituierten Text aufgebaut — sie gibt plausibel aussehende Ausgabe zurück, die bei näherer Betrachtung von dem abweicht, was auf dem Originalbildschirm stand.

Finanzberichte und Deal-Room-Dokumente

Dokumente, die auf dem Bildschirm gelesen, aber nicht über ein KI-Tool exfiltriert werden sollen. Ein Screenshot, der für eine KI-Analyse aufgenommen wird, gibt unleserliche Zahlen und veränderte Namen zurück — die KI berichtet zuversichtlich Inhalte, die nicht dem eigentlichen Dokument entsprechen.

Patientenakten, die von KI-Assistenten analysiert werden

Medizinisches Personal mit Nur-Lese-Zugriff auf Patientenakten kann keinen externen KI-Assistenten sinnvoll nutzen, um die Daten zusammenzufassen oder abzufragen — die KI sieht substituierten Text. Klinische Erkenntnisse bleiben in der geschützten Umgebung; der KI-Aufnahmepfad gibt ein anderes Dokument zurück.

Regierungs- und Geheimdienstkonsolen

Von Analysten eingesehene vertrauliche Inhalte. Jedes von außerhalb der geschützten Umgebung konsultierte KI-Tool liest substituierten Text, nicht das ursprüngliche vertrauliche Material. Die Offenlegungsgrenze hält am KI-Aufnahmepfad genauso wie am Screenshot-Pfad.

Häufige Fragen

Beeinflusst die Substitution, wie leicht ein Mensch die Seite lesen kann?
Das Lesen findet am Cursor statt. Der Enthüllungsbereich zeigt die Originale, wo der Benutzer schaut; die natürliche Mustererkennung des Gehirns übernimmt den Rest aus dem peripheren Sehfeld, wo die Lesbarkeit ohnehin geringer ist. Empirische Lesemüdigkeitstests führten zur aktuellen statischen (nicht rotierenden) Chiffre; das frühere rotierende Design verursachte messbares Unbehagen, die statische Version nicht.
Was ist mit Touch-Geräten, die keinen Cursor haben?
Nur-Touch-Zugriff ist im typischen ZeroLeak-Deployment (Unternehmensbetreiber, Analysten, Auftragnehmer an Desktop-Workstations) ungewöhnlich, aber für Touch-Kontexte kehrt der Enthüllungsmechanismus zu einem Tippen-und-Halten-Modell zurück, bei dem der berührte Bereich die Enthüllungszone ist. Für Workflows, die überwiegend touch- und leseintensiv sind, kann Text Cipher pro geschütztem Service deaktiviert werden, zugunsten allein der Pixelschicht-Abwehren.
Warum keine kyrillischen oder griechischen Lookalikes?
OCR-Engines und KI-Vision-Modelle normalisieren Unicode-Homoglyphen während ihrer Sprachmodellphase zurück ins kanonische Latein. Ein kyrillisches 'а', das in lateinischen Text eingefügt wird, wird zum Zeitpunkt der Ausgabeerzeugung zu einem regulären lateinischen 'a' gefaltet — die Substitution hinterlässt keine Spur. Same-Script-lateinische Substitution (a wird zu e) hat nichts zu normalisieren; das substituierte Zeichen ist der kanonische Buchstabe, den das Modell liest.
Was deckt die Chiffre NICHT ab?
Text, der innerhalb von HTML5-Canvas oder SVG gerendert wird, ist nicht Teil des DOM-Textknoten-Sets; die Chiffre berührt ihn nicht. Pixelschicht-Abwehren decken diese Oberflächen ab. Text innerhalb von Formulareingaben und Textbereichen, den der Benutzer getippt hat, ist ebenfalls ausgeschlossen, damit die geschützte Anwendung saubere Eingaben erhält. Bilder von Text (Fotografien, in der Seite eingebettete Screenshots) liegen ebenfalls außerhalb des DOM-Text-Bereichs.
Wie kombiniert sich dies mit Anti-OCR-Pixelabwehren?
Die beiden sind komplementär, nicht überlappend. Pixelschicht-Abwehren (Anti-OCR-Schutz) stören, wie das gerenderte Bild von der Zeichenerkennung gelesen wird. Text Cipher arbeitet eine Schicht darüber — selbst wenn ein KI-Vision-Modell jede pixelbasierte Abwehr umgeht und die Seite sauber liest, liest es den substituierten Text. Um beide zu überwinden, müsste ein Angreifer die Pixelschicht durchbrechen, um saubere Zeichen zu sehen, UND die originalen zugrundeliegenden Buchstaben aus den substituierten wiederherstellen — zwei orthogonale Probleme.
Wie ist die Leistungsauswirkung auf die Benutzersitzung?
Das Substitutionsskript läuft im Renderer des Headless-Browsers, nur auf Textknoten, die tatsächlich im Viewport sichtbar sind. Cursorgesteuerte Enthüllungsaktualisierungen drosseln auf den Animations-Frame des Browsers und verwenden eine Bewegungsschwelle, sodass kleine Mausbewegungen keine Neuzeichnungen auslösen. Auf Standard-Hardware fügt die Chiffre einen kleinen Bruchteil einer Millisekunde pro Frame hinzu; für den Benutzer sichtbare Interaktion bleibt flüssig.

Die Chiffre in einer Live-Demo erleben

Wir laden eine Seite, bewegen den Cursor über den Text, damit Sie normales Lesen sehen, nehmen einen Screenshot und geben ihn an Tesseract, GPT-4V und Claude Vision — und zeigen Ihnen den sehr unterschiedlichen Text, den jedes davon zurückgibt.