shinkan-jinkendo/docs/compliance-package-register.md
Lars 1640fe6045
All checks were successful
Deploy Development / deploy (push) Successful in 40s
Test Suite / pytest-backend (push) Successful in 34s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 10s
Test Suite / playwright-tests (push) Successful in 54s
feat(compliance): update compliance documents for app version 0.8.83, including full implementation of P-06 and P-06+ features
2026-05-11 12:11:30 +02:00

23 KiB
Raw Blame History

Compliance-Paketregister Shinkan Jinkendo

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-11 (App-Version 0.8.83)


Verbindliche Regel: Paket-IDs werden nach ihrer ersten Vergabe in docs/compliance-audit.md nie wieder umnummeriert oder wiederverwendet. Dieses Dokument ist der kanonische Verweis für alle Freigaben, Umsetzungsberichte und Audits. Abweichende Nummerierungen in nachgelagerten Dokumenten sind Fehler und müssen auf die kanonische ID korrigiert werden. Nacharbeiten zu einem Paket erhalten Suffixe (z. B. P-03b, P-05b), keine neue Hauptnummer.


Status-Legende

Symbol Bedeutung
implemented Vollständig umgesetzt und getestet
⚠️ partially implemented Teilweise umgesetzt; Nacharbeit dokumentiert
open Nicht umgesetzt, offen
🔒 scope excluded Bewusst außerhalb des technischen Umsetzungsscopes

Etappe 1 Pflicht vor öffentlichem Betrieb

P-01 Rechtstexte

Feld Inhalt
Kanonischer Titel Rechtstexte (Impressum, Datenschutzerklärung, AGB, Medienrichtlinie)
Findings KRIT-01
Etappe 1
Status ⚠️ partially implemented
Letzter Stand Technischer Teil vollständig umgesetzt (2026-05-10, Version 0.8.74, inkl. P-01b + P-01c + Erweiterungen): Routen /impressum, /datenschutz, /nutzungsbedingungen, /medienrichtlinie öffentlich erreichbar ohne Auth. Platzhalterseiten mit strukturierten Pflichtfeldern und sichtbarem Muster-Hinweis. Links in LoginPage, DesktopSidebar und /settings/legal (Mobile/PWA, P-01b, 0.8.70). Admin-konfigurierbare Rechtstexte mit Versionierung + Publish/Archive-Workflow (DB 047, Superadmin-UI /admin/legal-documents, P-01c, 0.8.71). Als-Entwurf-kopieren: POST /api/admin/legal-documents/{id}/copy-as-draft (0.8.72). Echter PDF-Download via jsPDF (direkter Dateidownload, A4, Seitenumbruch, Footer), Abschnitte sortieren (▲/▼) und an beliebiger Stelle einfügen (0.8.74). Juristisch geprüfte Inhalte fehlen noch — Betreiber + Rechtsanwalt erforderlich. KRIT-01 bleibt offen bis zur Veröffentlichung echter Texte.
Verweise docs/compliance-audit.md §14.2, §17, §19.1; docs/compliance-implementation.md §P-01, §P-01b, §P-01c; frontend/src/pages/LegalPage.jsx; frontend/src/pages/SettingsLegalPage.jsx; frontend/src/pages/AdminLegalDocumentsPage.jsx; backend/routers/legal_documents.py; backend/migrations/047_legal_documents.sql
Hinweise P-01b (Mobile-Erreichbarkeit, 0.8.70) und P-01c (Admin-konfigurierbar, 0.8.71) als Suffix-Pakete ergänzt und vollständig umgesetzt. Erweiterungen: copy-as-draft (0.8.72), jsPDF + Abschnitts-Sortierung/-Einfügen (0.8.74). Keine Nummerierungsabweichung.

P-02 Self-Service-Kontolöschung + Datenexport

Feld Inhalt
Kanonischer Titel Self-Service-Kontolöschung und Datenexport (DSGVO Art. 17, 15, 20)
Findings KRIT-02, KRIT-05
Etappe 1
Status open
Letzter Stand Nicht umgesetzt. DELETE /api/profiles/{pid} nur für Plattform-Admin.
Verweise docs/compliance-audit.md §7.3, §11.2, §17
Hinweise In docs/compliance-implementation.md als „Self-Service-Löschworkflow" bezeichnet — inhaltlich korrekt, Titel leicht abgekürzt.

P-03 Papierkorb-Retention-Job aktivieren

Feld Inhalt
Kanonischer Titel Papierkorb-Retention-Job aktivieren (automatische tägliche Ausführung)
Findings KRIT-07
Etappe 1
Status implemented
Letzter Stand Umgesetzt in Version 0.8.66. Neuer Docker-Service retention-cron in docker-compose.yml. Python-basierter Loop, täglich 03:00 Uhr.
Nacharbeit P-03b (Retention-Zeiten mit Löschkonzept abgleichen) — siehe unten
Verweise docs/compliance-audit.md §9.2, §17; docs/compliance-implementation.md §P-03
Hinweise Keine Nummerierungsabweichung festgestellt.

P-03b Nacharbeit: Retention-Zeiten mit Löschkonzept abgleichen

Feld Inhalt
Typ Nacharbeit zu P-03 (kein eigenes Hauptpaket)
Status implemented (2026-05-10, Version 0.8.67)
Befund Default HIDDEN_TO_PURGE_DAYS war 90 Tage; fachliches Löschkonzept sieht 30+30 vor.
Änderung backend/media_lifecycle.py: Default "90""30"; docker-compose.yml: Env-Variable dokumentiert.
Verweise docs/compliance-implementation.md §P-03b

Feld Inhalt
Kanonischer Titel Copyright-Pflicht bei Archiv-Promotion vereinheitlichen
Findings KRIT-06
Etappe 1
Status implemented
Letzter Stand Umgesetzt in Version 0.8.66. patch_media_asset() und bulk_media_patch() erzwingen copyright_notice bei Promotion auf club/official. 7 Tests, alle grün.
Verweise docs/compliance-audit.md §6.3, §8.1, §17; docs/compliance-implementation.md §P-04; backend/tests/test_media_assets_copyright_promotion.py
Hinweise Keine Nummerierungsabweichung festgestellt.

P-05 Passwort-Mindestlänge angleichen

Feld Inhalt
Kanonischer Titel Passwort-Mindestlänge angleichen (alle Endpoints: mindestens 8 Zeichen)
Findings MITT-01, SEC-04, SEC-12, NIED-06
Etappe 1
Status implemented (vollständig, inkl. P-05b)
Letzter Stand Version 0.8.66: PUT /api/auth/pin, LoginPage.jsx, AccountSettingsPage.jsx. Version 0.8.67: POST /api/auth/reset-password via P-05b. Alle 6 Punkte geschlossen.
Nacharbeit P-05b (reset-password Mindestlänge) — siehe unten
Verweise docs/compliance-audit.md §13.2 (SEC-04, SEC-12), §16 (MITT-01); docs/compliance-implementation.md §P-05, §P-05b
Hinweise P-05 gilt als vollständig geschlossen nach Abschluss von P-05b (2026-05-10).

P-05b Nacharbeit: reset-password Mindestlänge

Feld Inhalt
Typ Nacharbeit zu P-05 (kein eigenes Hauptpaket)
Status implemented (2026-05-10, Version 0.8.67)
Befund POST /api/auth/reset-password hatte kein Mindestlängen-Limit im Backend.
Änderung backend/models.py: PasswordResetConfirm.new_password = Field(min_length=8, max_length=128). 7 neue Tests.
Verweise docs/compliance-implementation.md §P-05b; backend/tests/test_auth_password_reset_minlength.py

P-06 Upload-Einwilligungsdialog

Feld Inhalt
Kanonischer Titel Upload-Einwilligungsdialog (Recht am eigenen Bild, Personen, Minderjährige)
Findings KRIT-04
Etappe 1
Status ⚠️ teilweise umgesetzt (KRIT-04 offen)
Letzter Stand Vollständig technisch umgesetzt inkl. P-06+ (2026-05-11, v0.8.83) unter vorläufigen Erstannahmen p06-v1-conservative. Kernum­setzung (v0.8.75): Migration 048 (media_asset_rights_declarations + 3 Schnellfelder in media_assets); Migration 049 (Kontext-Felder); backend/media_rights.py; Enforcement in Bulk-Upload, PATCH, Bulk-PATCH, exercises.py; RightsDeclarationDialog.jsx; Altbestand-Indikator; 3 neue Admin-Endpoints. P-06+ Volljournal + Korrektur (v0.8.820.8.83): Migration 050 (media_asset_audit_log + correction_note in Deklarations-Tabelle); automatische Audit-Log-Einträge bei Sichtbarkeits-, Copyright-, Metadaten- und Lifecycle-Änderungen; neuer Journal-Endpoint GET /api/admin/media-rights/assets/{id}/journal (chronologisch gemischte events[] aus Deklarationen + Audit); neuer Korrektur-Endpoint POST /api/admin/media-rights/assets/{id}/correction; Zugriff für Superadmin + Uploader + Vereins-Admin; Korrektur-Formular im Journal-Modal. Juristische Klärungspunkte (§22 KUG, §8 DSGVO, Widerrufsrecht etc.) offen — KRIT-04 bleibt. Details: docs/p06-upload-rights-spec.md §10, §11; docs/compliance-implementation.md §P-06.
Verweise docs/compliance-audit.md §8.2, §8.3, §11.4, §17; docs/p06-upload-rights-spec.md; docs/compliance-implementation.md §P-06; backend/media_rights.py; backend/migrations/048_media_rights_declarations.sql; backend/migrations/050_media_audit_log.sql
Hinweise Drift-Hinweis (2026-05-10): In docs/compliance-implementation.md (vor Korrektur) wurde P-06 fälschlich als „HSTS-Header" beschrieben. Korrigiert. P-06+ (2026-05-11, v0.8.820.8.83): Volljournal + Korrektur als notwendige Erweiterung nach Ersterstellung implementiert. Bugfix: Club-Admin-Prüfung im Journal/Korrektur-Endpoint nutzte falsches Schema (role-Spalte auf club_members existiert nicht) — korrigiert auf has_club_role().

Etappe 2 Sicherheit und Datenschutz

P-07 ALLOW_PUBLIC_MEDIA_STATIC dokumentieren + Test

Feld Inhalt
Kanonischer Titel ALLOW_PUBLIC_MEDIA_STATIC dokumentieren und Release-Test einrichten
Findings HOCH-01, SEC-05
Etappe 2
Status implemented
Letzter Stand Umgesetzt in Version 0.8.66. 2 Tests in test_security_release.py: Flag deaktiviert per Default; Flag aktiviert mounted /media.
Verweise docs/compliance-audit.md §13.5, §17; docs/compliance-implementation.md §P-07; backend/tests/test_security_release.py
Hinweise Keine Nummerierungsabweichung festgestellt.

P-08 HSTS / externe Proxy-Sicherheit dokumentieren

Feld Inhalt
Kanonischer Titel HSTS und externe Proxy-Sicherheit dokumentieren
Findings HOCH-02, SEC-01
Etappe 2
Status open
Letzter Stand Nicht umgesetzt. HSTS liegt außerhalb des Repo-Scopes (Reverse-Proxy/Fritz!Box). Betreiber-Verantwortung.
Verweise docs/compliance-audit.md §13.2 (SEC-01), §19.7
Hinweise Drift-Hinweis: In docs/compliance-implementation.md (vor Korrektur 2026-05-10) fehlte P-08 vollständig in der „Nicht umgesetzte Pakete"-Tabelle. Der Inhalt „HSTS-Header" war fälschlich P-06 zugeordnet. Korrigiert in docs/compliance-implementation.md.

P-09 Admin-Audit-Log

Feld Inhalt
Kanonischer Titel Admin-Audit-Log (Protokollierung von Admin-Aktionen)
Findings HOCH-05, SEC-07
Etappe 2
Status open
Letzter Stand Nicht umgesetzt. Keine admin_audit_log-Tabelle vorhanden. Profil-Löschungen und Lifecycle-Aktionen nicht protokolliert.
Verweise docs/compliance-audit.md §13.2 (SEC-07), §16 (HOCH-05), §17
Hinweise Drift-Hinweis: In docs/compliance-implementation.md (vor Korrektur 2026-05-10) wurde P-09 fälschlich als „Kein Einwilligungsdialog Recht am eigenes Bild" beschrieben. Der korrekte Titel ist „Admin-Audit-Log". Der Einwilligungsdialog gehört zu P-06. Korrigiert in docs/compliance-implementation.md.

P-10 Mindestalter-Abfrage

Feld Inhalt
Kanonischer Titel Mindestalter-Abfrage bei Registrierung
Findings HOCH-06
Etappe 2
Status open
Letzter Stand Nicht umgesetzt. Keine Altersverifikation bei Registrierung. Juristisch zu prüfen (§8 DSGVO).
Verweise docs/compliance-audit.md §11.4, §16 (HOCH-06), §17
Hinweise Drift-Hinweis: In docs/compliance-implementation.md (vor Korrektur 2026-05-10) wurde P-10 fälschlich als „DSA-Meldeverfahren" beschrieben. Der korrekte Titel ist „Mindestalter-Abfrage". Das DSA-Meldeverfahren gehört zu P-13P-16. Korrigiert in docs/compliance-implementation.md.

Feld Inhalt
Kanonischer Titel Legal-Hold Lifecycle-Status (Sofortsperrung bei Rechtsverletzung)
Findings MITT-02
Etappe 2
Status open
Letzter Stand Nicht umgesetzt. Stufe-1-Papierkorb dauert 30 Tage bis zur vollständigen Unsichtbarkeit. Kein direkter Sperr-Status.
Verweise docs/compliance-audit.md §9.2, §16 (MITT-02), §17
Hinweise Drift-Hinweis: In docs/compliance-implementation.md (vor Korrektur 2026-05-10) wurde P-11 fälschlich als „HttpOnly-Cookie-Migration" beschrieben. Der korrekte Titel ist „Legal-Hold Lifecycle-Status". HttpOnly-Cookie gehört zu P-18. Korrigiert in docs/compliance-implementation.md.

P-12 sessionStorage bei Logout bereinigen

Feld Inhalt
Kanonischer Titel sessionStorage bei Logout bereinigen
Findings MITT-05
Etappe 2
Status implemented
Letzter Stand Umgesetzt 2026-05-10, Version 0.8.68. logout() in AuthContext.jsx löscht jetzt alle sj_coach_*-Schlüssel via Präfix-Iteration. Gezielte Löschung (kein sessionStorage.clear()), fremde Schlüssel bleiben erhalten. Playwright-Test ergänzt in tests/dev-smoke-test.spec.js.
Verweise docs/compliance-audit.md §5.6, §16 (MITT-05), §17; docs/compliance-implementation.md §P-12; frontend/src/context/AuthContext.jsx; tests/dev-smoke-test.spec.js
Hinweise Keine Nummerierungsabweichung festgestellt.

P-22 HTML-Sanitizer für Rich-Text-Felder

Feld Inhalt
Kanonischer Titel HTML-Sanitizer für Rich-Text-Felder (bleach/nh3 Allowlist)
Findings NIED-09, SEC-11
Etappe 2
Status open
Letzter Stand Nicht umgesetzt. exercise_rich_text.py normalisiert nur Inline-Media-Markup. Beliebiges HTML in summary, goal, execution, preparation, trainer_notes möglich. CSP schützt gegen Script-Execution.
Verweise docs/compliance-audit.md §13.3 (SEC-11), §13.2 (NIED-09), §17
Hinweise Keine Nummerierungsabweichung festgestellt.

P-23 LoginPage: minLength angleichen + Versionsstring entfernen

Feld Inhalt
Kanonischer Titel LoginPage: minLength angleichen und hartcodierten Versionsstring entfernen
Findings NIED-06, NIED-07, SEC-12, SEC-13
Etappe 2
Status implemented
Letzter Stand Umgesetzt in Version 0.8.66. minLength="6""8"; Versionsstring v0.1.0 • Development entfernt.
Verweise docs/compliance-audit.md §13.2 (SEC-12, SEC-13, NIED-06, NIED-07), §17; docs/compliance-implementation.md §P-23
Hinweise Keine Nummerierungsabweichung festgestellt.

P-24 CORS einschränken

Feld Inhalt
Kanonischer Titel CORS allow_methods und allow_headers auf tatsächlich benötigte Werte einschränken
Findings NIED-08, SEC-14
Etappe 2
Status implemented
Letzter Stand Umgesetzt in Version 0.8.66. allow_methods=["GET","POST","PUT","PATCH","DELETE","OPTIONS"]; allow_headers=["Content-Type","X-Auth-Token","X-Active-Club-Id"].
Verweise docs/compliance-audit.md §13.3, §17; docs/compliance-implementation.md §P-24
Hinweise Keine Nummerierungsabweichung festgestellt.

Etappe 3 DSA-Meldeverfahren

P-13 Content-Melde-Backend

Feld Inhalt
Kanonischer Titel Content-Melde-Backend (content_reports-Tabelle + Endpoints)
Findings KRIT-03
Etappe 3
Status open
Letzter Stand Nicht umgesetzt. Juristisch zu klären (DSA-Anwendungsbereich). Technische Spec vorhanden in docs/compliance-audit.md §17.
Verweise docs/compliance-audit.md §12, §17
Hinweise Keine Nummerierungsabweichung festgestellt.

P-14 Moderations-UI

Feld Inhalt
Kanonischer Titel Moderations-UI (Frontend für Moderation-Queue)
Findings KRIT-03
Etappe 3
Status open
Letzter Stand Nicht umgesetzt. Abhängig von P-13.
Verweise docs/compliance-audit.md §12, §17
Hinweise Keine Nummerierungsabweichung festgestellt.

P-15 Uploader-Benachrichtigung bei Sperrung

Feld Inhalt
Kanonischer Titel Uploader-Benachrichtigung bei Sperrung oder Löschung
Findings KRIT-03
Etappe 3
Status open
Letzter Stand Nicht umgesetzt. Kein Benachrichtigungssystem vorhanden.
Verweise docs/compliance-audit.md §9.2, §12, §17
Hinweise Keine Nummerierungsabweichung festgestellt.

P-16 Beschwerdeverfahren

Feld Inhalt
Kanonischer Titel Beschwerdeverfahren (Nutzer-Rechtsbehelfsweg gegen Moderationsentscheidungen)
Findings KRIT-03
Etappe 3
Status open
Letzter Stand Nicht umgesetzt. Abhängig von P-13P-15.
Verweise docs/compliance-audit.md §12, §17
Hinweise Keine Nummerierungsabweichung festgestellt.

Etappe 4 Langfristige Optimierungen

P-17 MFA für Superadmins (TOTP)

Feld Inhalt
Kanonischer Titel MFA für Superadmins (TOTP-Zweifaktorauthentifizierung)
Findings HOCH-04, SEC-06
Etappe 4
Status open
Letzter Stand Nicht umgesetzt. Kein TOTP/OTP implementiert.
Verweise docs/compliance-audit.md §13.2 (SEC-06), §16 (HOCH-04), §17
Hinweise Keine Nummerierungsabweichung festgestellt.

Feld Inhalt
Kanonischer Titel HttpOnly-Cookie als Auth-Alternative (XSS-Schutz für Auth-Token)
Findings HOCH-03, SEC-02
Etappe 4
Status open
Letzter Stand Nicht umgesetzt. Auth-Token liegt weiterhin in localStorage. Größere Architekturänderung erforderlich.
Verweise docs/compliance-audit.md §10.3, §13.2 (SEC-02), §17
Hinweise Drift-Hinweis: In docs/compliance-implementation.md (vor Korrektur 2026-05-10) wurde der Inhalt „HttpOnly-Cookie-Migration" fälschlich P-11 zugeordnet. Der korrekte Titel gehört zu P-18. Korrigiert in docs/compliance-implementation.md.

P-19 Anti-Virus-Scan (ClamAV)

Feld Inhalt
Kanonischer Titel Anti-Virus-Scan für Uploads (ClamAV oder vergleichbar)
Findings NIED-02, SEC-10
Etappe 4
Status open
Letzter Stand Nicht umgesetzt. Hoher Aufwand, Risiko bei lokalem Storage gering.
Verweise docs/compliance-audit.md §13.2 (SEC-10), §16 (NIED-02), §17
Hinweise Keine Nummerierungsabweichung festgestellt.

P-20 VVT erstellen

Feld Inhalt
Kanonischer Titel Verzeichnis der Verarbeitungstätigkeiten (VVT) erstellen (DSGVO Art. 30)
Findings MITT-03
Etappe 4
Status open
Letzter Stand Nicht umgesetzt. Betreiber-Aufgabe. Identifizierte Verarbeitungsvorgänge in docs/compliance-audit.md §11.1.
Verweise docs/compliance-audit.md §11.1, §17, §19.6
Hinweise Keine Nummerierungsabweichung festgestellt.

P-21 AV-Verträge abschließen

Feld Inhalt
Kanonischer Titel AV-Verträge mit Auftragsverarbeitern abschließen (SMTP, MediaWiki, OpenRouter)
Findings MITT-04, MITT-07, MITT-08
Etappe 4
Status open
Letzter Stand Nicht umgesetzt. Betreiber-Aufgabe. Drei identifizierte Auftragsverarbeiter ohne Vertrag.
Verweise docs/compliance-audit.md §11.3, §17, §19.6
Hinweise Keine Nummerierungsabweichung festgestellt.

Übersichtstabelle aller Pakete

ID Kanonischer Titel Etappe Findings Status
P-01 Rechtstexte 1 KRIT-01 ⚠️ partially implemented
P-02 Self-Service-Kontolöschung + Datenexport 1 KRIT-02, KRIT-05 open
P-03 Papierkorb-Retention-Job aktivieren 1 KRIT-07 implemented
P-03b Nacharbeit: Retention-Zeiten mit Löschkonzept abgleichen implemented
P-04 Copyright-Pflicht für Archiv-Promotion vereinheitlichen 1 KRIT-06 implemented
P-05 Passwort-Mindestlänge angleichen 1 MITT-01, SEC-04, SEC-12, NIED-06 implemented
P-05b Nacharbeit: reset-password Mindestlänge implemented
P-06 Upload-Einwilligungsdialog 1 KRIT-04 ⚠️ teilweise (KRIT-04 offen)
P-07 ALLOW_PUBLIC_MEDIA_STATIC dokumentieren + Test 2 HOCH-01, SEC-05 implemented
P-08 HSTS / externe Proxy-Sicherheit dokumentieren 2 HOCH-02, SEC-01 open
P-09 Admin-Audit-Log 2 HOCH-05, SEC-07 open
P-10 Mindestalter-Abfrage 2 HOCH-06 open
P-11 Legal-Hold Lifecycle-Status 2 MITT-02 open
P-12 sessionStorage bei Logout bereinigen 2 MITT-05 implemented
P-13 Content-Melde-Backend 3 KRIT-03 open
P-14 Moderations-UI 3 KRIT-03 open
P-15 Uploader-Benachrichtigung bei Sperrung 3 KRIT-03 open
P-16 Beschwerdeverfahren 3 KRIT-03 open
P-17 MFA für Superadmins (TOTP) 4 HOCH-04, SEC-06 open
P-18 HttpOnly-Cookie als Auth-Alternative 4 HOCH-03, SEC-02 open
P-19 Anti-Virus-Scan (ClamAV) 4 NIED-02, SEC-10 open
P-20 VVT erstellen 4 MITT-03 open
P-21 AV-Verträge abschließen 4 MITT-04, MITT-07, MITT-08 open
P-22 HTML-Sanitizer für Rich-Text-Felder 2 NIED-09, SEC-11 open
P-23 LoginPage: minLength angleichen + Versionsstring entfernen 2 NIED-06, NIED-07, SEC-12, SEC-13 implemented
P-24 CORS einschränken (Methoden + Header) 2 NIED-08, SEC-14 implemented

Fortschritt

Implementiert (vollständig): P-03, P-03b, P-04, P-05, P-05b, P-07, P-12, P-23, P-24 — 9 Pakete (inkl. 2 Nacharbeiten)
Teilweise implementiert: P-01 (technischer Teil vollständig inkl. P-01b, P-01c, copy-as-draft, jsPDF; juristische Inhalte offen) — 1 Paket
Teilweise umgesetzt (KRIT offen): P-06 (Upload-Einwilligungsdialog inkl. P-06+ Volljournal + Korrektur — KRIT-04 bis juristische Validierung ausstehend)
Offen: P-02, P-08, P-09, P-10, P-11, P-13, P-14, P-15, P-16, P-17, P-18, P-19, P-20, P-21, P-22 — 15 Pakete
App-Version bei letzter Aktualisierung: 0.8.83
Letztes Umsetzungsdatum: 2026-05-11


Erstellt: 2026-05-10 | Quelle: docs/compliance-audit.md (Initial-Audit 2026-05-09) | Kein Rechtsanwalt; alle rechtlichen Einschätzungen sind juristisch zu prüfen.