Compliance i bezpieczeństwo

RODO na stronie firmowej — checklist 12 punktów (2026)

Kary za naruszenia RODO w 2024-2026 r. w Polsce sięgnęły kilkudziesięciu milionów złotych. Mała firma B2B raczej nie dostanie 50 mln, ale 5 000 - 100 000 zł grzywny realne. Większość naruszeń jest łatwa do naprawienia — wystarczy przejść tę 12-punktową listę i wdrożyć brakujące elementy.

Disclaimer: to artykuł techniczny, nie prawniczy. Praktyczne uwagi developera o tym, co i jak wdrożyć na stronie. Dla konkretnych decyzji prawnych skonsultuj się z radcą prawnym lub IOD.

1. Polityka prywatności (zgodna z art. 13/14 RODO)

Musisz mieć osobną podstronę /polityka-prywatnosci z linkiem w stopce. Zawiera 9 elementów obowiązkowych:

  • Administrator danych (firma + NIP + adres + email)
  • Cele przetwarzania (np. obsługa zapytań, marketing)
  • Podstawa prawna (zgoda, umowa, interes prawny — z art. 6 RODO)
  • Odbiorcy danych (do kogo trafiają — np. Vercel, MailerLite)
  • Przekazywanie poza EOG (np. USA — kraje z adekwatnością)
  • Czas przechowywania (retencja)
  • Prawa użytkownika (dostęp, sprostowanie, usunięcie, sprzeciw, przenoszenie)
  • Prawo skargi do PUODO
  • Czy dane są obowiązkowe (np. w formularzu)

2. Cookie consent — TCF v2.2 lub własny

Banner cookie musi:

  • Pokazać się przy pierwszej wizycie (przed załadowaniem GA/Pixel)
  • Mieć opcje "Akceptuj wszystkie" + "Tylko niezbędne" (oba równie widoczne!)
  • Pozwalać na granular consent (analityka osobno, marketing osobno)
  • Logować zgodę z timestampem (na wypadek kontroli)
  • Umożliwiać wycofanie zgody w każdej chwili (link "Cookie settings" w stopce)

Najpopularniejsze rozwiązania: Cookiebot, CookieYes, Osano (TCF v2.2) lub własna implementacja.

Częsty błąd: "Akceptuj" duże/kolorowe, a "Odrzuć" małe/szare. UODO klasyfikuje to jako dark pattern i może być podstawą do kary.

3. Formularze — checkboxy zgody (opt-in, nie opt-out)

Każdy formularz, który zbiera dane osobowe (email, telefon, nazwisko) musi mieć:

  • Pole zgody (checkbox), niezaznaczone domyślnie (opt-in)
  • Tekst: "Zgadzam się na przetwarzanie moich danych osobowych w celu [konkretny cel]. Administratorem jest [firma]. Pełna informacja: Polityka prywatności"
  • Osobny checkbox dla marketingu, jeśli planujesz wysyłać newsletter
  • Walidacja po stronie serwera (nie tylko JS!) — żeby nie dało się submit'ować bez zgody

4. Newsletter — podwójna zgoda (double opt-in)

Sam checkbox to nie wystarczy. Po wypełnieniu formularza newslettera:

  1. Wysyłasz mail z linkiem aktywacyjnym
  2. Klient klika link → dopiero teraz dane trafiają do bazy newsletterowej
  3. Bez kliknięcia = bez zgody = nie wysyłasz

Większość narzędzi (MailerLite, MailChimp, Brevo, Substack) ma to wbudowane. Włącz double opt-in w ustawieniach.

5. Polityka cookies (osobny dokument)

Polityka prywatności i polityka cookies to dwa różne dokumenty. Polityka cookies zawiera listę wszystkich cookies z Twojej strony:

  • Nazwa cookie (np. _ga, _fbp)
  • Kategoria (niezbędne / funkcjonalne / analityczne / marketingowe)
  • Dostawca (Google, Meta, Vercel)
  • Okres ważności
  • Cel

Cookiebot/CookieYes generują tę listę automatycznie ze skanu strony.

6. Pliki tracking blokowane do consentu

Skrypty Google Analytics, Meta Pixel, LinkedIn Insight Tag, HotJar nie mogą się załadować przed kliknięciem "Akceptuj" w cookie banner. Implementacja:

// Tag Manager: użyj Consent Mode v2
gtag('consent', 'default', {
  'analytics_storage': 'denied',
  'ad_storage': 'denied',
  'ad_user_data': 'denied',
  'ad_personalization': 'denied',
});

// Po akceptacji w cookie banner:
gtag('consent', 'update', {
  'analytics_storage': 'granted',
  'ad_storage': 'granted',
});

Bez Consent Mode v2 ryzykujesz karę + Google obniża jakość Twoich danych w GA4.

7. Mapa Google / YouTube embed — consent przed load

Te embedy też zbierają dane (Google Maps loguje IP, YouTube zbiera cookies). Muszą być za zgodą:

  • Mapa Google → zastąp placeholderem z przyciskiem "Pokaż mapę" do consentu
  • YouTube → użyj youtube-nocookie.com (prywatność enhanced) + placeholder do consentu

8. Retencja danych z formularzy

Zdefiniuj jak długo trzymasz dane z formularzy:

  • Lead nieprzekonwertowany: 12-24 mies., potem usunięcie
  • Klient po zakupie: 5 lat (KSeF, podatki), potem usunięcie / anonimizacja
  • Newsletter: do odsubskrybowania + ślad zgody w archiwum

Praktyka: cron raz na miesiąc czyści stare rekordy. Pisz w polityce prywatności.

9. DPA z dostawcami (Vercel, MailerLite, GA)

Każdy "processor" Twoich danych musi mieć z Tobą podpisaną Data Processing Agreement. To znaczy: hosting (Vercel), email (MailerLite/Brevo), CRM (HubSpot), GA4 — wszyscy. Niektórzy podpisują "click-through DPA" w panelu (automatycznie), inni wymagają papierowej umowy.

Lista dostawców z DPA w polityce prywatności:

  • Vercel — DPA online w dashboardzie
  • Google (GA4) — DPA przez Google Workspace Admin Console
  • MailerLite / MailChimp — DPA online
  • HubSpot / Pipedrive — DPA online

10. Logi serwera — IP, anonimizacja

Logi serwera zawierają IP użytkowników (= dane osobowe). Ustal:

  • Retencja logów: 30-90 dni (typowo)
  • Anonimizacja IP po N dniach (zamiana 1.2.3.41.2.3.0)
  • Wykluczenie GA4 IP anonymization (Google domyślnie anonimizuje)

11. HTTPS + bezpieczne hasła w bazie

  • HTTPS wszędzie (Let's Encrypt darmowy) — bez wyjątku
  • HSTS header (Strict-Transport-Security: max-age=63072000)
  • Hasła w bazie zawsze hashowane (bcrypt / argon2), nigdy plaintext
  • Bazy danych z encrypted backups
  • Rate limiting na endpointach autoryzacyjnych

12. Procedura "right to be forgotten"

Użytkownik ma prawo zażądać usunięcia wszystkich swoich danych. Musisz mieć:

  • Email kontaktowy do żądań RODO (np. rodo@firma.pl) — w polityce prywatności
  • Procedurę wewnętrzną: po otrzymaniu żądania → 30 dni na odpowiedź
  • Skrypt do usunięcia danych z: bazy CRM, mailingu, logów, backupów
  • Potwierdzenie usunięcia w odpowiedzi do klienta

Praktyka: zapisz checklistę "co usunąć" — w panu firmie 50 osobowej to może być 5-10 systemów.

Bonus: 3 częste błędy z RODO, których nie chcesz mieć

  1. Cookies analityczne ładowane przed consent'em — szybka kara, łatwo wykryć (DevTools → Network).
  2. Polityka prywatności "skopiowana z innej strony" — nie zawiera Twojego administratora ani dostawców. PUODO to wyłapuje.
  3. Brak zgody marketingowej osobno — wszystko w jednym checkboxie ("zgadzam się na wszystko") jest nielegalne od 2018 r.

Mini-audyt RODO — 5 minut

Sprawdź swoją stronę:

  1. Otwórz stronę w trybie Incognito (czysta sesja)
  2. DevTools → Network → filter "doc, xhr, fetch"
  3. Załaduj stronę nie klikając cookie banner
  4. Zobacz, czy nie ładuje się GA / Pixel / Hotjar
  5. Jeśli się ładuje przed kliknięciem "Akceptuj" — masz problem

Podsumowanie

RODO to nie "papierologia", to realny ranking factor dla Twojego biznesu — kary mogą być dotkliwe, a większość naruszeń jest łatwa do uniknięcia. Przejdź te 12 punktów raz, dostosuj stronę i sprawdzaj raz na rok. Wystarczy.

Potrzebujesz audytu RODO + technicznego wdrożenia?

Robię audyt techniczny RODO (cookie consent, formularze, retencja, tracking) + wdrożenie braków na stronie. Pełny przegląd + naprawa w 1-2 tyg.

💡 Wklej URL → AI analizuje SEO, meta, schema, performance. Raport od ręki, 100% za darmo.

Podobne artykuły