Ü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). Attributgate="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 dashidden-Attribut übersteuert;[hidden]-Regeln greifen jetzt mit Vorrang. - Formular passte sich dem Theme nicht an: Wrapper liegt jetzt auf voller Breite (
width: 100%, keine eigenemax-widthmehr) 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/servicesundidf/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_scansmit 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(Kategoriedsgvo). - Missbrauchsschutz: Rate-Limit pro IP, Honeypot, Ergebnis-Cache pro Domain, SSRF-Blockliste, Timeouts und Antwortgrößen-Limit.