Zum Inhalt springen

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.

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

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.

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.

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

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=123
GET /wp-json/polski-pro/v1/consents?session_id=abc
GET /wp-json/polski-pro/v1/consents/versions

user_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.

Der Export läuft über REST und liefert JSON:

GET /wp-json/polski-pro/v1/consents/export?user_id=123

Ein Aufruf pro Benutzer. Mit &format=csv kommt ein CSV-Download, seit PRO 1.26.3.

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).

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.

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;
});

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;
});

Drei Routen, alle nur lesend und alle mit der Berechtigung manage_woocommerce.

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.

GET /wp-json/polski-pro/v1/consents/export?user_id={id}
GET /wp-json/polski-pro/v1/consents/export?user_id={id}&format=csv

user_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.

GET /wp-json/polski-pro/v1/consents/versions

Liefert 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.

Aufforderung zur erneuten Einwilligung wird nicht angezeigt

Abschnitt betitelt „Aufforderung zur erneuten Einwilligung wird nicht angezeigt“
  1. Prüfen Sie, ob die Option “Erneute Einwilligung verlangen” aktiviert ist
  2. Vergewissern Sie sich, dass sich der Inhalt der Einwilligung tatsächlich geändert hat (prüfen Sie den Versionsverlauf)
  3. Leeren Sie den Cache der Kassenseite und des Bereichs Mein Konto
  1. Stellen Sie sicher, dass das Modul zur Einwilligungsverwaltung aktiv ist
  2. Prüfen Sie, ob der Exporter polski-pro-consents unter Werkzeuge > Personenbezogene Daten exportieren registriert ist
  3. Überprüfen Sie die Logs auf PHP-Fehler

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)
Diese Seite dient ausschließlich zu Informationszwecken und stellt keine Rechtsberatung dar. Konsultieren Sie vor der Umsetzung einen Anwalt. Polski for WooCommerce ist Open-Source-Software (GPLv2), die ohne Gewährleistung bereitgestellt wird.