Większość sklepów, które dostaję do przebudowy, ma politykę prywatności od prawnika i ani jednego ustawienia w panelu, które by jej odpowiadało. Dokument obiecuje, że dane klienta zostaną usunięte na żądanie, a sklep nie ma nawet przycisku, który by to zrobił. Dlatego kiedy ktoś wpisuje w Google „rodo w sklepie internetowym”, trafia na dziesięć tekstów kancelarii o podstawach prawnych i obowiązkach informacyjnych, a nie znajduje odpowiedzi na pytanie, które mnie zadaje najczęściej: co właściwie mam kliknąć w WooCommerce, żeby to, co podpisałem w dokumencie, było prawdą.
Piszę to jako programista, nie prawnik, i to zastrzeżenie jest tu ważne: to nie jest porada prawna. Nie powiem Ci, jaka podstawa prawna pasuje do Twojego newslettera ani jak długo wolno trzymać dane do faktur. To potwierdzasz u prawnika albo księgowej. Pokażę za to część, której w poradnikach prawnych zwykle nie ma: gdzie w sklepie fizycznie leżą dane klientów, które ustawienia WooCommerce i WordPressa za to odpowiadają i jak sprawdzić raz w roku, czy dokument nadal opisuje sklep, który masz.
RODO w sklepie internetowym - co wdrożyć technicznie
Wdrożenie RODO w sklepie internetowym ma dwie połowy i w praktyce prawie zawsze robi się tylko jedną. Pierwsza to dokumenty: polityka prywatności sklepu internetowego, klauzule informacyjne, rejestr czynności, umowy powierzenia z firmami, którym przekazujesz dane. To teren prawnika. Druga połowa to sklep, który ma się zachowywać tak, jak te dokumenty obiecują. I to już jest teren programisty albo osoby, która administruje panelem.
Podział jest prostszy, niż się wydaje. Prawnik odpowiada na pytania „czy wolno”, „na jakiej podstawie” i „jak długo”. Strona techniczna odpowiada na pytania „gdzie to leży”, „kto ma dostęp”, „jak to wyeksportować” i „jak to usunąć tak, żeby naprawdę zniknęło”. Jeśli dokument mówi, że klient może dostać kopię swoich danych, to ktoś w sklepie musi umieć ją wygenerować w kwadrans, a nie szukać ręcznie po tabelach bazy. Jeśli mówi, że dane są usuwane po zakończeniu okresu przechowywania, to sklep musi to robić sam, bo żaden właściciel nie będzie co miesiąc czyścił zamówień ręcznie.
Granicę między tymi dwoma światami opisałem szerzej przy okazji regulaminu sklepu internetowego, gdzie problem jest ten sam: dokument napisany raz, sklep zmieniany dziesięć razy. Przy RODO ten rozjazd jest tylko groźniejszy, bo dotyczy nie Twoich warunków sprzedaży, a danych cudzych ludzi.
Gdzie w sklepie naprawdę leżą dane klienta
Zanim cokolwiek klikniesz, trzeba wiedzieć, co się chroni. Większość właścicieli sklepów, pytana o dane klientów, wskazuje listę zamówień i listę kont. To dobry początek, ale w typowym sklepie na WooCommerce dane osobowe siedzą w znacznie więcej miejscach:
- Zamówienia - imię, adres, telefon, mail, czasem NIP i uwagi do zamówienia, w których klienci wpisują rzeczy, o które nikt ich nie prosił.
- Konta klientów - to samo plus historia zakupów i zapisane adresy.
- Opinie o produktach i komentarze - imię, mail, adres IP zapisany przy każdym wpisie.
- Formularze kontaktowe - wiele wtyczek formularzy domyślnie zapisuje każde zgłoszenie w bazie, nawet jeśli mail i tak poszedł na skrzynkę. Po dwóch latach to setki rekordów, o których nikt nie pamięta.
- Logi wysyłki maili - wtyczki SMTP często trzymają kopie wysłanych wiadomości razem z treścią, czyli z danymi z potwierdzeń zamówień.
- Porzucone koszyki i newsletter - wtyczki do odzyskiwania koszyków zapisują mail i zawartość koszyka zanim ktoś cokolwiek kupił.
- Kopie zapasowe - każda kopia bazy to pełny zrzut wszystkiego powyżej. Usunięcie klienta ze sklepu nie usuwa go z backupu sprzed miesiąca. Jak układam kopie w sklepie, opisałem w tekście o kopii zapasowej sklepu WooCommerce.
- Logi serwera - adresy IP i odwiedzane adresy, zwykle rotowane przez hosting.
Ćwiczenie, które robię na początku każdej przebudowy: biorę jeden adres mailowy klienta i szukam go w całej bazie sklepu. Liczba tabel, w których się pojawia, zwykle zaskakuje właściciela i jest pierwszym argumentem, żeby część wtyczek przestała zapisywać to, czego nikt nie czyta.
Co pomaga: zrób sobie prostą listę w arkuszu: miejsce, jakie dane, po co, jak długo, kto ma dostęp. Nie potrzebujesz do tego prawnika ani narzędzia. Ta lista będzie potem podstawą rozmowy z prawnikiem i jedynym sensownym punktem wyjścia do czyszczenia.
Zgody, cookies, eksport i usuwanie danych w WooCommerce
To jest część, po którą tu przyszedłeś. RODO w WooCommerce w dużej mierze da się ustawić bez dodatkowych wtyczek, bo WordPress i WooCommerce mają wbudowane narzędzia, które większość sklepów ma wyłączone albo nieskonfigurowane.
Strona polityki prywatności. WordPress ma w Ustawieniach zakładkę Prywatność, w której wskazujesz, która strona jest polityką prywatności. Od tego ustawienia zależy, do czego linkują gotowe teksty zgód w WooCommerce i formularz logowania. WooCommerce dokłada tam przewodnik z fragmentami opisującymi, jakie dane sklep zbiera przy zamówieniu i gdzie je wysyła. Te fragmenty nie zastępują dokumentu od prawnika, ale są dobrą listą kontrolną: czego z nich nie ma w Twojej polityce prywatności, to temat na rozmowę z prawnikiem.
Zgody przy rejestracji i w checkoucie. W WooCommerce, w Ustawieniach, sekcja Konta i prywatność, są dwa pola tekstowe: informacja przy rejestracji konta i informacja na stronie zamówienia, obie z linkiem do polityki prywatności. Większość sklepów ma tam domyślny tekst po angielsku albo pusty. Treść uzgadniasz z prawnikiem, ale to, czy w ogóle się wyświetla, sprawdzasz Ty, wchodząc w checkout jak klient. Zgoda na regulamin i informacja o prywatności to dwa różne pola, nie jeden checkbox z trzema linkami.
Cookies i skrypty. Tu technika rozchodzi się na dwa pytania. Pierwsze: jakie skrypty sklep ładuje przed zgodą użytkownika i czy baner cookie faktycznie je blokuje, czy tylko wyświetla komunikat. Drugie: czy pomiar w Google po wdrożeniu banera nadal działa. Oba rozpisałem osobno przy wdrożeniu Consent Mode v2, więc tu tylko jedna uwaga: baner, który wyświetla się ładnie i niczego nie blokuje, jest gorszy od braku banera, bo daje fałszywe poczucie, że temat jest załatwiony.
Eksport danych na żądanie. WordPress ma w Narzędziach pozycję „Eksportuj dane osobowe”. Wpisujesz adres mailowy klienta, system wysyła mu prośbę o potwierdzenie, a po potwierdzeniu generuje paczkę z danymi ze wszystkich miejsc, które się do tego mechanizmu podłączyły. WooCommerce dokłada do paczki zamówienia, adresy i pobrania. To działa od razu, bez wtyczki. Haczyk: wtyczki formularzy, koszyków i mailingu podłączają się do tego eksportu tylko, jeśli ich autor to zrobił. Dlatego po zainstalowaniu narzędzia zrób próbę na własnym adresie i porównaj paczkę z listą miejsc z poprzedniej sekcji. Czego w paczce nie ma, to trzeba eksportować osobno albo dopisać do mechanizmu własnym kodem.
Usuwanie danych. Obok eksportu jest „Usuń dane osobowe”. Ten sam schemat: adres, potwierdzenie, a potem system czyści to, co da się wyczyścić, i raportuje, czego nie ruszył. WooCommerce przy usuwaniu nie kasuje zamówień, tylko je anonimizuje: zamówienie zostaje w statystykach i w rozliczeniach, a w miejscu danych klienta pojawia się oznaczenie, że zostały usunięte. To ważne, bo faktury i dokumenty księgowe mają swoje terminy przechowywania i tych nie wolno skrócić tylko dlatego, że klient poprosił o usunięcie. Które zamówienia można zanonimizować, a które muszą zostać w pełnej formie, to znowu pytanie do prawnika i księgowej, nie do mnie.
Automatyczne czyszczenie. W tej samej sekcji Konta i prywatność WooCommerce pozwala ustawić, po jakim czasie sklep sam anonimizuje zamówienia w poszczególnych statusach i usuwa nieaktywne konta. Okresy wpisujesz wg ustaleń z prawnikiem; ja pilnuję tylko, żeby ustawienie było włączone i zgadzało się z dokumentem. To mechanizm, który zastępuje ręczne sprzątanie i którego w większości sklepów nikt nie włączył.
Dostępy do panelu. Rzecz, o której poradniki prawne milczą: kto ma konto administratora. Byłe agencje, grafik sprzed trzech lat, „tymczasowe” konto dla księgowości. Każde konto z dostępem do zamówień to dostęp do danych klientów, a jedno przejęte wystarczy, żeby potem opisywać w zgłoszeniu do urzędu, czyje dane wyciekły. Co robić, gdy już do tego doszło, rozpisałem w planie ratunkowym dla zhakowanej strony; lepiej raz w roku skasować konta, których nikt nie używa.
Gdy buduję albo przebudowuję sklep, te ustawienia są u mnie na liście odbioru obok płatności i wysyłki, a nie w rubryce „klient uzupełni później”. Włączenie ich zajmuje mniej czasu niż jedno spotkanie z prawnikiem, a bez nich jego dokument opisuje sklep, którego nie ma.
Podmioty poza sklepem - bramka, kurier, mailing, analityka
Sklep na WooCommerce prawie nigdy nie trzyma danych tylko u siebie. Przy każdym zamówieniu dane klienta wychodzą do operatora płatności, do kuriera albo brokera przesyłek, często do systemu fakturującego, mailingu i analityki. Umowy powierzenia z tymi firmami to sprawa prawnika. Moja sprawa to wiedzieć, co dokładnie wychodzi: integracja z kurierem potrzebuje adresu i telefonu, ale niekoniecznie treści uwag do zamówienia, a wtyczka mailingu potrzebuje adresu, a dostaje czasem całą historię zakupów. Gdy przeglądam sklep, otwieram ustawienia każdej integracji i sprawdzam mapowane pola. Część da się wyłączyć jednym kliknięciem, a lista tego, co zostało, idzie do polityki prywatności jako konkretny opis zamiast ogólnego „dane mogą być przekazywane partnerom”.
Przegląd raz w roku
RODO w sklepie internetowym nie jest wdrożeniem, które robi się raz. Sklep dochodzi nową wtyczkę, zmienia kuriera, dokłada program lojalnościowy, a dokument zostaje z dnia, w którym go podpisano. Dlatego raz w roku, najlepiej w stały termin, przechodzę z klientem taką listę:
- Lista miejsc z danymi z drugiej sekcji tego wpisu: czy doszły nowe wtyczki, które coś zapisują, i czy stare nadal są potrzebne.
- Próba eksportu i usunięcia na własnym adresie testowym: czy paczka zawiera to, co powinna, i czy po usunięciu dane faktycznie znikają również z nowych wtyczek.
- Automatyczne czyszczenie: czy jest nadal włączone i czy okresy zgadzają się z dokumentem. Aktualizacje wtyczek potrafią po cichu zresetować ustawienia.
- Konta administratorów i dostępy do hostingu, FTP, bazy: kto ma dostęp i czy każda z tych osób nadal z Tobą pracuje.
- Baner cookie: czy po roku aktualizacji nadal blokuje skrypty przed zgodą, a nie tylko się wyświetla.
- Integracje: czy nie doszła nowa, która wysyła dane na zewnątrz, i czy jest w polityce prywatności oraz w umowach powierzenia.
- Kopie zapasowe: gdzie leżą, jak długo są trzymane i kto ma do nich dostęp, bo to jest kopia wszystkiego powyżej.
- Polityka prywatności i regulamin: czy opisują sklep, który dziś stoi, a nie ten sprzed roku. Rozjazdy wypisujesz i idziesz z nimi do prawnika.
Taki przegląd w sklepie średniej wielkości to jedno popołudnie. Efektem jest lista rzeczy do poprawienia po stronie technicznej i druga, krótsza, do przegadania z prawnikiem. Bez przeglądu rozjazd między dokumentem a sklepem rośnie co roku i wychodzi na jaw w najgorszym momencie: przy wycieku, skardze albo kontroli.
Podsumowanie
Polityka prywatności od prawnika załatwia połowę sprawy. Druga połowa to sklep, który robi to, co dokument obiecuje: wie, gdzie trzyma dane, umie je wyeksportować i usunąć na żądanie, sam czyści stare zamówienia i konta, pokazuje zgody w checkoucie i przy rejestracji, blokuje skrypty do czasu zgody i wysyła na zewnątrz tylko to, czego integracje naprawdę potrzebują. Większość z tego jest w WooCommerce i WordPressie wbudowana i czeka na włączenie.
Jeśli nie wiesz, czy ustawienia w Twoim panelu odpowiadają temu, co podpisałeś w polityce prywatności, podeślij mi link. Przejdę listę z tego wpisu i odeślę, co jest do zrobienia po mojej stronie, a z czym iść do prawnika.
Najczęstsze pytania
Czy do RODO w sklepie potrzebuję osobnej wtyczki? Do podstaw nie. Strona polityki prywatności, teksty zgód przy rejestracji i w checkoucie, eksport i usuwanie danych na żądanie oraz automatyczne czyszczenie zamówień i kont są w WordPressie i WooCommerce wbudowane. Wtyczka przydaje się zwykle do banera cookie, który blokuje skrypty przed zgodą, i czasem do raportowania, czego inne wtyczki nie podłączyły do eksportu.
Czy usunięcie klienta na żądanie kasuje jego zamówienia? WooCommerce zamówień nie kasuje, tylko je anonimizuje: zamówienie zostaje do statystyk i rozliczeń, a dane klienta zostają zastąpione oznaczeniem, że zostały usunięte. Które zamówienia można w ten sposób zanonimizować, a które muszą zostać w pełnej formie przez okres wymagany dla dokumentów księgowych, ustalasz z prawnikiem i księgową.
Co z danymi klientów w kopiach zapasowych? Usunięcie ze sklepu nie usuwa z kopii. Dlatego okres przechowywania kopii zapasowych jest częścią opisu, jak długo trzymasz dane, i powinien być w polityce prywatności. Technicznie pilnujesz, żeby stare kopie były faktycznie kasowane, a dostęp do nich miały tylko osoby, które muszą.
Masz sklep, w którym coś nie działa tak, jak powinno? Buduję i przebudowuję sklepy internetowe na WooCommerce - od pojedynczej naprawy po przebudowę całej sprzedaży. Opisz, z czym się mierzysz, a odeślę wycenę z zakresem i terminem.