// Package auditadmin implementiert Core AUD-04: die Berechtigungspruefung // fuer die Audit-Log-Ansicht. Enthaelt bewusst KEINE eigene Filter-/ // Export-Logik — die Ansicht ist "reiner Konsument der Export-API" (AUD-03, // internal/audit.ExportHandler); dieses Paket liefert nur die // audit.Authorize-Implementierung, die der Entwicklungs-/Testserver // (cmd/auditlog-devserver) einhaengt. package auditadmin import "crypto/subtle" // NewTokenAuthorizer liefert eine audit.Authorize-Funktion, die den // aufrufenden "caller"-Wert timing-safe gegen ein geteiltes Admin-Token // vergleicht — dasselbe Muster wie internal/audit.timingsafe (AUD-02), // NICHT ueber eine neue Rollen-/Rechteschicht, da AUD-04 ausdruecklich nur // von AUD-03 abhaengt. func NewTokenAuthorizer(adminToken string) func(caller string) bool { return func(caller string) bool { if caller == "" || adminToken == "" { return false } return subtle.ConstantTimeCompare([]byte(caller), []byte(adminToken)) == 1 } }