Datenschutz-Ausbau: Archiv-Verschlüsselung, App-Sperre, Auto-Löschen

- Brief-Archiv jetzt AES-256-GCM-verschlüsselt (expo-crypto, Schlüssel im
  SecureStore); Migration alter Klartext-Bestände beim ersten Laden;
  im Simulator auf der Platte verifiziert (nur Chiffrat, kein Klartext)
- AppSchutz-Komponente: optionale App-Sperre (Face ID / Geräte-Code,
  expo-local-authentication) + Sichtschutz im App-Umschalter
- Auto-Löschen alter Briefe (30/90 Tage, Einstellungen), pure Filter-
  Funktion mit Tests
- UTF-8-Helfer (Umlaute/Arabisch/Emoji-sicher) mit Tests; gesamt 30 Tests
- Einstellungen: neuer Abschnitt "Sicherheit"
- Datenschutzerklärung (Web + Entwurf) um die neuen Maßnahmen ergänzt
- Neu: rechtliches/datenschutz-factsheet.md für Kooperations-Pitches
- EU-Verarbeitung geprüft: inference_geo bietet aktuell nur us/global,
  keine EU-Option (Haiku 4.5 gar nicht) — als Ausbaupfad dokumentiert

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-15 15:30:19 +02:00
parent 12ebf514fb
commit ad1c2bf76c
16 changed files with 639 additions and 18 deletions

23
package-lock.json generated
View File

@@ -14,10 +14,12 @@
"expo": "^57.0.0",
"expo-calendar": "~57.0.0",
"expo-camera": "~57.0.1",
"expo-crypto": "~57.0.1",
"expo-document-picker": "~57.0.0",
"expo-file-system": "~57.0.0",
"expo-image-manipulator": "~57.0.2",
"expo-image-picker": "~57.0.2",
"expo-local-authentication": "~57.0.1",
"expo-network": "~57.0.0",
"expo-notifications": "~57.0.3",
"expo-print": "~57.0.0",
@@ -4224,6 +4226,15 @@
"react-native": "*"
}
},
"node_modules/expo-crypto": {
"version": "57.0.1",
"resolved": "https://registry.npmjs.org/expo-crypto/-/expo-crypto-57.0.1.tgz",
"integrity": "sha512-xwegXQw3ATgeL1ZuqbSNrGzOeG+zNeh6Z6DSJk825Qpa3TEQQ1kG3ioE1p3g/SNF373BAVz2iBKUTSytlIbBRA==",
"license": "MIT",
"peerDependencies": {
"expo": "*"
}
},
"node_modules/expo-document-picker": {
"version": "57.0.0",
"resolved": "https://registry.npmjs.org/expo-document-picker/-/expo-document-picker-57.0.0.tgz",
@@ -4276,6 +4287,18 @@
"expo": "*"
}
},
"node_modules/expo-local-authentication": {
"version": "57.0.1",
"resolved": "https://registry.npmjs.org/expo-local-authentication/-/expo-local-authentication-57.0.1.tgz",
"integrity": "sha512-FrXtuXVBmXmwmvDus0OsFWMdzjYTaLd/ZvvVMKnRjXDKDS+LFG2Sz3r9f3Go0goJdpb/hA09wGwGi8XfW3Aa0w==",
"license": "MIT",
"dependencies": {
"invariant": "^2.2.4"
},
"peerDependencies": {
"expo": "*"
}
},
"node_modules/expo-modules-autolinking": {
"version": "57.0.5",
"resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-57.0.5.tgz",