Zarządzanie zgodami
Moduł zarządzania zgodami dodaje wersjonowanie zgód, audit trail, eksport danych i integrację z RODO. Śledzi historię zgód klientów i reaguje na zmiany treści regulaminów.
Wersjonowanie zgód
Dział zatytułowany „Wersjonowanie zgód”Automatyczne wykrywanie zmian
Dział zatytułowany „Automatyczne wykrywanie zmian”Plugin śledzi treść checkboxów. Przy każdym zapisie ustawień porównuje hash (SHA-256) treści. Gdy treść się zmieni - tworzy nową wersję zgody automatycznie.
Każda wersja zgody zawiera:
- numer wersji (autoinkrementacja)
- hash treści etykiety
- pełną treść etykiety
- datę utworzenia wersji
- ID użytkownika, który dokonał zmiany
Historia wersji
Dział zatytułowany „Historia wersji”Kliknij Historia wersji przy checkboxie, aby zobaczyć wszystkie wersje z datami i treścią.
Ponowne wyrażanie zgody
Dział zatytułowany „Ponowne wyrażanie zgody”Gdy treść zgody się zmieni, plugin może wymagać ponownej zgody. Ustawienia:
| Ustawienie | Opis |
|---|---|
| Wymagaj ponownej zgody | Włącza monit o ponowne wyrażenie zgody po zmianie treści |
| Wyświetlaj monit | Na stronie kasy / W panelu Moje konto / Oba |
| Treść komunikatu | Tekst informujący klienta o zmianie regulaminu |
Klient widzi komunikat o zmianie i musi ponownie zaznaczyć checkbox. Wcześniejsza zgoda zostaje w historii.
Audit trail
Dział zatytułowany „Audit trail”Rejestrowane zdarzenia
Dział zatytułowany „Rejestrowane zdarzenia”Plugin zapisuje wszystkie operacje na zgodach:
| Zdarzenie | Dane |
|---|---|
| Zgoda wyrażona | ID użytkownika, ID zgody, wersja, data, IP, user agent |
| Zgoda wycofana | ID użytkownika, ID zgody, data, źródło (klient/admin) |
| Zmiana treści zgody | ID zgody, stara wersja, nowa wersja, data, ID admina |
| Monit o ponowną zgodę | ID użytkownika, ID zgody, data |
| Ponowna zgoda | ID użytkownika, ID zgody, nowa wersja, data |
Przeglądanie historii
Dział zatytułowany „Przeglądanie historii”W panelu WordPressa nie ma ekranu audit trail. Wtyczka PRO udostępnia log wyłącznie przez REST, a każda trasa wymaga uprawnienia manage_woocommerce:
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/versionsParametr user_id albo session_id jest wymagany. Nie ma listy bez filtra, filtra po typie zdarzenia ani po zakresie dat.
Darmowa wtyczka ma natomiast ekran decyzji z banera cookie: Polski > Raporty i narzędzia > Rejestr zgód.
Eksport danych
Dział zatytułowany „Eksport danych”Eksport działa przez REST i domyślnie zwraca JSON:
GET /wp-json/polski-pro/v1/consents/export?user_id=123Jedno wywołanie to jeden użytkownik. Dodaj &format=csv, żeby pobrać CSV, od PRO 1.26.3.
Integracja z panelem Moje konto
Dział zatytułowany „Integracja z panelem Moje konto”Wycofanie zgody
Dział zatytułowany „Wycofanie zgody”W Moje konto klient widzi sekcję “Moje zgody”. Może:
- przeglądać aktualnie wyrażone zgody
- zobaczyć datę wyrażenia każdej zgody
- wycofać zgodę przyciskiem “Wycofaj”
Wycofanie jest zapisywane w audit trail. Administrator dostaje powiadomienie e-mail (konfigurowalne).
Monit o ponowną zgodę
Dział zatytułowany „Monit o ponowną zgodę”Gdy treść zgody się zmieni, klient widzi w Moje konto prośbę o zapoznanie się z nową wersją i ponowną zgodę.
Integracja RODO
Dział zatytułowany „Integracja RODO”Eksport danych osobowych
Dział zatytułowany „Eksport danych osobowych”Plugin integruje się z eksportem danych WordPress (wp_privacy_personal_data_exporters). Przy eksporcie danych klienta dołącza:
- listę wyrażonych zgód z datami i wersjami
- pełną historię zmian zgód (wyrażenia, wycofania, ponowne zgody)
- adresy IP i daty powiązane z każdą zgodą
/** * 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;});Usuwanie danych osobowych
Dział zatytułowany „Usuwanie danych osobowych”Plugin integruje się z usuwaniem danych WordPress (wp_privacy_personal_data_erasers). Przy usuwaniu danych:
- dane osobowe w audit trail są anonimizowane (IP, user agent)
- wpisy zgód są oznaczane jako usunięte
- sam fakt wyrażenia/wycofania zgody pozostaje (bez danych identyfikujących) dla celów rozliczalności
/** * 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
Dział zatytułowany „REST API”Trzy trasy tylko do odczytu, każda wymaga uprawnienia manage_woocommerce.
Zgody jednego użytkownika lub sesji
Dział zatytułowany „Zgody jednego użytkownika lub sesji”GET /wp-json/polski-pro/v1/consents?user_id={id}GET /wp-json/polski-pro/v1/consents?session_id={id}Jeden z dwóch parametrów jest wymagany; bez żadnego trasa odpowiada 400 i komunikatem “Provide user_id or session_id.”. Zapytanie po użytkowniku zwraca 200 najnowszych rekordów, zapytanie po sesji zwraca rekordy tej sesji. Nie ma filtra po typie zdarzenia ani po dacie, nie ma stronicowania.
Eksport dla jednego użytkownika
Dział zatytułowany „Eksport dla jednego użytkownika”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 jest wymagany. Zwraca do 1000 rekordów. Domyślnie JSON, opakowany w user_id, exported_at i records_count. Podaj format=csv, żeby dostać plik text/csv z kolumnami checkbox_id, context, consented, ip_address, created_at, gdzie consented przyjmuje yes albo no. Każda inna wartość cofa się do JSON-a.
Przed PRO 1.26.3 parametr format był zadeklarowany i ignorowany, więc żądanie CSV dostawało JSON bez żadnego błędu.
Wersje zgód
Dział zatytułowany „Wersje zgód”GET /wp-json/polski-pro/v1/consents/versionsZwraca zapisaną mapę wersji. Nie przyjmuje argumentów.
Trasa /consents/audit nie istnieje, a żadna trasa nie przyjmuje consent_id, event_type, date_from, date_to ani per_page.
Moduł zgód nie rejestruje własnych akcji ani filtrów. Log odczytuj przez powyższe trasy albo bezpośrednio przez ConsentLog. Na potrzeby żądań RODO moduł rejestruje eksporter i procedurę usuwania danych osobowych WordPressa i to jest wspierana droga do tych danych z zewnątrz wtyczki.
Najczęstsze problemy
Dział zatytułowany „Najczęstsze problemy”Monit o ponowną zgodę nie wyświetla się
Dział zatytułowany „Monit o ponowną zgodę nie wyświetla się”- Sprawdź, czy opcja “Wymagaj ponownej zgody” jest włączona
- Zweryfikuj, czy treść zgody faktycznie się zmieniła (sprawdź historię wersji)
- Wyczyść cache strony kasy i panelu Moje konto
Eksport RODO nie zawiera danych zgód
Dział zatytułowany „Eksport RODO nie zawiera danych zgód”- Upewnij się, że moduł zarządzania zgodami jest aktywny
- Sprawdź, czy eksporter
polski-pro-consentsjest zarejestrowany w Narzędzia > Eksport danych osobowych - Zweryfikuj logi pod kątem błędów PHP
Audit trail rośnie zbyt szybko
Dział zatytułowany „Audit trail rośnie zbyt szybko”Historia zgód jest w osobnej tabeli. Przy wielu klientach może rosnąć. Rozważ:
- regularne eksportowanie i archiwizowanie starszych wpisów
- ustawienie automatycznego czyszczenia wpisów starszych niż określona liczba miesięcy (opcja w ustawieniach)