Przejdź do głównej zawartości

Checklist zgodności Polityki Prywatności i Regulaminu

Moduł Checklist zgodności skanuje dwie kluczowe strony prawne sklepu (Polityka Prywatności i Regulamin) i raportuje, czy zawierają one elementy wymagane przez prawo. To heurystyka strukturalna, nie porada prawna - ale pomaga szybko zlokalizować brakujące akapity.

  1. Wtyczka czyta treść strony ustawionej jako Polityka Prywatności lub Regulamin (opcje polski_privacy_page_id, polski_terms_page_id).
  2. Treść jest normalizowana: HTML usunięty, wielkość liter ujednolicona, polskie znaki diakrytyczne zamienione na ASCII (a/c/e/l/n/o/s/z).
  3. Silnik przechodzi przez zestaw reguł (17 dla Polityki, 15 dla Regulaminu) i szuka wzorców słów kluczowych. Reguła przechodzi, jeśli w treści znajdzie się dowolny z wzorców.
  4. Wynik jest prezentowany jako lista z oznaczeniem OK / Missing, poziomem ważności (Required / Recommended / Optional) oraz podpowiedzią co dodać.

Przejdź do Polski > Checklist zgodności. Jeśli nie masz jeszcze ustawionych stron prawnych, ustaw je wcześniej w Polski > Strony prawne.

Moduł jest domyślnie włączony. Wyłączenie: Polski > Moduły -> odznacz “Compliance checklist”.

Wymagane:

  • Identyfikacja Administratora danych
  • Kanal kontaktowy (email lub formularz)
  • Cele przetwarzania
  • Podstawa prawna (Art. 6 ust. 1 RODO)
  • Okres przechowywania
  • Odbiorcy danych / podmioty przetwarzajace
  • Prawa osoby: dostępu, sprostowania, usunięcia, ograniczenia, przenoszenia, sprzeciwu
  • Prawo cofniecia zgody
  • Skarga do Prezesa UODO

Rekomendowane:

  • Zautomatyzowane podejmowanie decyzji / profilowanie
  • Transfer poza EOG

Opcjonalne:

  • Kontakt do IOD (jeśli powołany)

Wymagane:

  • Obecnosc banera (cookies / ciasteczka w HTML)
  • Przycisk Akceptuje
  • Przycisk Odrzuc z rownorzedna widocznoscia
  • Ustawienia / preferencje kategorii
  • Link do Polityki prywatnosci

Rekomendowane:

  • Nazwana kategoria Analityka
  • Nazwana kategoria Marketing / reklama
  • Wzmianka o możliwości cofnięcia zgody

Reguły inwertowane (obecność = FAIL):

  • “Klikając dowolny link akceptujesz” / “By continuing to use the site you agree” - frazy sugerujące implied consent, niezgodne z aktywna zgoda.
  • Detekcja auto-promptu push: Notification.requestPermission, PushManager.subscribe, ServiceWorker.register oraz sygnatury najczęściej używanych third-party push SDK. Uruchomienie tych bez wcześniejszej interakcji użytkownika to deceptive pattern (EDPB 03/2022) - przeglądarki i organy nadzorcze traktują to jako naruszenie.

Skanowane jest home_url('/'), wynik cachowany w transient przez 1h. Banner renderowany tylko przez JS może nie być widoczny w skanie - rozdział jest heurystyką, nie werdyktem.

Skan statycznego HTML strony głównej pod kątem typowych regresji WCAG 2.1 AA:

Wymagane:

  • <html lang="..."> obecne (WCAG 3.1.1)
  • Link “przejdź do treści” / skip-link (WCAG 2.4.1)
  • Pojedynczy <h1> (WCAG 1.3.1, 2.4.6)
  • <meta name="viewport"> (WCAG 1.4.10 Reflow)
  • <main> lub role="main" (WCAG 1.3.1)
  • Obrazy z atrybutem alt (WCAG 1.1.1)

Rekomendowane:

  • role="search" na formularzu wyszukiwania
  • Brak globalnego outline:none (WCAG 2.4.7) - reguły inwertowane
  • Brak autoplay z dźwiękiem (WCAG 1.4.2) - reguły inwertowane

To jest heurystyka statyczna. Dla pełnego audytu użyj axe-core albo Lighthouse w przeglądarce.

Regulamin (Ustawa o świadczeniu usług + Ustawa o prawach konsumenta) - 15 reguł

Dział zatytułowany „Regulamin (Ustawa o świadczeniu usług + Ustawa o prawach konsumenta) - 15 reguł”

Wymagane:

  • Identyfikacja Usługodawcy (nazwa, NIP, REGON)
  • Adres + email kontaktowy
  • Rodzaj i zakres usług
  • Wymagania techniczne
  • Sposób składania zamówienia
  • Metody płatności
  • Sposoby dostawy i czasy
  • Prawo odstąpienia od umowy (14 dni)
  • Formularz odstąpienia
  • Postępowanie reklamacyjne
  • Odwołanie do Polityki Prywatności / RODO
  • Tryb zmiany Regulaminu
  • Prawo właściwe

Rekomendowane:

  • Platforma ODR (ec.europa.eu)
  • Data wejścia w życie

Score 0-100%:

  • Required: waga 3
  • Recommended: waga 2
  • Optional: waga 1

Zaliczone punkty / maksimum * 100. Wszystkie reguły Required muszą być na OK, aby sklep miał solidną pozycję wyjściową.

Kolor punktacji:

  • zielony >= 90%
  • zolty 70-89%
  • czerwony < 70%
GET /wp-json/polski/v1/compliance/page/privacy
GET /wp-json/polski/v1/compliance/page/terms
GET /wp-json/polski/v1/compliance/cookie-banner
GET /wp-json/polski/v1/compliance/cookie-banner?url=https://example.com/
GET /wp-json/polski/v1/compliance/accessibility
GET /wp-json/polski/v1/compliance/accessibility?url=https://example.com/

Zwraca raport jako JSON:

{
"page_type": "privacy",
"page_id": 42,
"content_length": 8421,
"score": 94,
"has_missing_required": false,
"results": [
{
"id": "controller_identity",
"label": "Controller identity and contact",
"severity": "required",
"passed": true,
"hint": ""
}
]
}

Dostęp: manage_woocommerce capability.

Każda reguła ma listę wzorców (Polish + English). Wzorce są już znormalizowane (mała pisownia, bez diakrytyki). Przykłady:

  • "administratorem danych osobowych" - zapis formalny
  • "administrator danych" - skrócony
  • "data controller" - angielska wersja

Reguła przechodzi, jeśli dowolny wzorzec występuje w treści. Dodanie nowego wzorca to modyfikacja PrivacyPolicyRules::all() / RegulaminRules::all() - PR mile widziany.

  • Heurystyka słów kluczowych; reguła może przejść nawet gdy akapit jest lakoniczny
  • Brak analizy semantycznej (np. czy rzeczywiście opisano okres retencji, a nie tylko słowo “przechowywania”)
  • Nie sprawdza Polityki Cookies, stron Zwrot/Reklamacja (planowane osobne moduły)
  • Nie ocenia czy powołany został IOD - tylko obecność wzmianki