# AZA Final Security Checklist ## Ziel Finale Sicherheitsprüfung vor produktivem Einsatz von AZA Medical AI Assistant. --- ## 1. Auth / Tokens - `X-API-Token` wird für geschützte Endpoints verwendet - keine Umstellung auf `Authorization: Bearer` ohne expliziten Auftrag - Tokens nie loggen - Tokens nie in JSON-Antworten zurückgeben - Dev-Token nur bewusst für lokale/dev Zwecke verwenden --- ## 2. License Endpoint - `/license/status` Schema bleibt exakt: - `{ "valid": true, "valid_until": 1774553596 }` - `{ "valid": false, "valid_until": null }` - keine Breaking Changes am Response-Format --- ## 3. Logging - keine Secrets loggen - keine Tokens loggen - keine PHI loggen - keine Diktatinhalte loggen - keine Suchanfragen mit sensiblen Inhalten loggen - nur technische Minimal-Logs --- ## 4. Telemetry - nur freigegebene Events - keine PHI - keine Freitexte - `crash_type` nur aus Whitelist - `target_version` nur bei `update_check` - Rate-Limit aktiv --- ## 5. Request Limits - sinnvolle Request-Size-Limits für öffentliche Endpoints - Schutz vor sehr großen Payloads - Schutz vor Missbrauch durch Flooding --- ## 6. Public Endpoint Review Öffentlich erlaubte Endpoints bewusst prüfen: - `/health` - `/version` - `/download` - `/telemetry/ping` Nicht öffentlich versehentlich exponieren: - interne Admin-Endpunkte - Diagnose-/Debug-Endpunkte - tokenpflichtige interne APIs --- ## 7. Deployment / Ops - korrekte ENV-Variablen gesetzt - `MEDWORK_API_TOKEN` gesetzt - Reverse Proxy korrekt - nur benötigte Ports offen - Healthcheck erfolgreich --- ## 8. Release / Download - `release/version.json` konsistent - `download_url` zeigt auf `aza-medwork.ch` - Release-Skript erzeugt korrekte URL - keine kaputten oder leeren Release-Metadaten --- ## 9. Billing / Dokumente - keine sensiblen Inhalte unnötig speichern - Rechnungsdaten klar getrennt von medizinischen Inhalten - Pflichtfelder für Rechnungen dokumentiert --- ## 10. Go-Live Entscheidung Go-Live nur wenn: - Healthcheck PASS - `/version` PASS - `/download` PASS - `/license/status` Schema PASS - Telemetry validiert - keine offensichtlichen offenen Secret-/Logging-Probleme