# Security

## Authentisierung
- Passwort-Login mit Argon2
- Zweiter Faktor per TOTP oder WebAuthn
- MFA für privilegierte Rollen erzwungen
- Refresh-Token in HttpOnly-Cookie

## Autorisierung
- Rollenprüfung im Backend
- PostgreSQL Row-Level Security als zweite Schutzschicht
- getrennte DB-Rollen für App, Migration, Reporting

## Dokumentensicherheit
- Virenscan-Hook
- SHA-256 Hash je Datei
- Download nur bei `scan_status = clean`
- Audit-Eintrag bei Upload/Download

## Datenschutz
- vertrauliche Vorgänge per RLS eingeschränkt
- optionale Feldmaskierung via View `v_case_masked`
- Soft-Delete für fachliche Objekte
