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. 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 googletagmanager.com/gtag/js Tracker vor Einwilligung

FAIL fonts.googleapis.com 142.250.185.196 (US) unannotierter Transfer

FAIL Ablehnen auf der ersten Schicht fehlt

OK /impressum 200 /datenschutz 200

Score 45 / 100

Status NON_COMPLIANT (Schwelle < 60)

Schwere Kategorie Befund Delta Abhilfe
CRITICAL TRACKING_CONSENT GTM vor Einwilligung ausgelöst (googletagmanager.com) -30 GTM/gtag bis zur ausdrücklichen Einwilligung blockieren.
HIGH CROSS_BORDER_TRANSFER fonts.googleapis.com auf US-IP 142.250.185.196 aufgelöst -15 Schriften selbst hosten. Google Fonts nicht beim First Paint laden.
MEDIUM BANNER_DARK_PATTERN Kein gleichwertiges Ablehnen auf der ersten Schicht -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
    GTM vor Einwilligung ausgelöst (googletagmanager.com)
  2. 02

    Dynamische Drittland-IP-Leaks

    HIGH / CROSS_BORDER_TRANSFER

    Erkennt US-Asset-Aufrufe wie Google Fonts und ungeprüfte CDN-Sprünge. 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
    fonts.googleapis.com -> 142.250.185.196 (US)
    Keine DPF/SCC-Annotation auf dem Request-Pfad
  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. Nur-Einstellungen-Wege und visuell schwächere Ablehnkontrollen fallen durch.

    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 auf der ersten Schicht
  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.

    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
    JSON auf stdout, keine abgehende Telemetrie

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.

Kategorie Schwere Abzug Kriterien
Tracking-Einwilligung CRITICAL -30 / Vorfall (CRITICAL gesamt gedeckelt bei -60) GTM, Google Analytics, Meta Pixel, DoubleClick, Hotjar, TikTok, Clarity oder nicht erforderliche Tracking-Cookies feuern während des interaktionsfreien Ladevorgangs. Ein fehlendes First-Layer-Banner bei Drittanbieter-Aktivität ist ebenfalls CRITICAL.
Drittlandtransfer HIGH -15 / eindeutiges Nicht-EU-Asset Schriften, Skripte oder Stylesheets, die außerhalb der EU/EWR über lokales geoip-lite aufgelöst werden. Dynamische Google Fonts (fonts.googleapis.com / fonts.gstatic.com) werden stets markiert. Eine IP-Übermittlung an Google ohne Einwilligung gilt als Schrems-II-Leck (LG München 3 O 17493/20).
Banner-Dark-Patterns MEDIUM -10 / Vorfall Eine Consent-UI existiert, aber Ablehnen (oder gleichwertig) fehlt oder ist auf der ersten Schicht schwächer als Akzeptieren. Nur-Einstellungen- oder Graulink-Verweigerungswege fallen nach EDSA-Leitlinien 03/2022 durch.
Pflichtseiten LOW -5 / fehlende Seite /impressum bzw. /imprint und /datenschutz bzw. /privacy müssen HTTP 200 liefern. Übliche deutsche und europäische Offenlegungspflicht.

>= 85

COMPLIANT

Heuristische Schwelle für den First Paint erreicht.

60-84

WARNING

Befunde bleiben. Keine saubere Mandantenübergabe.

< 60

NON_COMPLIANT

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

Lizenz

Open-Source-CLI und Agency License

Der Scanner ist lokal kostenfrei. Die Agency License ergänzt gebrandete A4-PDF-Berichte und Mandantenübergaberechte. Kauf über Lemon Squeezy.

Parameter Open-Source-CLI Kostenlos Agency License 79 USD, einmalig
Preis 0 USD 79 USD, einmalig
Lizenz MIT Agency License (Mandantenübergabe)
Laufzeitumgebung Lokal per npx oder Docker Lokal per npx oder Docker
Ausgabe Terminal, JSON Terminal, JSON, gebrandetes A4-PDF
CI/CD-Gate --ci Exit-Codes --ci Exit-Codes
Cloud-Abhängigkeit Keine Keine
Mandantenübergabe Keine PDF-Branding-Rechte Gebrandetes A4-PDF, Übergaberechte

PDF-Branding und Mandantenübergabe erfordern die Agency License. Die Scan-Ausführung bleibt in beiden Stufen auf Ihrem Rechner.