Über dieses Plugin

Der IDF DSGVO Scanner macht Datenschutz zum Türöffner für neue Kunden. Besucher geben ihre Website-Adresse ein und erhalten sofort einen verständlichen Bericht mit Score, Ampel-Bewertung und konkreten Empfehlungen. Den ausführlichen Bericht gibt es gegen Name und E-Mail, so wird aus jedem Interessenten ein qualifizierter Lead.

Geprüft wird, was in der Praxis wirklich abgemahnt wird: Tracker und Schriften von fremden Servern, Consent-Tools, Impressum und Datenschutzerklärung sowie die Transportsicherheit. Der Scanner erkennt dabei auch, ob ein Consent-Tool Dienste korrekt bis zur Einwilligung blockiert, und erkennt eine saubere Einrichtung an, statt sie fälschlich anzumahnen.

Ihr Nutzen

  • Leads statt Streuverlust: Jeder Scan liefert einen konkreten Gesprächsanlass und eine E-Mail-Adresse mit Einwilligung.
  • Vertrauen aufbauen: Sie positionieren sich als kompetenter Ansprechpartner für Datenschutz, schon vor dem ersten Kontakt.
  • Sofort einsatzbereit: Formular und Bericht fügen sich in Ihr Website-Design ein, das Ergebnis erscheint ohne Wartezeit.
  • Fair und fundiert: Der Check bewertet den tatsächlichen technischen Stand und erkennt korrekt konfigurierte Consent-Lösungen an.

Changelog

v1.0.2

Behoben

  • Bericht-Formular: Wer Name und E-Mail per Browser-Autofill oder Passwort-Manager ausfüllte, bekam "Ungültige Anfrage" und der Bericht ging nicht raus. Ursache war das Spamschutz-Feld (Honeypot): Durch seinen Namen ("website") wurde es von Autofill mitbefüllt, wodurch der Server den echten Absender fälschlich als Bot einstufte. Das Feld trägt jetzt einen neutralen Namen, weist Passwort-Manager (LastPass, 1Password, Bitwarden) explizit ab und behält seinen Bot-Schutz. Echte Eingaben kommen wieder durch.

v1.0.1

Behoben

  • Consent-Blocker-Erkennung: Über ein Consent-Tool (z. B. Borlabs Cookie) korrekt geblockte Dienste wurden teils fälschlich als aktiv angemahnt. Google Analytics erschien als Warnung, obwohl im Quelltext nur Google-Consent-Mode-Steuerbefehle standen (gtag('consent',...), gtag('set',...)), die Tracking gerade unterdrücken. Das GA-Signal reagiert jetzt nur noch auf ein echtes Property-Setup (gtag('config',...)).
  • Der per Script-Blocker geparkte Google-Tag-Manager-Loader (type="text/template") wird jetzt als "lädt erst nach Einwilligung" gewertet statt angemahnt. Neben Style- und Content-Blockern erkennt der Scan nun auch deaktivierte Skript-Blöcke (Borlabs sowie generisch type="text/plain" mit Consent-Marker); der reine Consent-Steuercode des Tools wird dabei nicht als Dienst gezählt.
  • Das Google-Tag-Manager-noscript-Fallback (ns.html) zählt nicht mehr als aktiver Dienst. Es lässt sich durch ein (JS-basiertes) Consent-Tool prinzipiell nicht blocken und war auf sauber konfigurierten Seiten ein Dauer-Fehlalarm.
  • Ein vom Consent-Tool geblockter Dienst wird nicht mehr fälschlich als "Tracking ohne Consent-Tool" gezählt.

v1.0.0

Erste stabile Version, die Beta-Phase ist abgeschlossen. Scan-Engine, Consent-Blocker-Erkennung, Datenschutzerklärungs-Abgleich, Lead-Erfassung per E-Mail-Bericht, Ergebnis-Seite und die MCP-Abilities sind im Praxiseinsatz auf ihre-ideenfabrik.de verifiziert. Funktional identisch mit 0.5.3.

v0.5.3

Behoben

  • Bericht-Mail: Das Logo wurde bei groß eingestellter Breite am rechten Rand abgeschnitten. Es wird jetzt auf die Kopf-Breite begrenzt (max. 520 px) und skaliert sauber mit.
  • Bericht-Mail: Der Hintergrund der Hinweis-Kästen (Die wichtigsten Punkte) erschien in manchen E-Mail-Clients zerteilt. Die Kästen werden jetzt als Tabelle mit durchgehender Fläche gerendert.
  • Bericht-Mail: Die gescannte Adresse im Kopf wurde vom E-Mail-Client blau auto-verlinkt und war auf farbigem Hintergrund kaum lesbar. Sie wird jetzt als weißer Link ausgegeben.

v0.5.2

Behoben

  • MCP-Abilities wurden nach dem permission_callback (v0.5.1) zwar registriert, aber noch nicht über MCP bereitgestellt. Es fehlte das Meta-Flag mcp.public. Ergänzt (meta mit show_in_rest und mcp.public=true, type tool). Damit sind scan-website, get-report und list-reports jetzt tatsächlich für MCP-Clients nutzbar.

v0.5.1

Behoben

  • MCP-Abilities (scan-website, get-report, list-reports) wurden trotz Registrierung nicht bereitgestellt und tauchten im MCP-Adapter nicht auf. Ursache: Den Ability-Definitionen fehlte das in der WordPress Abilities API verpflichtende permission_callback, wodurch die Registrierung verworfen wurde. Ergänzt (Berechtigung manage_options). Damit stehen die drei Abilities MCP-Clients jetzt zur Verfügung.

v0.5.0

Hinzugefügt

  • Consent-Blocker-Erkennung: Dienste, die ein Consent-Tool (z. B. Borlabs Cookie) bis zur Einwilligung blockiert (Skript-/Style-Blocker, base64-geparkte Embeds), werden nicht mehr als aktiv angemahnt, sondern als "lädt erst nach Einwilligung" (grün) gewertet. Behebt False Positives gegen korrekt konfigurierte Seiten - etwa per Borlabs geblockte Adobe Fonts (Typekit).
  • Prüfung auf verräterische Antwort-Header: Werden konkrete Software-Versionen preisgegeben (X-Powered-By, Server, X-Generator), meldet der Scan das als Härtungshinweis (Stand der Technik, Art. 32 DSGVO).
  • E-Mail-Design: eigene Farbe "Box-Hintergrund" für die Info-Kästen (Score, wichtigste Punkte), getrennt vom äußeren Hintergrund.

Behoben

  • E-Mail: Bei kräftig eingefärbtem äußeren Hintergrund färbten sich auch die inneren Info-Kästen mit und ihr Text wurde unlesbar. Die Kästen haben jetzt eine eigene Hintergrundfarbe (Default optisch unverändert).
  • E-Mail: Ein breites Logo wurde am rechten Rand abgeschnitten. Das Logo skaliert jetzt auf die verfügbare Breite (max-width:100%).

v0.4.2

Behoben

  • MCP-Abilities (scan-website, get-report, list-reports) wurden nicht registriert und tauchten nicht im MCP-Adapter auf. Ursache: Die Registrierung hing am Hook wp_abilities_api_init, der bereits während plugins_loaded feuert - der Plugin-Bootstrap (plugins_loaded, Priorität 10) kam damit zu spät. Die Abilities werden jetzt im globalen Scope der Hauptdatei registriert (Muster wie idf-mcp-adapter).

v0.4.1

Behoben

  • Der Datenschutzerklärungs-Abgleich prüfte auf vielen Seiten die falsche Unterseite: Die Link-Suche nahm den ersten Link mit "datenschutz" oder "privacy" im Pfad - auf Websites mit Blog/Magazin also oft einen Artikel wie /magazin/datenschutz/... statt der echten Datenschutzerklärung. Folge: Dienste (z. B. Google Analytics) wurden fälschlich als "nicht in der Datenschutzerklärung erwähnt" gemeldet, Rechtsgrundlagen und Betroffenenrechte nicht erkannt, der Score der Kategorie Pflichtseiten fiel zu niedrig aus. Die Link-Suche gewichtet Kandidaten jetzt: Das echte Pfad-Endsegment (Seiten-Slug) schlägt ein bloßes Vorkommen im Pfad, Blog- und Magazin-Pfade werden abgewertet, flache Pfade bevorzugt.

Geändert

  • mod_pagespeed wird auf Seiten mit einem Scanner-Baustein zusätzlich per Response-Header (ModPagespeed/PageSpeed: off) abgeschaltet, damit das Frontend-JS unverändert (nicht per eval kombiniert) ausgeliefert wird. Das data-pagespeed-no-transform am Script-Tag bleibt erhalten, greift aber nicht, wenn mod_pagespeed die Datei auf URL-Ebene umschreibt (.pagespeed.jm.).

v0.4.0

Geändert

  • E-Mail-Konfiguration auf das Muster von IDF Event Tickets umgestellt: eigene Admin-Seite "E-Mails" mit Sektionen Absender, Layout, Farbpalette und Bericht-Texten, Browser-Vorschau der gerenderten Mail mit Beispieldaten, Schriftfamilie als Auswahl mailtauglicher Stacks, Farbfelder mit WordPress-Color-Picker, Fließtext und Fußzeile mit HTML-Unterstützung. Test-Mail-Versand auf die neue Seite umgezogen.
  • Frontend erbt jetzt Schriftart, Schriftgröße und Textfarbe vom Theme (innere Größen relativ in em), statt eigene Typografie zu erzwingen.

Hinzugefügt

  • Flächen-Design einstellbar (Einstellungen → Frontend-Design): Hintergrund und Rahmenfarbe der Bereichs-Boxen (leer = transparent), Flächen-Rundung sowie Button- und Feld-Rundung - als CSS-Variablen für alle Bausteine.

v0.3.0

Hinzugefügt

  • E-Mail-Design-System nach dem Muster von IDF Quote Calculator / IDF Site Report: Logo aus der Mediathek (mit Breite und Kopf-Ausrichtung), Schriftart, Layout-Farben (äußerer/innerer Hintergrund, Text, Button-Text), Button-Radius, Anrede mit Platzhalter {name}, Button-Text und HTML-Footer mit Platzhaltern {site_name}/{site_url}. Betreff-Platzhalter jetzt {host}/{score} (alte Schreibweise {{host}}/{{score}} bleibt gültig).
  • Test-Mail-Versand aus den Einstellungen: verschickt den Bericht mit Beispiel-Daten im gespeicherten Design.
  • Shortcode [idf_dsgvo_scanner_report] für die Ergebnis-Seite: zeigt ausschließlich das gespeicherte Ergebnis aus ?rid=UUID (unveränderbar, Live-Scans anderer Bausteine ändern ihn nicht). Attribut gate="no" blendet das E-Mail-Formular aus; ohne gültiges rid erscheint ein Hinweis.

v0.2.0

Hinzugefügt

  • Einzel-Shortcodes nach dem Muster von IDF Assessments für freie Anordnung im Page-Builder: [idf_dsgvo_scanner_form], [idf_dsgvo_scanner_result], [idf_dsgvo_scanner_score], [idf_dsgvo_scanner_radar], [idf_dsgvo_scanner_bars], [idf_dsgvo_scanner_services], [idf_dsgvo_scanner_findings], [idf_dsgvo_scanner_gate]. Der Kombi-Shortcode [idf_dsgvo_scanner] bleibt erhalten.
  • Farben im Admin einstellbar: Akzent, Ampel Gut/Mittel/Kritisch und Hinweis-Farbe - wirken in Frontend (CSS-Variablen), Charts und Bericht-Mail.

Behoben

  • Fortschritts-Spinner war dauerhaft sichtbar: eigene display:flex-Regel hat das hidden-Attribut übersteuert; [hidden]-Regeln greifen jetzt mit Vorrang.
  • Formular passte sich dem Theme nicht an: Wrapper liegt jetzt auf voller Breite (width: 100%, keine eigene max-width mehr) wie bei IDF Assessments.

v0.1.0

Hinzugefügt

  • Scan-Engine (statischer PHP-Scan): Startseite, Impressum, Datenschutzerklärung und Cookie-Richtlinie werden abgerufen und ausgewertet.
  • Signaturen-Katalog mit 37 Diensten (Tracker, Fonts, Embeds, CDNs, Captchas, Payment) und 11 Consent-Tools, je Dienst mit Erwähnungs-Keywords und Empfehlungstext. Erweiterbar über Filter idf/dsgvo_scanner/services und idf/dsgvo_scanner/cmps.
  • Datenschutzerklärungs-Abgleich: gefundene Dienste gegen den Text der Datenschutzerklärung, Gegenrichtung (erwähnte, aber nicht gefundene Tracker) und Pflichtbaustein-Heuristik (Rechtsgrundlagen, Betroffenenrechte).
  • Scoring in 5 Kategorien (Tracking, Einwilligung, Externe Inhalte, Pflichtseiten, Transportsicherheit) mit Gesamt-Score und Ampel.
  • Frontend-Shortcode [idf_dsgvo_scanner]: URL-Eingabe, AJAX-Scan mit Fortschritt, Ergebnis mit Score-Ring, Radar-Chart, Dienste-Tabelle, aufklappbaren Findings und Disclaimer. Ergebnis-Abruf per ?rid=UUID.
  • E-Mail-Bericht mit Lead-Capture (Name, E-Mail, Datenschutz-Checkbox), HTML-Mail mit Kategorien und Top-Findings, interne Lead-Benachrichtigung.
  • Persistenz in eigener Tabelle {prefix}idf_dsgvo_scans mit UUID-Links, IP nur gehasht, tägliche Löschung alter Scans ohne Lead (einstellbar).
  • Admin-Bereich: Übersicht mit Statistik, Ergebnisse/Leads mit Pagination und Löschen, Einstellungen, Hilfe.
  • MCP-Abilities über die WordPress Abilities API: idf-dsgvo-scanner/scan-website, get-report, list-reports (Kategorie dsgvo).
  • Missbrauchsschutz: Rate-Limit pro IP, Honeypot, Ergebnis-Cache pro Domain, SSRF-Blockliste, Timeouts und Antwortgrößen-Limit.

0 Comments

Info
  • Version: 1.0.2
  • Version vom: Kein Versions-Datum hinterlegt
  • WordPress-Version: 6.0
  • Getestet bis WP-Version: 6.5
  • PHP-Version: 8.0
  • Kompatible Themes: Keine Themes hinterlegt
  • Erforderliche Plugins: Keine Plugins hinterlegt
  • Mitwirkende: Joerg Martin