Consent & Privacy 0.1.0-dev3
===============================

Dritter Entwicklungsstand des optionalen CW-Moduls für
Cookie-Consent, Datenschutz und Einwilligungsnachweise.

Schwerpunkt:

- Stabilisierung nach dem dev2-Test
- Fail-open im Frontend
- keine automatischen Projektdateien
- gekapseltes Theme-CSS

Behoben:

- Ein Fehler im Output-Filter konnte beim Ausliefern des Frontends
  den kompletten Seiten-Response abbrechen.

- Der Dokumentfilter arbeitet jetzt fail-open:
  Bei einem internen Consent-Fehler wird das unveränderte
  HTML-Dokument ausgeliefert.

- Fehler in optionalen Projekt-Templates führen nicht mehr dazu,
  dass das Consent-Frontend bzw. die Website ausfällt.

- Bei einem fehlerhaften Projekt-Template versucht das Modul
  automatisch das interne Default-Template zu verwenden.

- Direkte Abhängigkeiten von mbstring wurden reduziert.
  Für einfache Längen-/Substring-Funktionen existieren Fallbacks.

Geändert:

- Das Modul erzeugt keine Dateien mehr unter:

  project/assets/css/

- Das Modul kopiert keine Templates mehr automatisch nach:

  project/templates/consent-privacy/

- Die Backend-Funktion "Default-Templates ins Projekt kopieren"
  wurde entfernt.

- Projekt-Templates bleiben als freiwilliger manueller Override
  möglich.

- Das Modul überschreibt keine Projekt-CSS- oder Template-Dateien.

Theme-Integration:

- Das Frontend-CSS ist vollständig auf die Consent-Komponenten
  gekapselt.

- Das Default-Design übernimmt vorhandene Projektvariablen wie:

  --bg
  --panel
  --surface
  --ink
  --text
  --muted
  --line
  --accent
  --accent-2
  --accent-3
  --shadow

- Unterstützt damit sowohl das CW Minimal Starter Variablenschema
  als auch umfangreichere Projekt-Themes.

- Buttons, Modal, Kategorien und Datenschutztabelle besitzen
  eigene Modulregeln und sollen nicht mehr als Browser-Standard-
  elemente erscheinen.

Sicherheit:

- Nicht notwendige Kategorien gelten bei einem internen
  Consent-Prüffehler als nicht freigegeben.

- Fehler des öffentlichen Consent-Endpunkts werden protokolliert
  und mit einem kontrollierten Fehlerstatus beantwortet.

Weiterhin enthalten:

- Consent-Banner
- individuelle Einstellungen
- Diensteregister
- Cookie-/Speicherregister
- CW-Analytics-Blocking
- Consent-Aktionslog
- Policy-Versionierung
- CSV-/JSON-Export
- Datenschutztabelle
- Helper für Scripts und Iframes

Datenspeicherung:

project/storage/consent-privacy/consent.sqlite

Status:

Development / Teststand

Voraussetzungen:

- CW 3.0.0-alpha1 oder neuer
- PHP 8.2 oder neuer
- PDO SQLite
