Zum Inhalt springen

Lokales CLI. DSGVO, ePrivacy, Schrems II.

Websites auf DSGVO- und ePrivacy-Verstöße prüfen, bevor Abmahnungen eintreffen.

KlarAudit startet Headless-Chromium auf Ihrem Rechner, zeichnet First-Paint-Requests vor jedem Consent-Klick auf und bewertet die Seite anhand von TTDSG / TDDDG § 25, DSGVO Art. 6 und Art. 83, LG München 3 O 17493/20 sowie Schrems II. Kein Cloud-Konto. Keine Telemetrie. Exit-Code 1 bei CRITICAL- oder HIGH-Befunden.

npx klaraudit scan https://example.com

Beispieltrace

CLI-Ausgabe bei einem durchgefallenen First Paint

KlarAudit klickt nicht auf Akzeptieren. Es beobachtet den unbelasteten Ladevorgang, löst Remote-IPs mit einer lokalen GeoIP-Datenbank auf und bewertet die Seite mit handlungsrelevanten Evidenzen (URL, IP, GeoIP, Fix). Der Trace entspricht einem repräsentativen NON_COMPLIANT-Lauf.

klaraudit scan https://shop.example.de --ci

$ Scanning https://shop.example.de timeout=15000ms

intercept network (pre-consent, no click)

targets: cookies, scripts, fonts, banner DOM, /impressum, /datenschutz

FAIL Google Tag Manager googletagmanager.com vor Einwilligung

FAIL Google Fonts fonts.googleapis.com 142.250.185.196 · GeoIP US

FAIL Ablehnen fehlt bei Hosts: googletagmanager.com

OK /impressum 200 /datenschutz 200

Score 45 / 100

Status NON_COMPLIANT (Schwelle < 60)

Schwere Kategorie Befund Delta Abhilfe
CRITICAL TRACKING_CONSENT Google Tag Manager (googletagmanager.com) wurde beim First Paint vor jedem Consent-Klick geladen -30 GTM erst nach Opt-in laden (Consent Mode / CMP-Gate).
HIGH CROSS_BORDER_TRANSFER Google Fonts von fonts.googleapis.com auf IP 142.250.185.196 in US aufgelöst — Besucher-IP vor Einwilligung an Google -15 Schriften selbst hosten oder Google Fonts erst nach Consent laden.
MEDIUM BANNER_DARK_PATTERN Consent-UI gefunden, aber kein gleichwertiges Ablehnen bei aktiver Drittanbieter-Aktivität -10 Ablehnen neben Akzeptieren mit gleichem visuellem Gewicht platzieren.

CI gate: FAIL Status NON_COMPLIANT; CRITICAL- oder HIGH-Verstöße vorhanden.

exit 1

Prüfmanifest

First-Paint-Kontrollen, in Prüfreihenfolge

Sequenzielle Liste der Prüfschritte, die ein automatisierter Scan in Deutschland oder der EU vor jeder Nutzerinteraktion auslösen kann. Jede Zeile stellt die regulatorische Außenansicht dem lokalen CLI-Befund gegenüber.

Document
KLAR-IMF-01
Scope
Umfang: First Paint vor Einwilligung
Engine
Engine: Playwright Chromium (lokal)
  1. 01

    Netzwerkabfang vor der Einwilligung

    CRITICAL / TRACKING_CONSENT

    Erfasst GTM, Meta Pixel und weitere bekannte Tracker, die vor dem Consent-Klick feuern. Der Runner hängt Request-Hooks vor der Navigation ein und klickt niemals auf Akzeptieren.

    REF: TTDSG / TDDDG § 25, DSGVO Art. 6

    Abmahn-Crawler protokollieren googletagmanager.com und facebook.net bereits beim First Paint. Die Besucher-IP liegt dann in einem US-Verarbeitungsprotokoll. Speichern oder Auslesen auf dem Endgerät ohne § 25 TDDDG-Grundlage.

    TRACKING_CONSENT  CRITICAL  -30
    Google Tag Manager (googletagmanager.com)
    First Paint vor Einwilligung
    Evidenz: gtag/js-URL · GeoIP US
  2. 02

    Dynamische Drittland-IP-Leaks

    HIGH / CROSS_BORDER_TRANSFER

    Erkennt Google Fonts, andere Non-EU-Drittanbieter und First-Party-CDN-/Hosting-Edges (z. B. Vercel außerhalb der EU). Remote-IPs werden mit einer Offline-GeoIP-Datenbank klassifiziert. Der Scanner ruft keine Cloud-Lookup-API auf.

    REF: LG München 3 O 17493/20, Schrems II

    Das LG München I hat das Laden von Google Fonts von US-Servern ohne Einwilligung als unzulässige IP-Übermittlung bewertet. Schrems II hat Privacy Shield ungültig gemacht. Unannotierte US-Transfers bleiben ein Bußgeldrisiko nach Art. 83 DSGVO.

    CROSS_BORDER_TRANSFER  HIGH  -15
    Google Fonts fonts.googleapis.com
    IP 142.250.185.196 · GeoIP US
    Schriften selbst hosten oder bis Consent verzögern
  3. 03

    Einwilligungsschicht und Dark Patterns

    MEDIUM / BANNER_DARK_PATTERN

    Prüft das First-Layer-DOM auf eine Ablehnen-Aktion mit gleicher Prominenz wie Akzeptieren. Bei Fehlern listet der Report die Drittanbieter-Hosts oder Cookies, die ein Banner erforderlich machen.

    REF: EDSA-Leitlinien 03/2022

    Die EDSA-Leitlinien 03/2022 verlangen eine echte Wahl. Ein prominentes Akzeptieren neben einem grauen Einstellungen-Link gilt als Dark Pattern. Gleichwertiges Ablehnen ist der deutsche Maßstab.

    BANNER_DARK_PATTERN  MEDIUM  -10
    Kein gleichwertiges Ablehnen
    bei Hosts: googletagmanager.com
  4. 04

    Lokale Pipeline-Sperre und Offline-Prüfung

    GATE / CI_GATE

    Läuft vollständig in Ihrem Runner oder CLI. Keine Cloud-Abhängigkeiten. Deterministische Exit-Codes für CI/CD. Netzwerkmitschnitt, DOM-Heuristik und GeoIP bleiben auf dem Rechner, der den Scan gestartet hat. Maschinenlesbar: --format json.

    REF: CI-Exit-Vertrag, DSGVO Art. 32

    Externe Scanner warten nicht auf ein SaaS-Dashboard. Sie bewerten die ausgelieferte Seite. Ein Merge, der eine US-Schrift oder ein Pre-Consent-Pixel einführt, ist beim nächsten Crawl sichtbar.

    --ci  exit 1
    Status NON_COMPLIANT oder jeder CRITICAL/HIGH-Befund
    npx klaraudit scan URL --format json

Bewertung

Heuristische Abzüge und Statusbänder

Basiswert 100. Abzüge je Vorfall, danach auf 0 begrenzt. CRITICAL-Abzüge sind auf -60 gedeckelt. Es handelt sich um technische Heuristiken, nicht um ein Rechtsgutachten.

Tracking-Einwilligung CRITICAL -30 / Vorfall (CRITICAL gesamt gedeckelt bei -60) Benannte Anbieter (GTM, Google Analytics, Meta Pixel, DoubleClick, Hotjar, TikTok, Clarity) oder Tracking-Cookies feuern beim First Paint. Befunde enthalten Request-URL und konkreten Fix. Fehlendes First-Layer-Banner bei Drittanbieter-Aktivität ist ebenfalls CRITICAL.
Drittlandtransfer HIGH -15 / eindeutiges Nicht-EU-Asset Requests außerhalb von EU/EWR via lokalem geoip-lite. Unterscheidet Google Fonts, Drittanbieter und First-Party-CDN-/Hosting-Edges. Evidenz enthält IP und Land, sofern verfügbar.
Banner-Dark-Patterns MEDIUM -10 / Vorfall Consent-UI vorhanden, aber Ablehnen fehlt oder ist schwächer als Akzeptieren auf der ersten Schicht. Der Report listet die auslösenden Drittanbieter-Hosts/Cookies.
Pflichtseiten LOW -5 / fehlende Seite /impressum bzw. /imprint und /datenschutz bzw. /privacy müssen HTTP 200 liefern. Befunde enthalten geprüfte URL und Status.

>= 85

COMPLIANT

Heuristische Schwelle für den First Paint erreicht.

60-84

WARNING

Befunde bleiben. Vor dem Launch prüfen.

< 60

NON_COMPLIANT

--ci beendet mit 1. Vor dem Launch beheben.

Lizenz

Kostenlos und Open Source unter MIT

KlarAudit ist ein Portfolio-Projekt von Shoebill Software. Die gesamte CLI ist kostenfrei: lokale Scans, CI-Gates, JSON und A4-PDF-Berichte. Kein Konto, keine Telemetrie, keine bezahlte Stufe.

  • MIT-Lizenz — nutzen, ändern und weitergeben
  • Terminal-, JSON- und A4-PDF-Ausgabe
  • Lokal per npx oder Docker mit gebündeltem Chromium
  • Deterministische --ci-Exit-Codes für Merge-Gates

Lokal ausführen

npx klaraudit scan https://example.com
npx klaraudit scan https://example.com --format json
docker run --rm --init --ipc=host ghcr.io/shoebill-software/klaraudit scan https://example.com

Befunde sind technische Heuristiken, keine Rechtsberatung. Für npx einmal Chromium installieren: npx playwright-core@1.63.0 install chromium — oder das Docker-Image nutzen, das den Browser bereits enthält.