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>
20 lines
793 B
Markdown
20 lines
793 B
Markdown
# 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
|
|
- [x] Hintergrund-Job läuft alle 5 Minuten und prüft alle E-Mails
|
|
- [x] Prüfung: SHA-256 der entschlüsselten Datei == gespeicherte ID
|
|
- [x] Ergebnis wird in DB gespeichert (verify_ok, verified_at)
|
|
- [x] 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
|