Consent management
Das Modul zur Einwilligungsverwaltung ergänzt die Versionierung von Einwilligungen, einen Audit-Trail, den Datenexport und die DSGVO-Integration. Es verfolgt den Verlauf der Kundeneinwilligungen und reagiert auf Änderungen am Inhalt von AGB und Regelwerken.
Versionierung von Einwilligungen
Abschnitt betitelt „Versionierung von Einwilligungen“Automatische Änderungserkennung
Abschnitt betitelt „Automatische Änderungserkennung“Das Plugin überwacht den Inhalt der Labels rechtlicher Checkboxen. Bei jedem Speichern der Einstellungen berechnet es einen Hash (SHA-256) des Label-Inhalts. Wenn sich der Hash geändert hat, erstellt das Plugin automatisch eine neue Version der Einwilligung.
Jede Version einer Einwilligung enthält:
- Versionsnummer (automatisch hochgezählt)
- Hash des Label-Inhalts
- vollständiger Label-Inhalt
- Erstellungsdatum der Version
- ID des Benutzers, der die Änderung vorgenommen hat
Versionsverlauf
Abschnitt betitelt „Versionsverlauf“In den Einstellungen der rechtlichen Checkboxen steht neben jeder Checkbox eine Schaltfläche Versionsverlauf zur Verfügung. Sie zeigt eine Liste aller Versionen mit Datumsangaben und einer Inhaltsvorschau.
Erneute Einwilligung
Abschnitt betitelt „Erneute Einwilligung“Wenn sich der Inhalt einer Einwilligung ändert (neue Version), kann das Plugin von den Kunden verlangen, ihre Einwilligung erneut zu erteilen. Konfiguration:
| Einstellung | Beschreibung |
|---|---|
| Erneute Einwilligung verlangen | Aktiviert eine Aufforderung zur erneuten Einwilligung nach einer Inhaltsänderung |
| Aufforderung anzeigen | Auf der Kassenseite / Im Bereich Mein Konto / Beides |
| Inhalt der Nachricht | Text, der den Kunden über die Änderung des Regelwerks informiert |
Der Kunde sieht eine Nachricht über die Inhaltsänderung und muss die Checkbox erneut anhaken. Die vorherige Einwilligung bleibt mit einer Versionskennzeichnung im Verlauf erhalten.
Audit-Trail
Abschnitt betitelt „Audit-Trail“Erfasste Ereignisse
Abschnitt betitelt „Erfasste Ereignisse“Das Plugin protokolliert alle Vorgänge im Zusammenhang mit Einwilligungen:
| Ereignis | Daten |
|---|---|
| Einwilligung erteilt | Benutzer-ID, Einwilligungs-ID, Version, Datum, IP, User-Agent |
| Einwilligung widerrufen | Benutzer-ID, Einwilligungs-ID, Datum, Quelle (Kunde/Admin) |
| Inhalt der Einwilligung geändert | Einwilligungs-ID, alte Version, neue Version, Datum, Admin-ID |
| Aufforderung zur erneuten Einwilligung | Benutzer-ID, Einwilligungs-ID, Datum |
| Erneute Einwilligung erteilt | Benutzer-ID, Einwilligungs-ID, neue Version, Datum |
Verlauf durchsuchen
Abschnitt betitelt „Verlauf durchsuchen“Im WordPress-Backend gibt es keinen Audit-Trail-Bildschirm. Das PRO-Plugin stellt das Protokoll ausschließlich über REST bereit, und jede Route setzt die Berechtigung manage_woocommerce voraus:
GET /wp-json/polski-pro/v1/consents?user_id=123GET /wp-json/polski-pro/v1/consents?session_id=abcGET /wp-json/polski-pro/v1/consents/versionsuser_id oder session_id ist erforderlich. Es gibt keine ungefilterte Liste, keinen Filter nach Ereignistyp und keinen nach Zeitraum.
Das kostenlose Plugin hat dagegen einen Bildschirm für die Entscheidungen aus dem Cookie-Banner: Polski > Berichte und Tools > Register der Einwilligungen.
Datenexport
Abschnitt betitelt „Datenexport“Der Export läuft über REST und liefert JSON:
GET /wp-json/polski-pro/v1/consents/export?user_id=123Ein Aufruf pro Benutzer. Mit &format=csv kommt ein CSV-Download, seit PRO 1.26.3.
Integration mit dem Bereich Mein Konto
Abschnitt betitelt „Integration mit dem Bereich Mein Konto“Widerruf einer Einwilligung
Abschnitt betitelt „Widerruf einer Einwilligung“Im Bereich Mein Konto des Kunden erscheint ein Abschnitt “Meine Einwilligungen” mit einer Liste der erteilten Einwilligungen. Der Kunde kann:
- die aktuell erteilten Einwilligungen durchsehen
- das Datum sehen, an dem jede Einwilligung erteilt wurde
- eine Einwilligung über die Schaltfläche “Widerrufen” widerrufen
Der Widerruf einer Einwilligung wird im Audit-Trail erfasst. Der Administrator erhält eine E-Mail-Benachrichtigung über den Widerruf (konfigurierbar).
Aufforderung zur erneuten Einwilligung
Abschnitt betitelt „Aufforderung zur erneuten Einwilligung“Wenn sich der Inhalt einer Einwilligung geändert hat, sieht der Kunde im Bereich Mein Konto eine Nachricht mit der Bitte, die neue Version zu prüfen und seine Einwilligung erneut zu erteilen.
DSGVO-Integration
Abschnitt betitelt „DSGVO-Integration“Export personenbezogener Daten
Abschnitt betitelt „Export personenbezogener Daten“Das Plugin integriert sich in den Mechanismus zum Export personenbezogener Daten von WordPress (wp_privacy_personal_data_exporters). Wenn ein Export von Kundendaten angefordert wird, schließt das Plugin Folgendes ein:
- Liste der erteilten Einwilligungen mit Datumsangaben und Versionen
- vollständiger Änderungsverlauf der Einwilligungen (Erteilungen, Widerrufe, erneute Einwilligungen)
- IP-Adressen und Datumsangaben, die mit jeder Einwilligung verknüpft sind
/** * Rejestracja eksportera danych osobowych. */add_filter('wp_privacy_personal_data_exporters', function (array $exporters): array { $exporters['polski-pro-consents'] = [ 'exporter_friendly_name' => 'Polski PRO - Zgody', 'callback' => [PolskiPro\Privacy\Exporter::class, 'export'], ]; return $exporters;});Löschung personenbezogener Daten
Abschnitt betitelt „Löschung personenbezogener Daten“Das Plugin integriert sich in den Mechanismus zur Datenlöschung von WordPress (wp_privacy_personal_data_erasers). Wenn eine Datenlöschung angefordert wird:
- werden die personenbezogenen Daten im Audit-Trail anonymisiert (IP, User-Agent)
- werden die Einwilligungseinträge als gelöscht markiert
- bleibt die Tatsache der Erteilung/des Widerrufs einer Einwilligung selbst (ohne identifizierende Daten) zu Zwecken der Rechenschaftspflicht erhalten
/** * Rejestracja erasera danych osobowych. */add_filter('wp_privacy_personal_data_erasers', function (array $erasers): array { $erasers['polski-pro-consents'] = [ 'eraser_friendly_name' => 'Polski PRO - Zgody', 'callback' => [PolskiPro\Privacy\Eraser::class, 'erase'], ]; return $erasers;});REST API
Abschnitt betitelt „REST API“Drei Routen, alle nur lesend und alle mit der Berechtigung manage_woocommerce.
Einwilligungen eines Benutzers oder einer Sitzung
Abschnitt betitelt „Einwilligungen eines Benutzers oder einer Sitzung“GET /wp-json/polski-pro/v1/consents?user_id={id}GET /wp-json/polski-pro/v1/consents?session_id={id}Einer der beiden Parameter ist nötig; ohne beide antwortet die Route mit 400 und “Provide user_id or session_id.”. Eine Benutzerabfrage liefert die neuesten 200 Datensätze, eine Sitzungsabfrage die Datensätze dieser Sitzung. Es gibt keinen Filter nach Ereignistyp oder Datum und keine Seitenaufteilung.
Export für einen Benutzer
Abschnitt betitelt „Export für einen Benutzer“GET /wp-json/polski-pro/v1/consents/export?user_id={id}GET /wp-json/polski-pro/v1/consents/export?user_id={id}&format=csvuser_id ist erforderlich. Liefert bis zu 1000 Datensätze. Standard ist JSON, umschlossen von user_id, exported_at und records_count. Mit format=csv kommt ein text/csv-Download mit den Spalten checkbox_id, context, consented, ip_address, created_at, wobei consented yes oder no enthält. Jeder andere Wert fällt auf JSON zurück.
Vor PRO 1.26.3 war das Argument format deklariert und wurde ignoriert, eine Anfrage nach CSV erhielt also kommentarlos JSON.
Versionen der Einwilligungen
Abschnitt betitelt „Versionen der Einwilligungen“GET /wp-json/polski-pro/v1/consents/versionsLiefert die gespeicherte Versionszuordnung. Nimmt keine Argumente.
Eine Route /consents/audit gibt es nicht, und keine Route nimmt consent_id, event_type, date_from, date_to oder per_page entgegen.
Das Einwilligungsmodul registriert keine eigenen Aktionen oder Filter. Lesen Sie das Protokoll über die Routen oben oder direkt über ConsentLog. Für DSGVO-Anfragen registriert das Modul einen Exporter und einen Löscher für personenbezogene Daten von WordPress; das ist der unterstützte Weg zu diesen Daten von außerhalb des Plugins.
Häufige Probleme
Abschnitt betitelt „Häufige Probleme“Aufforderung zur erneuten Einwilligung wird nicht angezeigt
Abschnitt betitelt „Aufforderung zur erneuten Einwilligung wird nicht angezeigt“- Prüfen Sie, ob die Option “Erneute Einwilligung verlangen” aktiviert ist
- Vergewissern Sie sich, dass sich der Inhalt der Einwilligung tatsächlich geändert hat (prüfen Sie den Versionsverlauf)
- Leeren Sie den Cache der Kassenseite und des Bereichs Mein Konto
DSGVO-Export enthält keine Einwilligungsdaten
Abschnitt betitelt „DSGVO-Export enthält keine Einwilligungsdaten“- Stellen Sie sicher, dass das Modul zur Einwilligungsverwaltung aktiv ist
- Prüfen Sie, ob der Exporter
polski-pro-consentsunter Werkzeuge > Personenbezogene Daten exportieren registriert ist - Überprüfen Sie die Logs auf PHP-Fehler
Audit-Trail wächst zu schnell
Abschnitt betitelt „Audit-Trail wächst zu schnell“Das Plugin speichert den Einwilligungsverlauf in einer separaten Datenbanktabelle. Bei einer großen Anzahl von Kunden kann die Tabelle wachsen. Erwägen Sie:
- das regelmäßige Exportieren und Archivieren älterer Einträge
- das Einrichten einer automatischen Bereinigung von Einträgen, die älter als eine bestimmte Anzahl von Monaten sind (Option in den Einstellungen)