Wie HideReveal genau funktioniert
Diese Seite beschreibt die Funktionsweise der HideReveal-Desktop-App auf technischer Ebene — für IT- und Sicherheitsverantwortliche, die vor dem Einsatz genau wissen möchten, was mit den Daten passiert. Wenn Sie eher eine Schritt-für-Schritt-Anleitung suchen, lesen Sie die Bedienungsanleitung. Fragen zur DSGVO-Konformität behandelt separat die Datenschutzerklärung.
Inhalt
- Architektur: ausschließlich lokale Verarbeitung
- Wo das Datenverzeichnis gespeichert wird
- Token-Format
- Wie die Excel-Anonymisierung funktioniert
- Wie die Word-/PowerPoint-/TXT-Anonymisierung funktioniert — und ihre Grenzen
- Wie die Entschlüsselung (De-Anonymisierung) funktioniert
- Was HideReveal nicht tut
1. Architektur: ausschließlich lokale Verarbeitung
HideReveal ist eine gewöhnliche Desktop-Anwendung (Python + Tkinter), die als Prozess auf Ihrem eigenen Computer läuft. Die App stellt im Rahmen ihres Betriebs keinerlei Netzwerkverbindungen her — sie lädt weder Dateien noch daraus extrahierte Werte noch das Token↔Wert-Verzeichnis auf einen HideReveal-Server hoch, weil es für diesen Zweck schlicht keinen solchen Server gibt. Der gesamte Anonymisierungs- und Entschlüsselungsprozess läuft im Arbeitsspeicher der App und in der unten beschriebenen lokalen Datenbankdatei ab.
Das unterscheidet die App von hidereveal.eu, der Website, die Sie gerade lesen — diese Website nutzt mit Ihrer Zustimmung Google Analytics 4 für Besucherstatistiken. Die Desktop-App hat damit nichts zu tun und enthält keinerlei eigene Telemetrie oder Analytik. Details zur Website finden Sie in der Datenschutzerklärung.
2. Wo das Datenverzeichnis gespeichert wird
Die Zuordnung „Originalwert → Token" wird in einer lokalen SQLite-Datenbank gespeichert (Datei anonymizer.db), im systemüblichen Anwendungsdatenverzeichnis:
- Windows:
%APPDATA%\HideReveal\anonymizer.db(der „Roaming"-Ordner Ihres Benutzerprofils) - macOS:
~/Library/Application Support/HideReveal/anonymizer.db - Linux:
$XDG_DATA_HOME/HideReveal/anonymizer.db, oder~/.local/share/HideReveal/anonymizer.db, falls diese Umgebungsvariable nicht gesetzt ist
Dies ist ein einziger, gemeinsamer Speicherort für alle auf diesem Computer angelegten Projekte — jedes Projekt besteht in dieser Datenbank aus einem eigenen Satz von Einträgen, unterschieden durch seine eigene ID. Die Datenbankdatei wird niemals synchronisiert oder irgendwohin gesendet — es handelt sich um eine gewöhnliche Datei auf der Festplatte, die Sie genauso schützen können wie jede andere sensible Datei auf diesem Rechner (z. B. durch Festplattenverschlüsselung).
Bei der „schnellen Anonymisierung" (ohne dauerhaftes Projekt) landen die Zuordnungen ebenfalls in derselben Datenbank — der Unterschied besteht darin, dass die ID dieses Ad-hoc-Projekts nur für die Dauer des jeweiligen Programmlaufs im Arbeitsspeicher existiert und außerhalb der Token-Datenbank selbst nirgends festgehalten wird. Nach einem Neustart der App lässt sie sich über die Oberfläche also nicht mehr „wiederfinden" — es sei denn, Sie besitzen noch eine Ausgabedatei, in der diese ID eingebettet ist (siehe unten).
3. Token-Format
Jedes Token hat die Form KURZCODE_TAG_ZUFALL, z. B. A1B2C3_PESEL_XZ9KQP2M:
- KURZCODE — ein kurzer Hash des Projekts, aus dem der Wert stammt,
- TAG — ein semantischer Tag-Code (z. B.
PESEL,EMAIL,KWOTA), unabhängig von der Sprache der Oberfläche, - ZUFALL — acht zufällige Zeichen (Buchstaben A-Z und Ziffern), erzeugt mit der Python-Standardbibliotheksfunktion
secrets.choice— einer für kryptografische Zwecke geeigneten Quelle, keinem gewöhnlichen, vorhersehbaren Zufallsgenerator.
Ein Token ist damit in sich geschlossen: Es verrät den Originalwert nicht von selbst, trägt aber genug Kontext (welche Art von Daten, aus welchem Projekt), um für Menschen lesbar zu sein und später zuverlässig entschlüsselt werden zu können — selbst wenn Zeilen aus unterschiedlichen anonymisierten Dateien zufällig in derselben Tabelle oder demselben Dokument landen.
4. Wie die Excel-Anonymisierung funktioniert
Dieser Vorgang läuft in einem Projekt (bzw. einer Sitzung der schnellen Anonymisierung) immer zuerst und baut dabei das in Abschnitt 2 beschriebene Verzeichnis auf — jeder aus der Excel-Datei anonymisierte Wert wird zusammen mit dem ihm zugewiesenen Token darin gespeichert. Erst wenn dieses Verzeichnis existiert, können anschließend verknüpfte Word-, PowerPoint- oder Textdateien anonymisiert werden (siehe Abschnitt 5).
Nach der Auswahl der zu anonymisierenden Spalten liest HideReveal alle Tabellenblätter der Arbeitsmappe (nicht nur das aktive) und schreibt jedes davon unter seinem ursprünglichen Namen zurück — auch Blätter, auf denen keine der ausgewählten Spalten vorkommt (diese bleiben unverändert). Alle Spalten werden als Text statt als Zahlen gelesen, um eine typische Excel-Falle zu vermeiden: das Abschneiden einer führenden Null bei zahlenartigen Werten (z. B. einer Sozialversicherungsnummer, die mit „0" beginnt).
Derselbe Wert in derselben Spalte erhält innerhalb eines Projekts immer dasselbe Token — die App extrahiert zunächst die eindeutigen Werte einer Spalte, übersetzt jeden davon einmal und wendet die Ersetzung erst danach auf die gesamte Spalte an.
Der Ausgabedatei wird ein verstecktes Tabellenblatt _METADATA mit der Projekt-ID hinzugefügt — dies dient rein informativen Zwecken (damit die Oberfläche z. B. anzeigen kann, zu welchem Projekt eine Datei gehört) und wird für die Entschlüsselung selbst nicht benötigt (siehe Abschnitt 6); beim Zurückschreiben einer entschlüsselten Datei wird es wieder entfernt.
5. Wie die Word-/PowerPoint-/TXT-Anonymisierung funktioniert — und ihre Grenzen
Word-Dokumente, PowerPoint-Folien und Textdateien (.txt, .md, .csv) werden mit demselben Verzeichnis anonymisiert, das zuvor bei der Anonymisierung einer Excel-Datei in diesem Projekt aufgebaut wurde — das heißt, es werden wörtliche Vorkommen bereits bekannter Werte ersetzt, nicht neu im Dokument erkannte sensible Daten. Es muss also zuerst etwas im Verzeichnis stehen, bevor ein Dokument anonymisiert werden kann: Anonymisieren Sie zuerst die zugehörige Excel-Datei im selben Projekt.
Der Abgleich erfolgt an Wortgrenzen und hat einige bewusste Vereinfachungen:
- Er unterscheidet Groß-/Kleinschreibung — „Hans Müller" und „hans müller" sind für den Abgleich zwei unterschiedliche Werte.
- Er erkennt keine grammatikalische Flexion — kennt das Verzeichnis „Hans Müller", werden Formen wie „Müllers" oder „Müllern" nicht erkannt und ersetzt. Das betrifft vor allem polnischen und deutschen Text; im Englischen ist es kaum relevant.
- Längere Werte werden vor kürzeren abgeglichen (z. B. „Hans Müller" vor bloßem „Hans"), um zu vermeiden, dass nur ein Teil eines längeren Werts ersetzt wird.
Darüber hinaus kann der Text eines Absatzes in Word und PowerPoint intern in mehrere Formatierungsfragmente („Runs") aufgeteilt sein — durch manuelle Formatierung, Autokorrektur oder die Art des Einfügens. Um eine Übereinstimmung, die sich über zwei solche Fragmente erstreckt, nicht zu übersehen, fügt HideReveal den gesamten Absatztext vor der Suche nach zu ersetzenden Werten zusammen und schreibt das Ergebnis anschließend in das erste Fragment dieses Absatzes zurück. Der Preis dieser Vereinfachung ist der Verlust von Formatierungen, die innerhalb eines geänderten Absatzes variierten (z. B. wenn nur ein Wort darin fett war) — die Formatierung des Absatzes als Ganzes sowie seines ersten Fragments bleibt erhalten.
6. Wie die Entschlüsselung (De-Anonymisierung) funktioniert
Die Entschlüsselung funktioniert anders, als man erwarten könnte: HideReveal muss nicht wissen, aus welchem Projekt ein eingefügter Text oder eine geladene Datei stammt. Die App durchsucht den Inhalt einfach nach allem, was wie ein Token aussieht (ein Muster aus Großbuchstaben, Ziffern und Unterstrichen in mindestens drei Segmenten), und prüft jeden Kandidaten gegen die lokale Datenbank. Etwas, das zufällig wie ein Token aussieht, aber keines ist, wird in der Datenbank einfach nicht gefunden und bleibt im Text unverändert.
Deshalb funktioniert der Tab „Einfügen & aufdecken" mit jedem aus einem KI-Chatfenster eingefügten Text, ohne dass bekannt sein muss, aus welchem Projekt die Daten stammen — und eine Excel-/Word-/PowerPoint-/TXT-Datei lässt sich sogar ohne Zugriff auf das ursprüngliche Projekt entschlüsseln, solange die darin enthaltenen Tokens noch in der lokalen Datenbank dieses Computers existieren.
7. Was HideReveal nicht tut
- Es sendet keine Dateien oder daraus extrahierten Werte an einen Server — der gesamte Prozess läuft lokal ab.
- Es enthält keine eigene Telemetrie oder Analytik (anders als die Website, siehe oben).
- Es beurteilt nicht, ob eine bestimmte Spalte „garantiert" personenbezogene Daten enthält — der vorgeschlagene Tag ist nur eine Vermutung anhand des Spaltennamens; die Entscheidung, was anonymisiert wird, liegt immer bei der Person, die die App nutzt.
- Es ersetzt keine Risikobewertung oder Rechtsberatung — es ist ein unterstützendes Werkzeug, die Verantwortung für die Einhaltung geltender Datenschutzvorschriften bleibt bei der Person, die es nutzt (siehe Datenschutzerklärung).