diff --git a/docs/compliance-implementation.md b/docs/compliance-implementation.md index 5811b73..bd6a813 100644 --- a/docs/compliance-implementation.md +++ b/docs/compliance-implementation.md @@ -202,7 +202,7 @@ allow_headers=["Content-Type", "X-Auth-Token", "X-Active-Club-Id"], --- -## Test-Zusammenfassung (Stand 0.8.67) +## Test-Zusammenfassung (Stand 0.8.68) ``` tests/test_auth_password_reset_minlength.py 7 passed (neu, P-05b) @@ -248,7 +248,7 @@ Fehlgeschlagener Test: test_list_media_assets_invalid_lifecycle_400 ## Re-Audit-Empfehlung -Operativ nach Deployment 0.8.67 prüfen: +Operativ nach Deployment 0.8.68 prüfen: 1. **P-03/P-03b**: `docker logs shinkan-retention-cron` — Job läuft täglich 03:00 Uhr; Retention-Zeiten: 30 → 30 Tage 2. **P-04**: Manuell: PATCH privates Medium auf `official` ohne `copyright_notice` → muss 400 liefern diff --git a/docs/compliance-package-register.md b/docs/compliance-package-register.md index 8a69585..e67e29f 100644 --- a/docs/compliance-package-register.md +++ b/docs/compliance-package-register.md @@ -3,7 +3,7 @@ **Typ:** Kanonisches Referenzdokument **Erstellt:** 2026-05-10 **Basisdokument:** `docs/compliance-audit.md` (Initial-Audit 2026-05-09, App-Version 0.8.65) -**Letzte Aktualisierung:** 2026-05-10 (App-Version 0.8.67) +**Letzte Aktualisierung:** 2026-05-10 (App-Version 0.8.68) --- diff --git a/docs/compliance-roadmap.md b/docs/compliance-roadmap.md index fae11e9..fd9f0c8 100644 --- a/docs/compliance-roadmap.md +++ b/docs/compliance-roadmap.md @@ -29,7 +29,7 @@ Diese Roadmap ist nach jedem Re-Audit zu aktualisieren. Abweichungen von der bis ## 2. Aktueller Stand (2026-05-10) -### App-Version: 0.8.67 +### App-Version: 0.8.68 ### Geschlossene Pakete @@ -57,7 +57,7 @@ P-01, P-02, P-06, P-08, P-09, P-10, P-11, P-13, P-14, P-15, P-16, P-17, P-18, P- **Begründung:** Die App kann im aktuellen Zustand nicht für allgemeine öffentliche Registrierung beworben oder aktiv vermarktet werden. Folgende zwingende Voraussetzungen fehlen noch: -1. **P-01:** Kein Impressum, keine Datenschutzerklärung, keine AGB. Eine öffentlich erreichbare App ohne Impressum ist eine Ordnungswidrigkeit nach TMG §5. +1. **P-01:** Kein Impressum, keine Datenschutzerklärung, keine AGB. Eine öffentlich erreichbare App ohne Impressum ist eine Ordnungswidrigkeit nach § 5 DDG. 2. **P-06:** Keine Einwilligungserklärung beim Medienupload. Personenbilder können ohne jede Rechteabklärung hochgeladen werden. 3. **P-02:** Nutzer können ihr Konto nicht selbst löschen (DSGVO Art. 17). Der Prozess ist noch nicht einmal fachlich spezifiziert. 4. **P-13:** Keine Möglichkeit, rechtswidrige Inhalte zu melden. Bei einer UGC-Plattform mit öffentlichen Inhalten ist dies ein erhebliches Restrisiko, unabhängig davon, ob der DSA formal anwendbar ist. @@ -73,7 +73,7 @@ Die folgenden Pakete sind vor der Freigabe für allgemeine öffentliche Registri ### Blocker 1 — P-01: Rechtstexte -**Finding:** KRIT-01 (Ordnungswidrigkeit, TMG §5) +**Finding:** KRIT-01 (Ordnungswidrigkeit, § 5 DDG) **Warum zwingend:** Eine öffentlich erreichbare App ohne Impressum ist seit dem ersten Tag der öffentlichen Zugänglichkeit bußgeldbewehrt. Auch eine Beta-/Invite-Only-Phase ohne Impressum trägt dieses Risiko, sobald die URL öffentlich bekannt ist. **Abhängigkeit:** Technische Seiten können sofort angelegt werden (Platzhalter). Inhalt erfordert Rechtsanwalt. @@ -134,13 +134,13 @@ Das Initial-Audit platzierte P-22 in Etappe 2. Die aktuelle Einschätzung: CSP ` ## 5. Aktuell empfohlene Umsetzungsreihenfolge -### Etappe A – Sofortmaßnahme (ca. 15 Minuten) +### ✅ Etappe A – Abgeschlossen (2026-05-10, Version 0.8.68) -| Paket | Titel | Aufwand | Freigabe-Formulierung | -|-------|-------|---------|----------------------| -| P-12 | sessionStorage bei Logout bereinigen | ~15 min | „Freigabe zur Umsetzung P-12: sessionStorage bei Logout bereinigen" | +| Paket | Titel | Aufwand | Status | +|-------|-------|---------|--------| +| P-12 | sessionStorage bei Logout bereinigen | ~15 min | ✅ umgesetzt | -**Begründung:** Minimaler Aufwand, bereits vollständig dokumentiert mit Fix-Code in `docs/compliance-implementation.md` §P-12. Schließt MITT-05. Keine Abhängigkeiten. Sollte nicht weiter offen bleiben. +**Abschluss:** P-12 wurde am 2026-05-10 in Version 0.8.68 umgesetzt. `logout()` in `AuthContext.jsx` löscht alle `sj_coach_*`-Schlüssel via Präfix-Iteration. Playwright-Test verifiziert. MITT-05 geschlossen. --- @@ -205,28 +205,21 @@ Erst wenn diese Fragen beantwortet und als Spec dokumentiert sind, wird P-02 in ## 6. Nächste empfohlene Freigabe -**Empfehlung: Kein Großpaket.** +**Empfehlung: P-01 allein (technischer Teil).** -Die nächste Freigabe sollte **P-12 allein** umfassen: - -> „Freigabe zur Umsetzung P-12: sessionStorage bei Logout bereinigen" +> „Freigabe zur Umsetzung P-01: Rechtstexte technisch anlegen" **Begründung:** -- Aufwand: ca. 15 Minuten -- Risiko: null (isolierte Änderung in `AuthContext.jsx`) -- Fix ist vollständig dokumentiert in `docs/compliance-implementation.md` §P-12 -- Schließt MITT-05 ohne Regressionsgefahr -- Erfordert keinen Re-Audit — kann direkt committet werden +- P-12 (Etappe A) ist abgeschlossen — kein weiteres Sofortpaket offen +- P-01 ist das kleinste verbleibende Pflichtpaket mit technischem Umsetzungsanteil +- Technische Seiten (Routen `/impressum`, `/datenschutz`, `/nutzungsbedingungen`, Platzhalter-Inhalte) sind von der juristischen Ausarbeitung unabhängig +- Schließt die technische Grundvoraussetzung für Rechtstexte; der juristische Inhalt folgt separat +- Keine Abhängigkeiten zu anderen offenen Paketen +- Aufwand: 2–4 Stunden (Technik), danach Rechtsanwalt für Inhalte -**Alternativ: P-12 + P-01 (technische Platzhalterseiten)** +**Nicht enthalten in dieser Freigabe:** Juristisch geprüfte Texte für Impressum, Datenschutzerklärung, AGB. Diese bleiben als separate Betreiber-Aufgabe. -Wenn Rechtstexte-Seiten rein technisch angelegt werden sollen (leere Routen, Hinweis „Inhalt folgt"), kann P-01 (technischer Teil) gleichzeitig freigegeben werden: - -> „Freigabe zur Umsetzung P-01: Rechtstexte technisch anlegen (Platzhalter-Seiten und Routen)" - -Inhaltliche Ausarbeitung der Rechtstexte bleibt davon getrennt und erfordert einen Rechtsanwalt. - -**Nach dieser Freigabe:** Mini-Re-Audit, dann Freigabe für Etappe B als Paket. +**Nach dieser Freigabe:** Mini-Re-Audit P-01, dann Freigabe für Etappe B (P-06, P-11, P-13) als Paket oder einzeln. --- @@ -246,7 +239,7 @@ Folgende Bedingungen müssen **alle** erfüllt sein: | HSTS am externen Reverse-Proxy nachgewiesen | P-08 | Betreiber | | Papierkorb-Retention-Job läuft (Monitoring aktiv) | P-03 | Bereits erfüllt | | `ALLOW_PUBLIC_MEDIA_STATIC` nicht in Prod-Env gesetzt | P-07 | Bereits erfüllt | -| sessionStorage bei Logout bereinigt | P-12 | Code (nach Freigabe) | +| sessionStorage bei Logout bereinigt | P-12 | ✅ Bereits erfüllt (Version 0.8.68) | **Darf bei Gate 1 offen bleiben (mit Dokumentation):** - P-02 vollständige Implementierung (Spezifikation genügt als Zwischenstand, wenn aktiver Prozess für Löschanfragen per E-Mail dokumentiert ist) @@ -337,12 +330,12 @@ Diese Punkte liegen außerhalb des Code-Scopes und erfordern organisatorische Ma ## Anhang: Schnellreferenz Freigabe-Formulierungen -| Empfohlene nächste Freigabe | Formulierung | -|-----------------------------|-------------| -| P-12 allein | „Freigabe zur Umsetzung P-12: sessionStorage bei Logout bereinigen" | -| P-12 + P-01 technisch | „Freigabe zur Umsetzung P-12 und P-01: sessionStorage bereinigen und Rechtstexte-Routen technisch anlegen (Platzhalter)" | -| Etappe B komplett | „Freigabe zur Umsetzung Etappe B: P-01, P-06, P-11, P-13" | -| P-02 Spezifikation | „Freigabe zur Spezifikation P-02: DSGVO-Self-Service-Prozess" | +| Freigabe | Formulierung | Status | +|----------|-------------|--------| +| ~~P-12 allein~~ | ~~„Freigabe zur Umsetzung P-12: sessionStorage bei Logout bereinigen"~~ | ✅ historisch abgeschlossen (Version 0.8.68) | +| **P-01 allein (empfohlen)** | **„Freigabe zur Umsetzung P-01: Rechtstexte technisch anlegen"** | ⬅ nächste empfohlene Freigabe | +| Etappe B (nach P-01) | „Freigabe zur Umsetzung Etappe B: P-06, P-11, P-13" | offen | +| P-02 Spezifikation | „Freigabe zur Spezifikation P-02: DSGVO-Self-Service-Prozess" | offen | ---