# Security Policy

## Status

Version 0.4.0 ist eine **nicht extern auditierte Sicherheits-Beta**. „Offline“ und
starke Kryptografie sind keine Garantie für absolute Sicherheit. Die App darf
vor einem unabhängigen Audit nicht als einziges Backup oder für hochpreisige
Wallets eingesetzt werden.

## Sicherheitsinvarianten

- Die Android-App besitzt keine Internetberechtigung und enthält keinen WebView.
- Eine manuelle Entsperrung benötigt Masterpasswort und vollständigen Recovery-Key.
- PIN und TOTP werden nicht als Ersatz für den Recovery-Key akzeptiert.
- Im Schnellmodus entschlüsselt Biometrie nur einen im Android Keystore
  geschützten DEK-Wrapper; der Dialog startet beim Öffnen automatisch.
- Im strikten Modus folgen auf Passwort und Recovery-Key starke Biometrie und
  eine gerätegebundene Keystore-Prüfung. Diese Prüfung ist kein portabler
  kryptografischer Wiederherstellungsfaktor.
- Seed-Phrasen bleiben im Rust-Vault geschützt. Zugangsdaten, sichere Notizen,
  Zusatzmetadaten und Bilder liegen ausschliesslich in getrennten,
  authentifiziert verschlüsselten und aufgefüllten Zusatzdateien.
- Importierte Bilder werden nur über den System Photo Picker gelesen. Die App
  verlangt keine Kamera- oder Speicherberechtigung und kann das Original in
  anderen Apps nicht selbst löschen.
- Geheimfelder werden nicht in Androids Saved-State-Bundle aufgenommen.
- Die App löscht nach Fehlversuchen niemals automatisch Vault oder Backups.
- Secrets erscheinen nicht im Logging oder in eingebauten Crash-Uploads. Nur
  nach ausdrücklicher Nutzeraktion gelangen einzelne Werte in die
  Zwischenablage; sie werden als sensibel markiert und nach 30 Sekunden nach
  bestem Bemühen entfernt.
- Vault-Updates werden atomar geschrieben und authentifiziert.

## Schwachstellen melden

Bitte keine Seed-Phrase, keinen Recovery-Key, keine Vault-Datei und keinen
Keystore in einen Bericht einfügen. Kontaktaufnahme über
https://askmastr.xyz/ oder https://x.com/MASTRlabs. Bis ein dedizierter privater
Security-Kanal veröffentlicht ist, nur reproduzierbare technische Details ohne
echte Geheimnisse übermitteln und eine Veröffentlichung abstimmen.

## Vor einem stabilen Release erforderlich

- unabhängiges Audit von Rust-Core, JNI-Grenze, Android-Lifecycle und UX
- reproduzierbare Release-Pipeline und owner-kontrollierter App-Signing-Key
- Instrumentationstests auf realen Geräten und unterstützten Android-Versionen
- Speicher-/Side-Channel-Review einschließlich unvermeidbarer JVM-Strings
- unabhängiges Review des neuen AES-GCM-Zusatzspeichers und des Bundle-Imports
- Migrations-, Rollback- und beschädigte-Datei-Tests
- menschlich geprüfte Übersetzungen und vollständige Accessibility-Prüfung
