update
This commit is contained in:
111
AzA march 2026 - Kopie (18)/deploy/SECURITY_CHECKLIST.md
Normal file
111
AzA march 2026 - Kopie (18)/deploy/SECURITY_CHECKLIST.md
Normal file
@@ -0,0 +1,111 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user