So verschlüsselt Postkey Ihre Daten
Postkey verschlüsselt Ihre Karten und Dateien auf Ihrem Gerät, bevor sie es verlassen. Diese Seite beschreibt, wie das in der aktuellen Version funktioniert, welche Schlüssel es gibt, was unsere Server sehen und wo die Grenzen liegen.
Stand: 12. Oktober 2026
01Kurz gesagt
- Texte, Titel, Dateinamen, Labels und Dateien werden auf Ihrem Gerät mit AES-256-GCM verschlüsselt. Die Schlüssel entstehen auf Ihrem Gerät.
- Ihr Passwort verlässt Ihr Gerät nicht. Der Server erhält nur einen daraus abgeleiteten Wert.
- Jede Datei hat einen eigenen Schlüssel. Ein Link trägt seinen Schlüssel hinter dem Zeichen
#, das Browser nicht an den Server senden. - Wir können Ihre Karten und Dateien nicht lesen. Wenn Sie Passwort und Wiederherstellungscode beide verlieren, kann sie niemand mehr öffnen, auch wir nicht.
02Die Schlüssel
| Schlüssel | Was er ist | Wie er geschützt ist |
|---|---|---|
| Datenschlüssel | Ein zufälliger 256-Bit-Schlüssel für AES-GCM, der beim Anlegen des Kontos auf Ihrem Gerät entsteht. Er verschlüsselt Ihre Texte, Titel und Labels und die Schlüssel Ihrer Dateien. | Nur verpackt gespeichert: mit Ihrem Passwortschlüssel, mit dem Schlüssel Ihres Wiederherstellungscodes und, wenn Sie einen hinzufügen, mit einem Passkey. |
| Passwortschlüssel | Argon2id aus Ihrem Passwort (64 MiB Speicher, 3 Durchläufe, zufälliges 16-Byte-Salt). | Wird nie gespeichert. Er entsteht neu auf Ihrem Gerät, wenn Sie das Passwort eingeben. |
| Wiederherstellungscode | 160 zufällige Bit, beim Anlegen des Kontos einmal als 32 Zeichen angezeigt. PBKDF2-SHA256 mit 600.000 Iterationen macht daraus einen Schlüssel. | Nur bei Ihnen. Der Server speichert höchstens einen Hash eines daraus abgeleiteten Werts, um den Code vor einer Schlüsseländerung zu prüfen. |
| Passkey-Schlüssel | Aus der PRF-Erweiterung von WebAuthn, über HKDF-SHA256. | Die PRF-Ausgabe bleibt auf Ihrem Gerät, der private Schlüssel des Passkeys beim Passkey-Anbieter. |
| Dateischlüssel | Ein zufälliger 256-Bit-Schlüssel für jede Datei, ihre Vorschau und ihre Bildschirmversion. | Mit dem Datenschlüssel verpackt; bei einer geteilten Karte auch mit dem Kartenschlüssel. |
| Kartenschlüssel | Ein zufälliger 256-Bit-Schlüssel für eine Karte, die Sie teilen. | Mit dem Datenschlüssel und mit dem Schlüssel jedes Links verpackt. |
| Linkschlüssel | Ein zufälliger 256-Bit-Schlüssel für jeden Link, in der Adresse hinter #. | Mit Linkpasswort wird er mit dem Passwort kombiniert (PBKDF2-SHA256, 600.000 Iterationen, dann HKDF). |
03Anmelden, ohne das Passwort zu senden
Der Anmeldedienst (Supabase Auth) erhält Ihr Passwort nicht. Er erhält HKDF-SHA256(Argon2id(Passwort), "box-auth-v1") und speichert davon einen bcrypt-Hash. Weder der Datenverkehr noch die Datenbank verraten das Passwort, und jeder Rateversuch gegen diesen Hash kostet ein volles Argon2id.
Eine Änderung des Passworts und jede andere Änderung der verpackten Schlüssel braucht einen Nachweis: das aktuelle Passwort, den Wiederherstellungscode oder eine Anmeldung mit E-Mail-Code, Google oder Passkey in den letzten 15 Minuten. Nach fünf falschen Nachweisen in einer Stunde werden für diese Stunde keine weiteren angenommen. Die neuen Schlüssel und der neue Anmeldewert werden in einer einzigen Datenbanktransaktion gespeichert.
Die Zwei-Faktor-Anmeldung (TOTP) prüft die Datenbank selbst bei jedem Zugriff auf Ihre Daten, nicht nur die App. Die Anmeldung mit Google bestätigt nur, wer Sie sind; Google erhält keinen Schlüssel und keine Inhalte.
04Karten und Dateien
Jeder Textwert (Kartentext, Titel, Dateiname, Dateityp, Labels, Favoriten- und Ausblendungs-Kennzeichen) wird einzeln mit AES-256-GCM und einem zufälligen 96-Bit-IV verschlüsselt. GCM erkennt außerdem jede Änderung des Geheimtexts.
Dateien werden im Format BOXC gespeichert: ein kurzer Kopf (Rahmengröße, Anzahl der Rahmen, Originalgröße), danach die Datei in Rahmen zu 1 MiB, jeder mit AES-GCM unter dem Dateischlüssel verschlüsselt. Die Nummer des Rahmens und die Anzahl aller Rahmen werden bei jedem Rahmen mit authentifiziert ("Index:Anzahl"), sodass Rahmen nicht unbemerkt vertauscht, weggelassen oder ersetzt werden können. Ihr Gerät entschlüsselt eine Datei Rahmen für Rahmen; so lassen sich auch lange Videos in Teilen abspielen.
05Geteilte Links
Ein Link sieht so aus: box.sortia.de/s/<Code>#<Schlüssel>. Den Teil hinter # senden Browser nicht an den Server. Der Server speichert den Kartenschlüssel und die Dateischlüssel nur mit dem Linkschlüssel verpackt.
Mit Linkpasswort wird das Passwort Teil des Schlüssels: Empfänger brauchen die Adresse und das Passwort. Der Server speichert nur einen aus dem Passwort abgeleiteten Prüfwert; nach 10 falschen Passwörtern sperrt sich der Link jeweils für fünf Minuten.
Ein Link funktioniert nicht mehr nach der gewählten Zeit, nach der erlaubten Zahl von Öffnungen, solange er pausiert ist, wenn Sie ihn beenden oder wenn seine Karte in den Papierkorb kommt oder gelöscht wird. „Nur ansehen“ blendet auf der Seite des Empfängers Herunterladen, Kopieren und Drucken aus; ein Bildschirmfoto oder einen veränderten Browser kann es nicht verhindern. Wer einen Link geöffnet hat, kann behalten, was er gesehen hat.
Wenn Postkey einen Link per E-Mail von sortia.de versendet, sieht unser Server in diesem Moment die Adresse mit ihrem Schlüssel. Deshalb geht das nur bei Links mit Passwort, und das Passwort steht nie in dieser E-Mail. Einen Link, den Sie selbst kopieren oder teilen, bekommt unser Server nicht.
06Was unsere Server sehen
Für den Betrieb speichern wir unverschlüsselt: Ihre E-Mail-Adresse und Anmeldedaten, Art und Größe eines Eintrags, wann er angelegt wurde und wann er abläuft, ob er im Temporären oder im Dauerhaften Tresor liegt, welche Datei zu welcher Karte gehört, und bei Links ihr Ende, die erlaubten und gezählten Öffnungen und deren Zeitpunkte. Verbindungen hinterlassen IP-Adressen für begrenzte Zeit in Protokollen. Einzelheiten und Fristen stehen in der Datenschutzerklärung.
Texte, Titel, Dateinamen, Labels und den Inhalt von Dateien sehen wir nicht. Bei Einträgen aus älteren App-Versionen kann der Dateityp noch lesbar sein, bis die App den Eintrag umstellt.
07Wo die Daten liegen
- Konten und die verschlüsselten Kartendaten: Supabase, Rechenzentrum in Frankfurt am Main.
- Verschlüsselte Dateien: OVHcloud in Paris (drei Rechenzentren) und eine Kopie bei IONOS in Frankfurt am Main, damit Postkey weiterläuft, wenn einer der beiden ausfällt.
- Dateien im Dauerhaften Tresor liegen außerdem 30 Tage in einer Sicherung bei IONOS mit Object Lock: in dieser Zeit kann sie niemand löschen oder ändern, auch wir nicht.
- Die Datenbank wird täglich verschlüsselt auf unserem Server in Deutschland und bei IONOS gesichert (dort 27 Tage gesperrt), jede Kopie wird nach 30 Tagen gelöscht. Jede Woche wird zur Probe eine Sicherung aus der Kopie bei IONOS wiederhergestellt, und wir haben geprüft, dass sich Dateien mit den Schlüsseln aus einer solchen Sicherung öffnen lassen.
Ihr Gerät verlassen nur verschlüsselte Inhalte. Die Dienstleister stehen in der Datenschutzerklärung.
08Grenzen
- Postkey im Web lädt seinen Code bei jedem Öffnen von unserem Server. Wer diesen Server übernähme, könnte veränderten Code ausliefern. Alle 15 Minuten vergleichen wir die ausgelieferten Dateien mit der veröffentlichten Version und werden bei jeder Abweichung alarmiert. Die Android-App trägt ihren Code im App-Paket.
- Metadaten: Was unter „Was unsere Server sehen“ steht, ist für uns sichtbar.
- Passwort und Wiederherstellungscode verloren: Niemand kann die Daten wieder öffnen, auch wir nicht.
- Ihr Gerät: Schadsoftware darauf oder ein entsperrtes Gerät in fremden Händen sieht, was Sie sehen. „Lock after“ in den Einstellungen und die Bildschirmsperre helfen.
- Export: „Download all my data“ schreibt eine ZIP-Datei mit allem entschlüsselt. Bewahren Sie sie sicher auf.
- Prüfung: Derzeit gibt es keine unabhängige Sicherheitsprüfung von Postkey.
09Eine Schwachstelle melden
Wenn Sie eine Schwachstelle finden, schreiben Sie bitte an info@sortia.de mit „Postkey security“ im Betreff, und geben Sie uns Zeit, sie zu beheben, bevor Sie sie veröffentlichen. Bitte greifen Sie nicht auf Daten anderer zu und testen Sie nicht mit Überlastungsangriffen. Den maschinenlesbaren Kontakt finden Sie unter /.well-known/security.txt.