feat(PROJ-49): Verschlüsselungspflicht at-rest sichtbar machen (Healthcheck & Warnung)

storage.loadKey() startet bei fehlendem/unlesbarem/ungültigem Keyfile
weiterhin unverschlüsselt (kein Hard-Fail), aber:
- einmalige WARN-Logzeile beim Start mit konkretem Grund
- neuer Healthcheck-Prüfpunkt "Encryption" in archivmail status
- Dashboard-API liefert encryption.enabled
- README: GoBD-Hinweis zu storage.keyfile

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
sysops
2026-06-13 20:01:38 +02:00
parent dc9e11fc9f
commit 46096db802
7 changed files with 114 additions and 6 deletions
+5
View File
@@ -222,6 +222,11 @@ func (s *Server) handleSystemStats(w http.ResponseWriter, r *http.Request) {
"archive": archiveResp,
"activity": activity,
"estimate": estimate,
// PROJ-49: At-Rest-Verschlüsselungsstatus (systemweit, ein Keyfile für
// alle Tenants). enabled=false → Dashboard zeigt Warn-Badge.
"encryption": map[string]interface{}{
"enabled": s.store.EncryptionEnabled(),
},
})
}