Zum Inhalt springen

Einwilligungsverwaltung

Das Modul zur Einwilligungsverwaltung fügt Versionierung von Einwilligungen, einen Audit-Trail, Datenexport und DSGVO-Integration hinzu. Es verfolgt die Einwilligungshistorie der Kunden und reagiert auf Änderungen am Inhalt der Bedingungen.

Das Plugin verfolgt den Inhalt der Checkboxen. Bei jedem Speichern der Einstellungen vergleicht es den Hash (SHA-256) des Inhalts. Ändert sich der Inhalt, erstellt es automatisch eine neue Einwilligungsversion.

Jede Einwilligungsversion enthält:

  • Versionsnummer (automatische Inkrementierung)
  • Hash des Etiketteninhalts
  • vollständigen Inhalt des Etiketts
  • Erstellungsdatum der Version
  • ID des Benutzers, der die Änderung vorgenommen hat

Klicken Sie bei der Checkbox auf Versionshistorie, um alle Versionen mit Daten und Inhalten anzuzeigen.

Ändert sich der Inhalt einer Einwilligung, kann das Plugin eine erneute Einwilligung verlangen. Einstellungen:

EinstellungBeschreibung
Erneute Einwilligung verlangenAktiviert die Aufforderung zur erneuten Einwilligung nach einer Inhaltsänderung
Aufforderung anzeigenAuf der Kassenseite / Im Mein-Konto-Bereich / Beides
Inhalt der MitteilungText, der den Kunden über die Änderung der Bedingungen informiert

Der Kunde sieht eine Mitteilung über die Änderung und muss die Checkbox erneut markieren. Die frühere Einwilligung bleibt in der Historie.

Das Plugin protokolliert alle Operationen an Einwilligungen:

EreignisDaten
Einwilligung erteiltBenutzer-ID, Einwilligungs-ID, Version, Datum, IP, User Agent
Einwilligung widerrufenBenutzer-ID, Einwilligungs-ID, Datum, Quelle (Kunde/Admin)
Änderung des EinwilligungsinhaltsEinwilligungs-ID, alte Version, neue Version, Datum, Admin-ID
Aufforderung zur erneuten EinwilligungBenutzer-ID, Einwilligungs-ID, Datum
Erneute EinwilligungBenutzer-ID, Einwilligungs-ID, neue Version, Datum

Gehen Sie zu WooCommerce > Einstellungen > Polski > PRO-Module > Einwilligungen > Audit-Trail. Filtern Sie Ereignisse nach:

  • Benutzer-ID oder E-Mail
  • Ereignistyp
  • Datumsbereich
  • bestimmte Einwilligung

Exportieren Sie den Audit-Trail im Format:

  • CSV - für Tabellenkalkulationen
  • JSON - für die programmatische Verarbeitung

Exportieren Sie die vollständige Historie oder gefilterte Ergebnisse aus dem Audit-Trail-Panel.

Unter Mein Konto sieht der Kunde den Abschnitt “Meine Einwilligungen”. Er kann:

  • aktuell erteilte Einwilligungen ansehen
  • das Datum der Erteilung jeder Einwilligung sehen
  • eine Einwilligung mit der Schaltfläche “Widerrufen” widerrufen

Der Widerruf wird im Audit-Trail gespeichert. Der Administrator erhält eine E-Mail-Benachrichtigung (konfigurierbar).

Ändert sich der Inhalt einer Einwilligung, sieht der Kunde in Mein Konto die Aufforderung, die neue Version zur Kenntnis zu nehmen und erneut einzuwilligen.

Das Plugin integriert sich in den Datenexport von WordPress (wp_privacy_personal_data_exporters). Beim Export der Kundendaten fügt es hinzu:

  • die Liste der erteilten Einwilligungen mit Daten und Versionen
  • die vollständige Historie der Einwilligungsänderungen (Erteilungen, Widerrufe, erneute Einwilligungen)
  • die mit jeder Einwilligung verknüpften IP-Adressen und Daten
/**
* Registrierung des Exporters für personenbezogene Daten.
*/
add_filter('wp_privacy_personal_data_exporters', function (array $exporters): array {
$exporters['polski-pro-consents'] = [
'exporter_friendly_name' => 'Polski PRO - Einwilligungen',
'callback' => [PolskiPro\Privacy\Exporter::class, 'export'],
];
return $exporters;
});

Das Plugin integriert sich in die Datenlöschung von WordPress (wp_privacy_personal_data_erasers). Beim Löschen von Daten:

  • 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 (ohne identifizierende Daten) zu Nachweiszwecken erhalten
/**
* Registrierung des Erasers für personenbezogene Daten.
*/
add_filter('wp_privacy_personal_data_erasers', function (array $erasers): array {
$erasers['polski-pro-consents'] = [
'eraser_friendly_name' => 'Polski PRO - Einwilligungen',
'callback' => [PolskiPro\Privacy\Eraser::class, 'erase'],
];
return $erasers;
});

Das Modul stellt einen REST-API-Endpunkt zum Ansehen der Einwilligungen bereit (für Administratoren verfügbar):

GET /wp-json/polski-pro/v1/consents?user_id={id}

Gibt die Liste der Einwilligungen des Benutzers mit aktuellem Status und Version zurück.

GET /wp-json/polski-pro/v1/consents/audit?user_id={id}

Query-Parameter:

ParameterTypBeschreibung
user_idintBenutzer-ID
consent_idstringID einer bestimmten Einwilligung
event_typestringEreignistyp (granted, revoked, re_consented)
date_fromstringDatum von (YYYY-MM-DD)
date_tostringDatum bis (YYYY-MM-DD)
per_pageintAnzahl der Ergebnisse (Standard 50)
GET /wp-json/polski-pro/v1/consents/export?format={csv|json}

Gibt den vollständigen Export des Audit-Trails im gewählten Format zurück.

Aktion, die nach Erteilung einer Einwilligung ausgelöst wird.

/**
* @param int $user_id Benutzer-ID
* @param string $consent_id Einwilligungs-ID
* @param int $version Versionsnummer der Einwilligung
*/
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 {
// Synchronisation mit externem 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);

Aktion, die nach Widerruf einer Einwilligung ausgelöst wird.

/**
* @param int $user_id Benutzer-ID
* @param string $consent_id Einwilligungs-ID
* @param string $source Quelle des Widerrufs (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') {
// Abmeldung vom Newsletter
do_action('newsletter_unsubscribe', get_userdata($user_id)->user_email);
}
}, 10, 3);

Die Aufforderung zur erneuten Einwilligung wird nicht angezeigt

Abschnitt betitelt „Die Aufforderung zur erneuten Einwilligung wird nicht angezeigt“
  1. Prüfen Sie, ob die Option “Erneute Einwilligung verlangen” aktiviert ist
  2. Überprüfen Sie, ob sich der Inhalt der Einwilligung tatsächlich geändert hat (prüfen Sie die Versionshistorie)
  3. Leeren Sie den Cache der Kassenseite und des Mein-Konto-Bereichs

Der DSGVO-Export enthält keine Einwilligungsdaten

Abschnitt betitelt „Der DSGVO-Export enthält keine Einwilligungsdaten“
  1. Stellen Sie sicher, dass das Modul zur Einwilligungsverwaltung aktiv ist
  2. Prüfen Sie, ob der Exporter polski-pro-consents unter Werkzeuge > Export personenbezogener Daten registriert ist
  3. Überprüfen Sie die Logs auf PHP-Fehler

Die Einwilligungshistorie befindet sich in einer separaten Tabelle. Bei vielen Kunden kann sie wachsen. Erwägen Sie:

  • regelmäßiges 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 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.