Datenschutzerklärung
Zuletzt aktualisiert: Oktober 2026
Maßgebliche Fassung: Die verbindliche Fassung dieser Datenschutzerklärung ist die englische Version. Bitte lesen Sie die englische Datenschutzerklärung. Die folgende Zusammenfassung dient nur der Orientierung.
Kurzfassung
Erkennung und Schwärzung personenbezogener Daten (PII) laufen auf Ihrem Gerät, und kein Erkennungsschritt sendet Ihre Dokumente an einen Server. Die App ist aber keine Anwendung ohne Netzwerkzugriff: Sie stellt Anfragen für Lizenz, Testversion, Downloads von Modellen und OCR-Sprachdaten, Ollama auf diesem Rechner, optionale KI-Funktionen über geschwärzten Text, Updates und, nur nach Ihrer Einwilligung, Analyse und Feedback. Das Originaldokument verlässt Ihr Gerät nie: Textextraktion und Texterkennung (OCR) laufen lokal, Cloud-OCR gibt es nicht. Die Erkennung übersieht außerdem Daten, und geschwärzter Text ist nicht anonymisiert. Lesen Sie den geschwärzten Text, bevor Sie ihn irgendwohin senden.
Verantwortlicher
Creatiwi AI
Republik Polen
Kontakt: [email protected]
Lokale Verarbeitung
Maskeno ist "local-first". Die Erkennung und Schwärzung läuft auf Ihrem Gerät, sobald die Modelle dort vorhanden sind. Eingesetzt werden Muster- und Prüfsummen-Erkenner aus Microsoft Presidio, der mehrsprachige nym-Klassifikator und das OPF-Modell für Personen und Adressen sowie ein GLiNER2-Modell nur für Polnisch (die Modelle laufen über ONNX Runtime). Auch die Texterkennung (OCR) gescannter Seiten und Bilder läuft ausschließlich lokal, mit dem in die App integrierten Tesseract (Standard) oder mit Ollama auf diesem Rechner. Ihre Dokumente, die extrahierten Texte, die erkannten PII-Spans und die geschwärzten Ausgabedateien bleiben auf Ihrem Gerät. Verlassen kann es nur geschwärzter Text, den Sie selbst mit Ask AI senden (siehe unten).
Was Ihr Gerät verlässt
Der Betrieb der App erfordert Netzwerkanfragen. Wir listen sie offen auf, statt zu behaupten, es verlasse "niemals" etwas Ihr Gerät:
- Testversion: bei der Registrierung werden eine pseudonyme Geräte-ID, die Betriebssystem-Plattform und die App-Version an unseren Trial-Server (einen Cloudflare Worker) gesendet. Für Statusabfragen wird die Geräte-ID gesendet, für Nutzungsmeldungen die Geräte-ID mit der Anzahl der Projekte und Seiten. Dies ist nicht von einer Analyse-Einwilligung abhängig. Eine Lizenz beendet diese Statusabfragen und Nutzungsmeldungen nicht: Sie hebt die Testlimits auf, die App fragt den Teststatus aber weiterhin ab und meldet die Nutzung.
- OCR-Sprachdaten: wenn Sie OCR in einer Sprache ausführen, deren Sprachdatei nicht im Sprachdaten-Cache der App liegt (beim ersten Mal und erneut, nachdem dieser Cache geleert wurde), lädt die App die Tesseract-Sprachdatei dieser Sprache (zum Beispiel Polnisch und Englisch) vom Sprachdaten-CDN von tesseract.js (jsDelivr) herunter. Den Cache legt die App im temporären Ordner Ihres Betriebssystems ab, den das System oder ein Bereinigungsprogramm leeren kann. Das ist eine einfache Download-Anfrage ohne Dokumentinhalt, Geräte-ID oder Lizenzschlüssel. Damit die OCR vollständig offline bleibt, setzen Sie die Umgebungsvariable
TESSDATA_PATHin der Umgebung, aus der die App gestartet wird, auf einen Ordner mit den gzip-komprimierten Sprachdateien, benannt<lang>.traineddata.gz(für ein polnisches Dokumentpol.traineddata.gzundeng.traineddata.gz). Einfache.traineddata-Dateien funktionieren ebenfalls, wenn der Ordner jede Sprache, die die App braucht, als einfache Datei enthält und keine davon als.gz-Datei; mischen Sie die beiden Formen nicht in einem Ordner. Für eine Sprache, deren Datei dort fehlt, greift die App nicht auf den Download zurück. - Lizenzierung: wenn Sie einen Lizenzschlüssel eingeben, werden der Schlüssel und die Geräte-ID an Polar.sh gesendet, um die Lizenz zu aktivieren und etwa alle 7 Tage erneut zu prüfen. Bei der Aktivierung werden zusätzlich Plattform und App-Version übermittelt.
- Modell-Downloads: fehlt für eine Voreinstellung ein Modell auf Ihrem Gerät, wird es heruntergeladen. Die Voreinstellungen secure, legal und medical benötigen das nym-Modell (etwa 376 MB). legal und medical benötigen zusätzlich das OPF-Modell (etwa 917 MB), secure benötigt es für Text, der nicht polnisch ist. Für polnischen Text benötigen legal und medical außerdem das polnische GLiNER2-Modell (etwa 395 MB). Alle drei kommen von models.audior.app, unserem eigenen Speicher bei Cloudflare R2; das nym- und das OPF-Modell weichen auf Hugging Face aus, wenn dieser Host nicht erreichbar ist, mit einem Fehler antwortet oder andere Bytes liefert. Das GLiNER2-Modell hat keinen Ausweichweg. Jede Datei wird beim Download gegen eine festgelegte Größe und einen festgelegten SHA-256-Hash geprüft. Dabei werden keine Dokumentdaten gesendet; ist die Umgebungsvariable
HF_TOKENgesetzt, geht sie bei einem Ausweich-Download als Bearer-Token an Hugging Face. Die Voreinstellung developer lädt nichts herunter. - Ask-AI-Modellliste und Prüfung des API-Schlüssels: liegt für die Modellauswahl von Ask AI keine zwischengespeicherte Liste vor (sie wird eine Stunde lang zwischengespeichert) oder aktualisieren Sie die Liste, ruft die App sie von OpenRouter ab, mit Ihrem OpenRouter-API-Schlüssel, sofern Sie einen gespeichert haben. Das Testen des OpenRouter-Schlüssels in den Einstellungen sendet diesen Schlüssel an OpenRouter. Dabei werden keine Dokumentdaten gesendet. Wenn Sie OpenRouter nicht einrichten, entfallen diese Anfragen.
- Ollama: die App spricht ausschließlich mit Ollama auf diesem Rechner. Für Ollama akzeptiert sie nur eine Loopback-Adresse (localhost, 127.x.x.x oder ::1) und lehnt jede andere ab. Sie prüft die Adresse beim Speichern, löscht bei jedem Start eine gespeicherte Nicht-Loopback-Adresse und prüft sie vor jedem OCR-Lauf erneut, weil die OCR das ursprüngliche, ungeschwärzte Dokument sieht. Es handelt sich um Status-, Versions- und Modelllisten-Abfragen, Modell-Downloads und -Löschungen, Seitenbilder bei OCR mit Ollama sowie Prompt und geschwärzten Text bei Ask AI mit Ollama. Statusabfragen laufen automatisch, sobald die Einstellungen oder das Ask-AI-Panel geöffnet werden, auch wenn Sie Ollama nie nutzen, und lassen sich nicht abschalten. Alle diese Anfragen gehen an diese Loopback-Adresse.
- OCR: nichts verlässt Ihr Gerät. Die OCR läuft ausschließlich lokal: mit dem in die App integrierten Tesseract (Standard) oder mit Ollama auf diesem Rechner. Cloud-OCR gibt es nicht, und Seitenbilder werden nie an einen Cloud-Anbieter gesendet.
- Ask AI und Prompt-Pakete (optional): Ihr gewählter Prompt und der geschwärzte Projekttext gehen an OpenRouter (mit Ihrem eigenen API-Schlüssel), an Ollama auf diesem Rechner, über einen Link mit dem Text an chatgpt.com oder dorthin, wo Sie einen kopierten Prompt einfügen. Was dieser Text enthält, beschreibt der nächste Abschnitt.
- Absturzberichte & Nutzungsanalyse (Opt-in): standardmäßig deaktiviert und nur nach Ihrer Einwilligung aktiv, die Sie im Einwilligungsdialog oder in den Einstellungen erteilen. Sentry erhält Absturzberichte (Fehlermeldungen und Stacktraces, versehen mit einer zufälligen Installations-ID), Aptabase erhält Nutzungsereignisse. Dokumentinhalte werden absichtlich nicht angehängt. Im Hauptprozess durchläuft der Text eines Fehlers (Meldung, Stack, Breadcrumbs, Tags) einen strengen Bereiniger, der Pfade, E-Mail-Adressen, IBANs, lange Zahlen und zitierten Text ersetzt und jedes Wort, das nicht zu den eigenen Meldungswörtern der App gehört, durch einen Unterstrich; die Absturzberichte im App-Fenster bereinigen nur Dateipfade, anderer Text kann dort also mitgesendet werden. Ein Bereiniger ist ein Sicherheitsnetz, keine Garantie. Namen und Textwerte von Nutzungsereignissen werden vor dem Senden geprüft und gekürzt. Ein Widerruf der Einwilligung stoppt neue Nutzungsereignisse und neue Absturzberichte des Hauptprozesses; bereits eingereihte Berichte können noch gesendet werden, und die Absturzberichte im App-Fenster bleiben bis zum Neustart der App aktiv.
- Feedback (optional): beim Absenden des Feedback-Formulars erhält unser Team über einen Slack-Webhook Ihre Angaben und Auswahlen im Formular (einige Textfelder werden gekürzt, erkannte sensible Zeichenfolgen ersetzt), einen Zeitstempel, die App-Version, Plattform und Version des Betriebssystems, den Namen des konfigurierten OCR-Anbieters und die Angabe, ob eine Lizenzdatei vorhanden ist. Bei Fehlerberichten ist das Kästchen "Logs einschließen" standardmäßig angehakt. Das Formular zeigt die Logzeilen vor dem Senden an, und der gezeigte Text ist der gesendete Text: nur Warn- und Fehlereinträge, die ein Build mit bereinigendem Logger geschrieben hat, höchstens 20 Einträge und 2.900 Zeichen. Jede Zeile durchläuft den strengen Bereiniger (Pfade, E-Mail-Adressen, IBANs, lange Zahlen und zitierter Text werden ersetzt, ebenso jedes Wort, das nicht zu den eigenen Meldungswörtern der App gehört). Die App schreibt Logeinträge als feste Meldungen mit Zahlen und Codes, nicht als freien Text. Das ist ein Schutz, keine Garantie: ein Dokumentwort, das zugleich ein eigenes Wort der App ist, kann durchgehen. Auch der Text, den Sie ins Formular tippen, wird bereinigt. Entfernen Sie den Haken, um keine Logzeilen zu senden. Ist in der App keine Webhook-Adresse konfiguriert, wird nichts gesendet.
- Updates: die App sucht etwa 10 Sekunden nach jedem Start und auf Anforderung bei GitHub Releases nach Updates und lädt sie automatisch herunter. Die Anfragen enthalten die Plattform und eine zufällige Update-ID, die die Update-Bibliothek einmal erzeugt und in Ihrem Benutzerdatenordner speichert; die App-Version wird nicht mitgesendet, der Download eines Updates kann aber verraten, welche Version Sie verwenden. Das gilt für jedes Release-Build, auch die portable Windows-Version, und lässt sich nicht abschalten. Paketierte Entwicklungs-Builds haben das Veröffentlichen deaktiviert.
Jede Anfrage, die Ihren Rechner verlässt, macht Ihre IP-Adresse (oder die Ihres VPN oder Proxys) für den empfangenden Server sichtbar. Die Geräte-ID ist ein pseudonymer Hardware-Fingerabdruck, nicht Ihr Name oder Ihre E-Mail-Adresse. Sie dient dazu, Testlimits durchzusetzen und eine Lizenz an ein Gerät zu binden.
Was ein KI-Anbieter bei Ask AI erhält
Ask AI sendet Ihren Prompt zusammen mit dem geschwärzten Text. Das ist kein Freibrief für unbedenkliches Senden:
- Spans, die Sie abgelehnt haben, bleiben sichtbar, sofern sie nicht von einer anderen Schwärzung abgedeckt werden.
- PII, die die Erkenner nicht gefunden haben, wird unverändert gesendet.
- Platzhalter wie
<PRIVATE_PERSON_1>sind Pseudonyme, keine Anonymisierung. Erkannte Spans mit gleicher Kategorie und gleichem normalisiertem Text teilen sich einen Platzhalter, einige gebeugte Formen den Platzhalter ihrer Ausgangsform. Fragmente zusammengeführter Spans und von Hand hinzugefügte Spans erhalten eigene Nummern. Wiederholte Platzhalter zeigen dem Anbieter daher, wie die App Erwähnungen gruppiert hat. Diese Gruppierung ist keine verlässliche Identität oder Zählung, deutet aber an, wie viele verschiedene Personen, Telefonnummern oder Konten das Dokument enthält. - Alles um die Platzhalter herum (Rollen, Daten, Orte, Ereignisse und jedes nicht als PII erkannte Detail) geht so wie geschrieben an den Anbieter.
Die Erkennung ist unvollständig, und die Trefferquote hängt von Voreinstellung und Sprache ab. Die App zeigt eine Risikobewertung. Bei hohem Risiko verlangen das Senden über OpenRouter, das Kopieren des Prompts und das Öffnen eines ChatGPT-Links eine Bestätigung; die Ausführung über Ollama auf diesem Rechner fragt nicht nach. Ask AI ist nicht verfügbar, solange die Erkennung als unvollständig oder nicht verfügbar gekennzeichnet ist.
Lesen Sie den geschwärzten Text, bevor Sie ihn senden. Der ChatGPT-Button legt den gesamten Prompt in den Link, der in Ihrem Browser geöffnet wird; ein solcher Link kann im Browserverlauf verbleiben.
Das integrierte OCR bewertet jede gescannte Seite, die es liest. Wird eine Seite als schwach oder unlesbar bewertet, bitten Ask AI und der Export des geschwärzten Textes Sie zu bestätigen, dass Sie die Seite angesehen haben; der Hauptprozess verweigert den Export, bis Sie bestätigt haben. Ihre Bestätigung gilt für den Text dieser Seite und entfällt, wenn die Seite erneut gelesen wird. Die Wertung ist ein Sicherheitsnetz mit Grenzen: Sie gilt nicht für mit Ollama gelesene Seiten (ohne Konfidenzwert), nicht für Dokumente ohne OCR und nicht für ältere Projekte, und eine gute Wertung beweist nicht, dass alles auf der Seite gelesen wurde, weil von der Seitenanalyse verworfener Text nicht gezählt wird.
Dienste Dritter
Das ursprüngliche, ungeschwärzte Dokument geht nie an einen Cloud-Anbieter: Textextraktion und OCR laufen auf Ihrem Gerät (OCR mit der integrierten Tesseract-Engine oder mit Ollama auf diesem Rechner; Cloud-OCR gibt es nicht). Ein Cloud-Anbieter kann nur geschwärzten Text erhalten, den Sie selbst mit Ask AI senden. Anfragen an OpenRouter gehen direkt von Ihrem Gerät mit dem von Ihnen eingegebenen API-Schlüssel aus, ohne Umweg über einen Maskeno-Server; als lokale Alternative steht ein Ollama-Modell auf diesem Rechner zur Verfügung. Für die Dienste, die die App kontaktieren kann (OpenAI für den ChatGPT-Link, OpenRouter für Ask AI, Hugging Face, jsDelivr, GitHub, Slack, Polar.sh, Sentry, Aptabase), gelten deren Datenschutzrichtlinien; die vollständige Linkliste steht in der englischen Fassung.
Lokal gespeicherte Daten
Projektdatenbank: Ihre Projekte, Dokumenttexte und Review-Spans liegen in einer lokalen SQLite-Datenbank in Ihrem Benutzerdatenordner, mit bis zu drei Sicherungen. Die Datenbank ist mit SQLite3 Multiple Ciphers verschlüsselt (ChaCha20-Poly1305, nicht das SQLCipher-Format). Der Schlüssel liegt in der Datei db.key und ist mit Electrons safeStorage geschützt: DPAPI unter Windows (jedes Programm unter Ihrem Windows-Konto kann ihn entschlüsseln), Schlüsselbund unter macOS, ein Secret-Service unter Linux. Meldet safeStorage, dass keine Verschlüsselung verfügbar ist, wird der Schlüssel im Klartext geschrieben und nur eine Warnung protokolliert. Dann kann jeder, der Ihren Benutzerdatenordner lesen kann, die Datenbank öffnen.
Heruntergeladene Modelldateien und OCR-Sprachdaten: Das sind öffentliche Downloads ohne Dokumentinhalt. Die App verschlüsselt sie nicht, und "Alle Daten zurücksetzen" entfernt sie nicht. Die Erkennungsmodelle liegen im Standard-Cache-Ordner der Bibliothek transformers.js: in einem Ordner .cache im Paketordner der Bibliothek innerhalb der Anwendungsdateien. Die App legt keinen anderen Ort fest. Die OCR-Sprachdateien (pol.traineddata, eng.traineddata und so weiter) liegen in einem Ordner namens maskeno-tessdata im temporären Ordner Ihres Betriebssystems, den das System oder ein Bereinigungsprogramm leeren kann. Die App lädt sie dann beim nächsten Bedarf erneut herunter, sofern TESSDATA_PATH nicht gesetzt ist. Ist TESSDATA_PATH gesetzt, legt die App außerdem Kopien der aus diesem Ordner gelesenen Dateien in einem Unterordner von maskeno-tessdata ab, dessen Name mit src- beginnt und auf den zwölf Hexadezimalzeichen folgen.
API-Schlüssel, Lesequalität und Logs: Die Einstellungen speichern nur Ihren OpenRouter-Schlüssel. Schlüssel, die frühere Versionen für Anbieter gespeichert haben, die die App nicht mehr nutzt (ElevenLabs, Resemble, Gemini, OpenAI und Anthropic), werden beim ersten Start dieser Version einmal aus der Einstellungsdatei gelöscht; schlägt das Löschen fehl, wird es beim nächsten Start wiederholt. Für jede vom integrierten OCR gelesene gescannte Seite speichert die Datenbank außerdem eine Zusammenfassung der Lesequalität (Wertung, mittlere Konfidenz, Wortzahlen, Zeichenbereiche unsicherer Wörter, aber keinen Text) und den Zeitpunkt Ihrer Bestätigung. Das App-Log wird aus einer festen Liste von Ereignissen geschrieben (feste Meldungen mit Zahlen, Referenzen und Codes). Die App ist so gebaut, dass sie keine Dateinamen, Pfade, Dokumenttexte und bei Vorgängen, die ein Dokument verarbeiten können, keine Fehlermeldungen schreibt, und Text, den sie nicht kontrolliert, durchläuft zuerst einen Bereiniger. Das ist eine Entwurfsregel mit Tests, keine Garantie; Einträge älterer Versionen können mehr enthalten. Das Absturzprotokoll im Home-Ordner enthält zu einem Fehler Klasse, Code und Positionen in der App, nicht die Meldung, sowie die Installations-ID.
API-Schlüssel und Lizenzschlüssel: sie nutzen denselben safeStorage-Mechanismus. Ist er nicht verfügbar, werden API-Schlüssel im Klartext gespeichert (die Einstellungen zeigen dann eine Warnung), und der Lizenzschlüssel ist nur Base64-kodiert, was keine Verschlüsselung ist. Normale Anfragen senden Ihren gespeicherten Schlüssel direkt an den gewählten Anbieter, ohne Umweg über einen Maskeno-Server. Die Bereinigung von Feedback und Fehlerberichten garantiert nicht, dass jede Zugangsangabe aus Freitext entfernt wird.
Nicht verschlüsselt: gerenderte Seitenbilder, Kopien importierter Quelldateien, App-Logs, die Einstellungsdatei (die einzelnen Schlüssel darin sind verschlüsselt, die Datei selbst nicht), die Metadaten der Lizenzdatei, die Dateien mit Geräte-ID und Update-ID, die Datei mit dem Teststatus (lesbar, aber gegen Manipulation geschützt), die Shared-Memory-Datei von SQLite sowie in Ihrem Home-Ordner Absturz- und Startlogs und, falls das Start-Debugging aktiv ist, ein Debug-Log.
Website-Analyse
Diese Website lädt das Skript von Plausible Analytics. Was erfasst wird, steht in der Datenrichtlinie von Plausible.
Datenspeicherung & Löschung
- Das Löschen eines Projekts entfernt seine Datenbankzeilen und seinen Seitenbild-Ordner. Ältere Kopien bleiben in den verschlüsselten Sicherungen, bis neuere Sicherungen sie ersetzen. In den Import-Ordner kopierte Dateien werden nicht entfernt.
- "Alle Daten zurücksetzen" in den Einstellungen löscht die Datenbank samt WAL- und Shared-Memory-Dateien, die Sicherungen, die Einstellungsdatei (einschließlich gespeicherter API-Schlüssel), Sprachproben und die Lizenzdatei. Bestehen bleiben Seitenbilder, importierte Dateien, Logs,
db.key, die Dateien mit Geräte-ID und Update-ID, etwaige WiederherstellungskopienMaskeno.db.corrupted-*(sie können weiterhin Projektdaten enthalten), die heruntergeladenen Modelldateien und OCR-Sprachdaten, die Logs im Home-Ordner und die Datei mit dem Teststatus. Diese liegt absichtlich außerhalb des Benutzerdatenordners, damit eine Neuinstallation die Testversion nicht zurücksetzt. Löschen Sie diese Dateien bei Bedarf selbst. - Unser Trial-Server speichert Ihre Geräte-ID, Nutzungszähler, Plattform und App-Version sowie Zeitpunkte der Registrierung und der letzten Meldung. Die App zeigt die Geräte-ID derzeit nicht an. Um die Löschung dieses Datensatzes zu beantragen, schreiben Sie an [email protected].
- Lizenzdaten werden von Polar.sh gemäß deren Datenschutzrichtlinie verwaltet.
Ihre Rechte nach der DSGVO
Als betroffene Person in der Europäischen Union haben Sie die Rechte auf Auskunft, Berichtigung, Löschung, Datenübertragbarkeit, Widerspruch und Widerruf der Einwilligung. Die oben beschriebenen Datenflüsse umfassen den Testdatensatz, kurzlebige IP-Einträge zur Ratenbegrenzung, alles, was Sie über das Feedback-Formular senden, Absturz- und Nutzungsberichte, in die Sie eingewilligt haben, die Website-Analyse und Lizenzdaten bei Polar.sh. Kontaktieren Sie uns unter [email protected].
Kontakt
- E-Mail: [email protected]
- GitHub: Issue erstellen