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
Section titled “Versionierung von Einwilligungen”Automatische Änderungserkennung
Section titled “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
Section titled “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
Section titled “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
Section titled “Audit-Trail”Erfasste Ereignisse
Section titled “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
Section titled “Verlauf durchsuchen”Gehen Sie zu WooCommerce > Einstellungen > Polski > PRO-Module > Einwilligungen > Audit-Trail. Die Tabelle enthält alle Ereignisse mit Filtern:
- Benutzer-ID oder E-Mail
- Ereignistyp
- Zeitraum
- bestimmte Einwilligung
Datenexport
Section titled “Datenexport”Der Audit-Trail lässt sich in zwei Formaten exportieren:
- CSV - zum Öffnen in einer Tabellenkalkulation
- JSON - zur programmatischen Verarbeitung oder zum Import in ein anderes System
Der Export ist im Bereich Audit-Trail verfügbar. Sie können den vollständigen Verlauf oder gefilterte Ergebnisse exportieren.
Integration mit dem Bereich Mein Konto
Section titled “Integration mit dem Bereich Mein Konto”Widerruf einer Einwilligung
Section titled “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
Section titled “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
Section titled “DSGVO-Integration”Export personenbezogener Daten
Section titled “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
Section titled “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
Section titled “REST API”Das Modul stellt einen REST-API-Endpunkt zum Durchsehen der Einwilligungen bereit (für Administratoren verfügbar):
Liste der Benutzereinwilligungen
Section titled “Liste der Benutzereinwilligungen”GET /wp-json/polski-pro/v1/consents?user_id={id}Gibt eine Liste der Benutzereinwilligungen mit aktuellem Status und Version zurück.
Änderungsverlauf
Section titled “Änderungsverlauf”GET /wp-json/polski-pro/v1/consents/audit?user_id={id}Query-Parameter:
| Parameter | Typ | Beschreibung |
|---|---|---|
user_id | int | Benutzer-ID |
consent_id | string | ID einer bestimmten Einwilligung |
event_type | string | Ereignistyp (granted, revoked, re_consented) |
date_from | string | Datum von (YYYY-MM-DD) |
date_to | string | Datum bis (YYYY-MM-DD) |
per_page | int | Anzahl der Ergebnisse (Standard 50) |
Export
Section titled “Export”GET /wp-json/polski-pro/v1/consents/export?format={csv|json}Gibt einen vollständigen Export des Audit-Trails im gewählten Format zurück.
polski_pro/consent/granted
Section titled “polski_pro/consent/granted”Aktion, die nach der Erteilung einer Einwilligung ausgelöst wird.
/** * @param int $user_id ID użytkownika * @param string $consent_id ID zgody * @param int $version Numer wersji zgody */do_action('polski_pro/consent/granted', int $user_id, string $consent_id, int $version);Beispiel:
add_action('polski_pro/consent/granted', function (int $user_id, string $consent_id, int $version): void { // Synchronizacja z zewnętrznym CRM if ($consent_id === 'marketing') { wp_remote_post('https://crm.example.com/api/consent', [ 'body' => wp_json_encode([ 'email' => get_userdata($user_id)->user_email, 'consent' => 'marketing', 'status' => 'granted', 'version' => $version, ]), 'headers' => ['Content-Type' => 'application/json'], ]); }}, 10, 3);polski_pro/consent/revoked
Section titled “polski_pro/consent/revoked”Aktion, die nach dem Widerruf einer Einwilligung ausgelöst wird.
/** * @param int $user_id ID użytkownika * @param string $consent_id ID zgody * @param string $source Źródło wycofania (customer, admin) */do_action('polski_pro/consent/revoked', int $user_id, string $consent_id, string $source);Beispiel:
add_action('polski_pro/consent/revoked', function (int $user_id, string $consent_id, string $source): void { if ($consent_id === 'newsletter' && $source === 'customer') { // Wypisanie z newslettera do_action('newsletter_unsubscribe', get_userdata($user_id)->user_email); }}, 10, 3);Häufige Probleme
Section titled “Häufige Probleme”Aufforderung zur erneuten Einwilligung wird nicht angezeigt
Section titled “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
Section titled “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
Section titled “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)