bb963a796f
- seedDefaultUsers: generiert kryptographisch zufällige Passwörter (crypto/rand) statt hartkodiertes "archivmailrockz" — Passwörter werden einmalig im Terminal angezeigt und können danach nicht wiederhergestellt werden - generateJTI: verwendet crypto/rand (16 Byte, hex) statt time.UnixNano XOR deadbeef Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
793 B
793 B
PROJ-18: E-Mail Integritätsprüfung
Status: Deployed
Created: 2026-03-14 Last Updated: 2026-03-17
User Stories
- Als Admin möchte ich sehen ob eine archivierte E-Mail unverändert ist, damit ich Manipulationen erkennen kann.
Acceptance Criteria
- Hintergrund-Job läuft alle 5 Minuten und prüft alle E-Mails
- Prüfung: SHA-256 der entschlüsselten Datei == gespeicherte ID
- Ergebnis wird in DB gespeichert (verify_ok, verified_at)
- Mail-Ansicht zeigt grünen Haken (verifiziert OK), graues X (noch nicht geprüft) oder rotes X (Manipulation erkannt)
Implementation Notes
- verify_ok BOOLEAN + verified_at TIMESTAMPTZ in emails-Tabelle
- Background worker in main.go, Ticker 5 Minuten
- GET /api/mails/{id} gibt verified_ok + verified_at zurück