Sicherheit
Bedrohungsmodell, Verschlüsselungsarchitektur und verantwortungsvolle Offenlegung für anonym.plus.
Designprinzipien
anonym.plus basiert auf drei Sicherheitsprinzipien:
- Offline-first: Die gesamte PII-Erkennung und Anonymisierungs-Pipeline läuft lokal. Dokumente werden niemals auf einen Server hochgeladen.
- Zero-Knowledge: Ihr Passwort verlässt niemals Ihr Gerät. Bei der Authentifizierung werden nur kryptographische Nachweise gesendet. Der Server kann nicht auf Ihre Vault-Inhalte zugreifen.
- Defense in Depth: Verschlüsselung im Ruhezustand (AES-256-GCM), Schlüsselableitung über Argon2id, automatische Vault-Sperre und eine 24-Wort-BIP39-Wiederherstellungsphrase bieten mehrschichtigen Schutz.
Bedrohungsmodell
Die folgende Tabelle beschreibt, wovor anonym.plus schützt und was außerhalb des Geltungsbereichs seiner Sicherheitsgarantien liegt.
| Bedrohung | Gegenmaßnahme | Status |
|---|---|---|
| Dokumente werden an externe Server gesendet | Die gesamte Verarbeitung erfolgt lokal über gebündeltes Presidio + spaCy. Keine Netzwerkaufrufe für PII-Erkennung oder Anonymisierung. | Mitigiert |
| Vault-Daten durch Angreifer mit Festplattenzugriff kompromittiert | Vault mit AES-256-GCM verschlüsselt. Schlüssel aus Benutzerpasswort über Argon2id abgeleitet (64 MB Speicher, 3 Iterationen). Ohne PIN oder Wiederherstellungsphrase sind die Daten unlesbar. | Mitigiert |
| Serverkompromittierung legt Benutzerpasswörter offen | Zero-Knowledge-Authentifizierung. Passwörter werden clientseitig gehasht, bevor eine Serverkommunikation stattfindet. Der Server speichert nur kryptographische Nachweise. | Mitigiert |
| Verschlüsselungsschlüssel aus dem Speicher extrahiert | Schlüsselmaterial wird beim Sperren des Vaults aus dem Speicher gelöscht. Automatische Sperre nach 15 Minuten Inaktivität. | Mitigiert |
| Man-in-the-Middle bei API-Kommunikation | Gesamte API-Kommunikation über HTTPS/TLS. Certificate Pinning nicht implementiert (Standard-Browser/Tauri-TLS). | Teilweise mitigiert |
| Malware auf dem Gerät des Benutzers | Außerhalb des Geltungsbereichs. Wenn ein Angreifer Codeausführung auf Ihrem Rechner hat, kann keine Desktop-Anwendung Sicherheit garantieren. Verwenden Sie Schutzmaßnahmen auf Betriebssystemebene. | Außerhalb des Geltungsbereichs |
| NLP-Erkennung übersieht PII-Entitäten | Presidio + spaCy verwenden sowohl NER (maschinelles Lernen) als auch Regex-Muster. Konfigurierbare Konfidenzschwellen und manueller Überprüfungsschritt. Falsch-negative Ergebnisse sind möglich — überprüfen Sie immer die Ergebnisse. | Teilweise mitigiert |
Verschlüsselungsarchitektur
Vault-Verschlüsselung
Alle lokalen Daten (Verarbeitungshistorie, Verschlüsselungsschlüssel, Einstellungen) werden in einem verschlüsselten Vault gespeichert.
- Algorithmus
- AES-256-GCM (authentifizierte Verschlüsselung mit assoziierten Daten)
- Schlüsselableitung
- Argon2id mit 64 MB Speicherkosten, 3 Iterationen, 32-Byte-Ausgabe
- Wiederherstellungsphrase
- 24-Wort-BIP39-Mnemonic (256 Bit Entropie), generiert bei der Ersteinrichtung
- Schnellentsperrung
- Optionale 4-8-stellige PIN für den Komfort. Nach 3 fehlgeschlagenen Versuchen wird die Wiederherstellungsphrase benötigt.
- Automatische Sperre
- Vault sperrt sich nach 15 Minuten Inaktivität (keine Maus-, Tastatur- oder Scroll-Ereignisse)
- Schlüssellöschung
- Verschlüsselungsschlüsselmaterial wird beim Sperren des Vaults aus dem Speicher gelöscht
Dokumentenverschlüsselung (reversible Anonymisierung)
Bei Verwendung des „Verschlüsseln"-Operators werden PII-Entitäten mit AES-256-GCM pro Schlüssel verschlüsselt, sodass sie später über die Deanonymisierungsfunktion entschlüsselt werden können.
- Algorithmus
- AES-256-GCM mit zufälliger Nonce pro Entität
- Schlüssellängen
- 128-Bit, 192-Bit oder 256-Bit (256-Bit empfohlen und Standard)
- Schlüsselspeicherung
- Zero-Knowledge: Schlüsselwerte verlassen niemals das Rust-Backend. Das Frontend referenziert Schlüssel nur über ihre ID.
- Schlüsselrotation
- Generiert neues Schlüsselmaterial. Der alte Schlüsselwert wird dauerhaft ersetzt. Dokumente, die mit dem alten Schlüssel verschlüsselt wurden, benötigen den alten Schlüsselwert zur Entschlüsselung.
Authentifizierung
- Passwortverarbeitung
- Passwörter werden clientseitig mit Argon2id + HKDF + SHA-256 gehasht, bevor eine Serverkommunikation stattfindet. Der Server erhält niemals Klartext-Passwörter.
- Sitzungstoken
- JWT mit separaten Geheimnissen für Benutzer- und Admin-Authentifizierung. Token werden in sessionStorage gespeichert (beim Schließen des Tabs gelöscht).
- Admin-Authentifizierung
- Separates JWT-Geheimnis (ADMIN_JWT_SECRET). Mindestens 12 Zeichen Passwort. TOTP-basierte Zwei-Faktor-Authentifizierung.
Was der Server sieht
Der anonym.plus-Server verwaltet Konten, Lizenzen und Abonnements. Hier ist genau aufgeführt, worauf er zugreifen kann und worauf nicht:
- Kann zugreifen auf: E-Mail-Adresse, Abonnementstatus, Maschinenaktivierungen, Support-Tickets, Zahlungsmetadaten (über Stripe/PayPal).
- Kann nicht zugreifen auf: Ihre Dokumente, PII-Erkennungsergebnisse, anonymisierte Ausgaben, Verschlüsselungsschlüssel, Vault-Inhalte, Verarbeitungshistorie oder Passwort.
Für eine vollständige Aufschlüsselung der erfassten Daten siehe die Datenschutzerklärung.
Verantwortungsvolle Offenlegung
Eine Sicherheitslücke melden
Wenn Sie eine Sicherheitslücke in anonym.plus entdecken, ermutigen wir zur verantwortungsvollen Offenlegung. Bitte melden Sie diese über unser Kontaktformular in der Kategorie „Security".
Bitte geben Sie bei der Meldung Folgendes an: eine Beschreibung der Schwachstelle, Schritte zur Reproduktion, die betroffene Version und die möglichen Auswirkungen.
Wir bemühen uns, Meldungen innerhalb von 48 Stunden zu bestätigen und innerhalb von 7 Tagen einen Zeitplan für die Behebung bereitzustellen. Wir werden keine rechtlichen Schritte gegen Forscher einleiten, die verantwortungsvolle Offenlegungspraktiken befolgen.
Unsere Sicherheitskontaktinformationen sind auch unter /.well-known/security.txt (RFC 9116) verfügbar.
Open-Source-Komponenten
anonym.plus verwendet die folgenden Open-Source-Komponenten für sicherheitskritische Funktionen:
- Microsoft Presidio — PII-Erkennungsengine (Apache 2.0)
- spaCy — NLP-Modelle für Named Entity Recognition (MIT)
- Tesseract OCR — Textextraktion aus Bildern (Apache 2.0)
- Tauri — Desktop-App-Framework mit Rust-Backend (MIT/Apache 2.0)
- Argon2 — Passwort-Hashing / Schlüsselableitung (CC0)