Funktionen im Detail

Alle technischen und rechtlichen Funktionen des Banners auf einen Blick.

DSGVO- und TTDSG-Konformität

Der Banner erfüllt alle Pflichten, die aus deutscher und EU-Rechtsprechung für Cookie-Consent gelten:

  • Default-Ablehnung: Kategorien außer „Notwendig" sind voreingestellt abgewählt (TSUE-Urteil Planet49 C-673/17, 1. Oktober 2019).
  • Gleichwertige Buttons: „Ablehnen" optisch genauso prominent wie „Akzeptieren" (BGH I ZR 186/17, DSK 2021).
  • Kein Esc-Schließen: Banner lässt sich nicht durch versehentliches Klicken außerhalb wegklicken.
  • Widerruf jederzeit: Cookie-Symbol bleibt nach Zustimmung sichtbar (Art. 7 Abs. 3 DSGVO).
  • § 25 TTDSG: Einwilligung vor dem Setzen nicht-technisch-notwendiger Cookies.

Automatische Skript-Blockierung

Tracking-Skripte werden vor der Zustimmung gar nicht erst ausgeführt. So funktioniert es:

  1. Sie markieren Ihre Tracking-Skripte mit type="text/plain" data-cc-category="statistics" (oder "marketing", "preferences").
  2. Der Browser ignoriert sie zunächst — kein Cookie wird gesetzt, kein Pixel feuert.
  3. Stimmt der Nutzer der Kategorie zu, klont der Banner das Skript als ausführbares <script>-Tag.
  4. Erst dann läuft der Tracking-Code.

Funktioniert auch für iFrames (YouTube, Maps) per data-cc-src. Keine Code-Änderung an den Tracking-Skripten selbst nötig.

Audit-Log mit CSV-Export

Jede Einwilligung wird serverseitig protokolliert — als Nachweis für Aufsichtsbehörden (Art. 7 Abs. 1 DSGVO: Beweislast beim Verantwortlichen).

  • Was wird gespeichert: Anonyme ID, gewählte Kategorien, Zeitstempel, gehashte IP-Adresse (sha256(IP + salt) — nicht zurückrechenbar), gehashter User-Agent, Site und Konfigurations-Hash.
  • Was wird NICHT gespeichert: Klar-IP, Klar-UA, persönlich identifizierbare Daten.
  • CSV-Export: Im Admin-Panel, gefiltert nach Domain und Zeitraum. Aufsichtsbehörde-tauglich.
  • Retention: 3 Jahre (Verjährungsfrist für Schadensersatzansprüche), danach automatisch gelöscht.
  • Recht auf Vergessenwerden (Art. 17 DSGVO): Auf Antrag löschen Sie einzelne anonyme IDs.

4-Kategorien-Modell

Standard für deutsche und EU-Websites:

KategorieBeispieleRechtsgrundlage
NotwendigSitzung, Cookie-Einwilligung, Warenkorb§ 25 Abs. 2 TTDSG (keine Zustimmung)
PräferenzenSprache, Theme, Layout§ 25 Abs. 1 TTDSG, Art. 6 Abs. 1 a DSGVO
StatistikGoogle Analytics, Matomo, Plausible§ 25 Abs. 1 TTDSG, Art. 6 Abs. 1 a DSGVO
MarketingMeta Pixel, Google Ads, YouTube, Maps§ 25 Abs. 1 TTDSG, Art. 6 Abs. 1 a DSGVO

Ab März 2024 Pflicht für alle Werbetreibenden in der EU. Wir setzen die korrekten Signals automatisch:

// Automatisch ausgelöst nach Zustimmung
gtag('consent', 'update', {
  ad_storage:           categories.marketing  ? 'granted' : 'denied',
  ad_user_data:         categories.marketing  ? 'granted' : 'denied',
  ad_personalization:   categories.marketing  ? 'granted' : 'denied',
  analytics_storage:    categories.statistics ? 'granted' : 'denied',
  functionality_storage: categories.preferences ? 'granted' : 'denied',
  security_storage:     'granted'
});

So bekommen GA4 und Ads auch ohne Einwilligung modellierte Conversion-Daten (Conversion-Modeling) — Sie verlieren keine Werbedaten durch Ablehnungen.

Layout-Editor (X/Y in Pixel + Maske)

Komplette Layout-Kontrolle im Admin-Panel:

  • Banner-Position: Anchor (Mitte / Oben / Unten / 4 Ecken) + Offset X/Y in Pixel.
  • Banner-Breite: Max-Breite zwischen 280 und 1200 px.
  • Cookie-Icon nach Zustimmung: Eigene Position + Größe — unabhängig vom Banner.
  • Hintergrund-Maske: Farbe (beliebig), Deckkraft (0–100 %), Unschärfe (0–20 px backdrop-filter).
  • Scroll-Lock: Optional Seite hinter Banner unscrollbar machen.

Mehrsprachigkeit

Banner-Texte in Deutsch, Polnisch, Englisch — automatische Erkennung über <html lang>. Eigene Texte pro Kategorie überschreibbar im Admin.

Self-Hosting

Alle Banner werden über Server in Deutschland ausgeliefert (Hetzner Online GmbH, Falkenstein). Kein CDN, keine US-Cloud, kein Datentransfer in Drittländer.

Im Plan Enterprise erhalten Sie den vollständigen PHP-Quellcode (kein verschlüsselter Blob) und installieren ihn auf Ihrem eigenen Server. Updates fließen via Git ein.