Sicherheit
Letzte Aktualisierung: 15. März 2026
Wir sind der Überzeugung, dass Datenschutz-Tools transparent darüber sein sollten, wie sie Ihre Daten schützen, nicht nur dass sie es tun. Diese Seite erklärt genau, was passiert, wenn Sie Privacy First Labs verwenden — detailliert genug, damit ein Sicherheitsingenieur es bewerten kann, aber für jeden verständlich.
Das Grundprinzip
Ihre Daten verlassen niemals Ihr Gerät. Jedes Tool von Privacy First Labs verarbeitet Daten vollständig in Ihrem Browser unter Verwendung standardmäßiger Web APIs. Es werden keine Dateien hochgeladen. Es wird kein Klartext übertragen. Es findet keine serverseitige Verarbeitung statt.
Das ist keine Richtlinie — es ist eine architektonische Garantie. Unsere Tools sind statische Seiten, die von Cloudflare Pages ausgeliefert werden. Es gibt keinen Anwendungsserver, keine Datenbank und keinen API-Endpunkt, der Ihre Daten entgegennimmt. Sie können dies selbst überprüfen, indem Sie den Netzwerk-Tab Ihres Browsers öffnen, während Sie ein beliebiges Tool verwenden.
SafeSeal-Verschlüsselung
SafeSeal ermöglicht es Ihnen, Geheimnisse (Passwörter, API-Schlüssel, Zugangsdaten) mit einem Passwort zu verschlüsseln und als Link oder Datei zu teilen. So funktioniert es im Detail.
Verschlüsselungsalgorithmus
Wir verwenden AES-256-GCM (Advanced Encryption Standard mit 256-Bit-Schlüsseln im Galois/Counter Mode) über die browsereigene Web Crypto API. Dies ist der gleiche Verschlüsselungsstandard, der von Regierungen, Banken und sicherheitskritischen Anwendungen weltweit verwendet wird.
- AES-256 gewährleistet Vertraulichkeit — Ihr Geheimnis ist ohne den Schlüssel nicht lesbar
- GCM mode gewährleistet Authentifizierung — jede Manipulation der verschlüsselten Daten wird erkannt und abgelehnt
- Die Web Crypto API ist eine browsereigene Implementierung, keine JavaScript-Bibliothek eines Drittanbieters, die kompromittiert werden könnte
Schlüsselableitung
Ihr Passwort wird niemals direkt als Verschlüsselungsschlüssel verwendet. Stattdessen leiten wir einen kryptografischen Schlüssel daraus ab, indem wir PBKDF2 (Password-Based Key Derivation Function 2) verwenden:
- Hash-Funktion: SHA-256
- Iterationen: 600.000 — das von OWASP (2023) empfohlene Minimum für SHA-256
- Salt: 16 Bytes kryptografisch zufälliger Daten, einzigartig pro Verschlüsselung
- Ergebnis: Ein 256-Bit-AES-Schlüssel
Die hohe Iterationszahl bedeutet, dass selbst wenn ein Angreifer die verschlüsselten Daten erhält, das Durchprobieren des Passworts rechenintensiv ist. Der zufällige Salt stellt sicher, dass identische Passwörter unterschiedliche Schlüssel erzeugen.
Verschlüsselungsprozess
Wenn Sie auf „Verschlüsseln" klicken, geschieht Folgendes vollständig in Ihrem Browser:
- Ein zufälliger 16-Byte-Salt wird mit
crypto.getRandomValues()generiert - Ein zufälliger 12-Byte-Initialisierungsvektor (IV) wird mit
crypto.getRandomValues()generiert - Ihr Passwort + der Salt werden durch PBKDF2 (600.000 Iterationen) verarbeitet, um einen 256-Bit-AES-Schlüssel zu erzeugen
- Ihr Geheimnis wird mit AES-256-GCM unter Verwendung des abgeleiteten Schlüssels und des IV verschlüsselt
- Das Ergebnis enthält ein 16-Byte-Authentifizierungs-Tag (Integritätsprüfung von GCM)
Sowohl der Salt als auch der IV werden bei jeder Verschlüsselung zufällig generiert. Das bedeutet, dass die Verschlüsselung desselben Geheimnisses mit demselben Passwort zweimal völlig unterschiedlichen Chiffretext erzeugt.
Link-Modus
Im Link-Modus werden die verschlüsselten Daten im URL-Fragment codiert (der Teil nach #):
privacyfirstlabs.io/safeseal/#1.<salt>.<iv>.<ciphertext>
Das URL-Fragment wird niemals an einen Server gesendet. Das ist keine Entscheidung von uns — so funktioniert das HTTP-Protokoll. Gemäß RFC 3986 (Section 3.5) wird der Fragment-Identifikator vollständig vom Client verarbeitet. Wenn Sie den Link öffnen, fordert Ihr Browser /safeseal/ von unserem Server an — der #...-Teil verbleibt in Ihrem Browser.
Die Komponenten werden mit base64url (RFC 4648, Section 5) für die sichere Einbindung in URLs codiert.
Datei-Modus
Im Datei-Modus werden die verschlüsselten Daten in einer kompakten Binärdatei .pflenc verpackt:
- Byte 0: Formatversion (derzeit 1)
- Bytes 1–16: Salt
- Bytes 17–28: IV
- Bytes 29+: Chiffretext (einschließlich GCM-Authentifizierungs-Tag)
Vor der Verschlüsselung wird der ursprüngliche Dateiname in das Payload eingebettet, unter Verwendung eines kompakten Headers: ein 2-Byte-Längenpräfix gefolgt vom UTF-8-Dateinamen, gefolgt von den Dateidaten. Das bedeutet, dass der ursprüngliche Dateiname bei der Entschlüsselung immer wiederhergestellt wird — der Empfänger erhält die Datei mit ihrem ursprünglichen Namen und ihrer Erweiterung.
Die Datei wird vollständig in Ihrem Browser generiert und auf Ihr Gerät heruntergeladen. Sie wird niemals auf unsere Server hochgeladen oder dort gespeichert. Sie teilen die Datei über den von Ihnen bevorzugten Kanal.
Dateinamenschutz
Standardmäßig werden verschlüsselte Dateien als originalname.pflenc heruntergeladen — was die Identifizierung der Datei erleichtert. Wenn Sie den Dateinamen nicht preisgeben möchten, lädt die Option „Dateiname verbergen" die Datei als secret.pflenc herunter.
Der ursprüngliche Dateiname ist unabhängig von dieser Einstellung immer innerhalb des .pflenc-Payloads verschlüsselt. Bei der Entschlüsselung stellt der Empfänger den ursprünglichen Dateinamen immer aus den verschlüsselten Daten wieder her. Das Kontrollkästchen „Dateiname verbergen" steuert nur den Namen der äußeren .pflenc-Datei beim Herunterladen — es hat keinen Einfluss auf den verschlüsselten Inhalt.
Entschlüsselungsprozess
Wenn der Empfänger den Link öffnet oder die .pflenc-Datei hochlädt:
- Der Salt, IV und Chiffretext werden aus dem URL-Fragment oder der Datei extrahiert
- Der Empfänger gibt das Passwort ein
- PBKDF2 leitet denselben AES-Schlüssel aus dem Passwort + Salt ab (600.000 Iterationen)
- AES-256-GCM entschlüsselt den Chiffretext und überprüft das Authentifizierungs-Tag
- Wenn das Passwort falsch ist oder die Daten manipuliert wurden, schlägt die Entschlüsselung mit einer allgemeinen Fehlermeldung fehl
Die Fehlermeldung verrät absichtlich nicht, welche Prüfung fehlgeschlagen ist (falsches Passwort vs. beschädigte Daten). Dies verhindert, dass Angreifer Unterschiede in den Fehlermeldungen nutzen, um Informationen über die Verschlüsselung zu erhalten.
Was Unser Server Sieht
Für SafeSeal — nichts. Unser Server liefert statische HTML-, CSS- und JavaScript-Dateien aus. Er empfängt, verarbeitet oder speichert nicht:
- Ihren geheimen Text
- Ihr Verschlüsselungspasswort
- Die verschlüsselten Daten
- Den Entschlüsselungsschlüssel
- Irgendwelche URL-Fragmente (technisch unmöglich — Browser senden keine Fragmente an Server)
Selbst wenn unsere Server kompromittiert würden, würde ein Angreifer nur die statischen Website-Dateien erhalten — niemals Ihre verschlüsselten Daten oder Schlüssel.
Was Wir Nicht Können
Aufgrund unserer Zero-Knowledge-Architektur:
- Wir können Ihre Geheimnisse nicht entschlüsseln — wir haben niemals die Schlüssel
- Wir können Ihr Passwort nicht wiederherstellen — es existiert nur auf Ihrem Gerät und dem des Empfängers
- Wir können Anfragen zur Herausgabe von Klartext nicht nachkommen — wir haben ihn nicht
- Wir können nicht feststellen, ob ein Link verwendet wurde oder wie oft — wir haben kein Tracking
Das ist beabsichtigt. Die Verantwortung für die Schlüsselverwaltung liegt bei Ihnen und Ihrem Empfänger. Wenn das Passwort verloren geht, ist das Geheimnis unwiederbringlich verloren.
Überprüfen Sie Es Selbst
Sie müssen uns nicht beim Wort nehmen. So können Sie unsere Aussagen überprüfen:
- Netzwerk-Tab: Öffnen Sie die Entwicklertools Ihres Browsers (F12), gehen Sie zum Netzwerk-Tab und verwenden Sie SafeSeal. Sie werden null Netzwerkanfragen sehen, die Ihr Geheimnis oder verschlüsselte Daten enthalten
- Quellcode: Unser Verschlüsselungsmodul ist für die Veröffentlichung als Open-Source konzipiert. Die Kernlogik verwendet ausschließlich die browsereigene Web Crypto API — keine kryptografischen Bibliotheken von Drittanbietern
- Offline-Test: Trennen Sie die Internetverbindung, verschlüsseln und entschlüsseln Sie dann ein Geheimnis. Es funktioniert — weil nichts jemals Ihren Browser verlässt
Verarbeitungsisolation
Alle rechenintensiven Operationen (Schlüsselableitung, Verschlüsselung, Entschlüsselung) laufen in Web Workers — isolierten Hintergrund-Threads, die:
- Die Benutzeroberfläche reaktionsfähig halten, während die 600.000 PBKDF2-Iterationen ausgeführt werden
- Keinen Zugriff auf das DOM oder den Haupt-JavaScript-Kontext der Seite haben
- Pro Operation erstellt und unmittelbar nach Abschluss beendet werden
- Keine Daten zwischen Operationen beibehalten
Sicherheitshinweise
Passwortstärke
Die Sicherheit Ihres verschlüsselten Geheimnisses hängt von Ihrem Passwort ab. Wir verlangen mindestens 8 Zeichen, empfehlen aber dringend die Verwendung einer längeren Passphrase. PBKDF2 mit 600.000 Iterationen bietet erheblichen Schutz gegen Brute-Force-Angriffe, aber ein schwaches Passwort (wie „password123") kann dennoch erraten werden.
Link-Teilen
Im Link-Modus befinden sich die verschlüsselten Daten in der URL. Jeder, der Zugang zur vollständigen URL hat, verfügt über die verschlüsselten Daten (benötigt aber weiterhin das Passwort zum Entschlüsseln). Teilen Sie Links über sichere Kanäle und teilen Sie das Passwort immer über einen anderen Kanal als den Link.
Browser-Sicherheit
Clientseitige Verschlüsselung hängt von einer sicheren Browser-Umgebung ab. Wenn Ihr Browser oder Gerät kompromittiert ist (Malware, bösartige Erweiterungen), gelten die Verschlüsselungsgarantien möglicherweise nicht. Halten Sie Ihren Browser und Ihr Betriebssystem auf dem neuesten Stand.
Kein Forward Secrecy
Wenn ein Angreifer den verschlüsselten Link oder die Datei abfängt und später das Passwort erhält, kann er das Geheimnis entschlüsseln. Für hochsensible Anwendungsfälle sollten Sie Passwörter regelmäßig wechseln und kurzlebige Methoden zum Teilen verwenden.
Technische Zusammenfassung
| Verschlüsselung | AES-256-GCM (Web Crypto API) |
|---|---|
| Schlüsselableitung | PBKDF2-SHA-256, 600,000 iterations |
| Salt | 16 Bytes, kryptografisch zufällig, einzigartig pro Verschlüsselung |
| IV | 12 Bytes, kryptografisch zufällig, einzigartig pro Verschlüsselung |
| Authentifizierung | GCM mode (128-bit auth tag, included in ciphertext) |
| Schlüsseltransport | URL fragment (never sent to server) or .pflenc file (downloaded locally) |
| Serverbeteiligung | None — static site only |
| Kryptografische Bibliothek | Browser-native Web Crypto API (no third-party dependencies) |
| Zielbrowser | Last 2 versions of Chrome, Firefox, Safari, Edge (ES2022) |
Fragen?
Wenn Sie Fragen zu unserer Verschlüsselungsimplementierung haben, eine potenzielle Schwachstelle gefunden haben oder unsere Sicherheitsarchitektur besprechen möchten:
Privacy First Labs
[email protected]
Wir begrüßen verantwortungsvolle Offenlegung und sind bestrebt, Sicherheitsbedenken umgehend zu behandeln.