Technischer Betrieb: Nutzerkonten, Audit-Log, Monitoring, API
Menü Administration → Nutzer:innen: Konten anlegen/deaktivieren, Rollen und Einrichtung zuordnen. Der Aktiv-Schalter sperrt sofort Login und API.
API-Key erzeugen (Aktion in der Nutzerzeile): Der Schlüssel wird einmalig angezeigt — gespeichert wird nur ein Hash. Verlorener Key = neuen erzeugen (der alte wird ungültig).
Menü Administration → Audit-Log (nur lesbar): Logins/Logouts, Änderungen an Stammobjekten, jeder Export (wer, was, Format, Zeilen), API-Zugriffe, Consent-Widerrufe, Retention-Läufe.
| Werkzeug | Zweck |
|---|---|
/horizon | Queue-Zustand, fehlgeschlagene Jobs (Retry direkt dort) |
/telescope (nur SA/SUP) | Fehler, langsame Queries, Schedule, Mail-Vorschau — in Prod nur Fehler/Slow/Failed |
/metrics (mit METRICS_TOKEN) | Prometheus-Kennzahlen (pal_up, pal_queue_size …); optional Compose-Profil monitoring (Prometheus+Grafana) |
/up | Healthcheck für externe Uptime-Überwachung |
| Zeit | Job | Prüfen |
|---|---|---|
| 03:00 | retention:enforce — Klardaten-Anonymisierung | Audit-Log „retention"; Probelauf mit --dry-run |
| 08:00 | reminders:dispatch — Kohorten-Erinnerungen | Horizon (Mail-Jobs) |
php artisan schedule:list zeigt die Registrierung; der
scheduler-Container muss laufen.
X-API-Key: <key> oder Authorization: Bearer <key>GET /api/v1/me, /surveys,
/surveys/{id}/results (pseudonymisiert + Aggregat), /cohortsPOST /api/v1/surveys/{id}/participants mit
{"count": 10} und/oder {"persons": [...]} — Antwort enthält die
Zugangs-Tokensdocs/spec/rest-api.mdPlaybooks im Betriebs-Runbook (docs/RUNBOOK.md, Abschnitt 8): Admin-500 (intl),
unstyled Survey (Vite-Assets), fehlende Ergebnisse (Worker), PDF-Fehler (Gotenberg),
RLS (DB-Rolle), Traefik/Session.