Przewodnik po integracji zgody na pliki cookie w FullStory dotyczącej cyfrowego doświadczenia i odtwarzania sesji: Podręcznik 2026

FullStory jest dominującą platformą w kategorii analityki cyfrowego doświadczenia z jednego powodu: domyślnie przechwytuje wszystko. Tradycyjne narzędzia analityczne rejestrują dyskretne zdarzenia zainstrumentowane przez programistę, a platformy analityki produktów rejestrują interakcje plus automatycznie przechwycone uzupełnienie, natomiast FullStory przechwytuje w pełni wyrenderowany DOM, ślad kursora, czas naciśnięć klawiszy, zachowanie przy przewijaniu, kliknięcia z wściekłości, martwe kliknięcia, żądania sieciowe i błędy JavaScript — i łączy je w nagrania sesji, przez które analityk może przewijać klatka po klatce. To pokrycie jest produktem. Dlatego też FullStory znajduje się na skrzyżowaniu najbardziej rygorystycznych zasad dotyczących zgody w każdym nowoczesnym reżimie prywatności. Wytyczne EDPB z 2023 roku dotyczące odtwarzania sesji oraz priorytety grupy zadaniowej na 2026 rok traktują odtwarzanie sesji jako odrębną, bardziej rygorystyczną kategorię zgody. CNIL był najbardziej publicznym regulatorem w tej kwestii, ale nie jedynym — Garante, ICO, hiszpański AEPD i holenderski AP wydały zbieżne stanowiska. Wdrożenie FullStory skonfigurowane z priorytetem zgody, z prawidłowym maskowaniem, prawidłową bramką i prawidłową ścieżką audytu, jest jednym z bardziej potężnych narzędzi, jakie może obsługiwać wydawca; takie, które nie zostało odpowiednio skonfigurowane, jest jednym z najłatwiejszych celów, jakie znajdzie regulator.

Dlaczego FullStory należy do najostrzejszej kategorii zgody

Domyślna inicjalizacja FullStory robi to, co każde narzędzie do odtwarzania sesji, i jeszcze więcej. Ustawia pliki cookie pierwszej strony w przestrzeni nazw fs_uid i fs_lua, zawierające trwały identyfikator odwiedzającego i znacznik czasu ostatniej aktywności, generuje identyfikator sesji w ramach fs_session i rozpoczyna przesyłanie strumieniowe wyrenderowanego DOM do rs.fullstory.com w ciągu milisekund od załadowania strony. Strumień zawiera każde zdarzenie wprowadzania, każdy ruch myszy, każdą pozycję przewijania, każde przejście między stronami i — gdy moduł przechwytywania sieci jest włączony — każdą odpowiedź XHR i fetch wydaną przez stronę, z treściami odpowiedzi włącznie, chyba że operator skonfigurował tłumienie.

Każde z tych przechwyceń aktywuje oddzielną bramkę zgody. Utrwalanie identyfikatora odwiedzającego jest operacją przechowywania i dostępu w ramach Artykułu 5(3) Dyrektywy ePrivacy, wymagającą uprzedniej, swobodnie udzielonej, konkretnej, świadomej i jednoznacznej zgody w całym EOG, Wielkiej Brytanii i każdej jurysdykcji, która przyjęła ten sam standard. Rejestrowanie wyrenderowanego DOM to przetwarzanie danych osobowych na podstawie RODO, ponieważ zapis wizualny jest wystarczający do zidentyfikowania i ujawnienia istotnych treści dotyczących użytkownika. Przechwytywanie strumienia naciśnięć klawiszy ma szczególną wrażliwość: wszystko, co użytkownik wpisuje w polu formularza, jest przechwytywane klatka po klatce, a jeśli pole nie jest zamaskowane, nagranie zawiera wpisaną treść. EDPB wyraźnie stwierdził, że przechwytywanie odtwarzania sesji to kategoria wymagająca wyraźnej, granularnej zgody odrębnej od ogólnej zgody na analizę.

Co FullStory zapisuje przed udzieleniem zgody — i co należy stłumić

Standardowy szybki start FullStory instaluje fragment śledzący bezpośrednio w sekcji <head> strony. To działa zgodnie z dokumentacją i jest źródłem najczęstszych naruszeń zgodności: fragment działa przed wyrenderowaniem banera z plikami cookie, pliki cookie fs_uid i fs_session są zapisywane w milisekundach, a strumień odtwarzania sesji zaczyna płynąć do rs.fullstory.com niezależnie od tego, co użytkownik zdecyduje później. Każdy europejski regulator, który orzekał w tej kwestii, orzekł tak samo: pliki cookie ustawione przed udzieleniem zgody są niezgodne z prawem, nagranie uchwycone przed udzieleniem zgody to nielegalne przetwarzanie, a wydawca ponosi odpowiedzialność.

Zgodna integracja musi zatem uniemożliwić inicjalizację fragmentu FullStory do czasu przyznania odpowiedniej kategorii zgody. Wzorzec działający w środowisku produkcyjnym to API FS.consent() w połączeniu z odłożonym nagrywaniem: fragment ładuje się z FullStory({ orgId: 'XXX', recordOnlyThisIFrame: false }) i natychmiast wywołuje FS.shutdown(), następnie FS.restart() i FS.consent(true) są wywoływane dopiero po tym, jak CMP sygnalizuje, że kategoria odtwarzania sesji została przyznana.

Pliki cookie i przechowywanie zapisywane przez FullStory

Fragment FullStory podczas inicjalizacji zapisuje następujące identyfikatory, które są nieistotne i wymagają zgody: fs_uid z wieloletnim terminem wygaśnięcia zawierającym trwały identyfikator odwiedzającego; fs_lua ze znacznikiem czasu ostatniej aktywności użytkownika; fs_session z identyfikatorem sesji; oraz znaczniki stanu nagrywania używane wewnętrznie przez FullStory. Cofnięcie zgody musi zarówno wygasić te pliki cookie, jak i wywołać FS.consent(false), a następnie FS.shutdown(), aby zatrzymać dalsze przechwytywanie, a wydawca musi wysłać żądanie usunięcia przez punkt końcowy prywatności FullStory dotyczące wcześniejszych nagrań użytkownika.

Mapowanie FullStory na ramy zgody

FullStory nie implementuje natywnie IAB TCF ani IAB Global Privacy Platform — jest platformą cyfrowego doświadczenia pierwszej strony, a nie dostawcą technologii reklamowych. Udostępnia natywne API zgody i obsługuje model maskowania prywatnego domyślnie, który działa niezależnie od stanu zgody. Wzorzec, który przeżywa przegląd regulatora, traktuje każdy moduł FullStory jako oddzielną bramkę powiązaną z konkretnym sygnałem CMP.

Wzorzec integracji, który działa

Wdrożenie referencyjne składa się z czterech części: CMP udostępniające zdarzenie zmiany zgody w czasie rzeczywistym, opóźniony bootstrap inicjalizujący FullStory z tłumionym przechwytywaniem przez FS.shutdown(), słuchacz zgody wywołujący FS.consent(true) i FS.restart(), gdy bramka odtwarzania sesji się otwiera, oraz konfiguracja maskowania prywatnego domyślnie, która mocno tłumi każde pole wprowadzania, chyba że zostało wyraźnie wybranie opcji.

Maskowanie prywatne domyślnie

Warstwa maskowania FullStory działa niezależnie od zgody i powinna być agresywnie skonfigurowana nawet po udzieleniu zgody. Klasa CSS fs-mask na dowolnym elemencie tłumi zawartość tego elementu przed nagraniem; klasa CSS fs-exclude całkowicie wyklucza element ze strumienia DOM; klasa fs-block blokuje zarówno zawartość, jak i strukturę. Zgodnie z zasadami dotyczącymi szczególnych kategorii RODO i definicją wrażliwych informacji osobistych CCPA, każde pole, które może przechwycić informacje o zdrowiu, szczegóły finansowe, identyfikatory rządowe, dane biometryczne, precyzyjną geolokalizację lub treść prywatnych komunikacji, musi używać atrybutów maskowania niezależnie od stanu zgody użytkownika. Zalecana postawa to stosowanie fs-mask na poziomie formularza, a nie na poziomie pola.

Wybór regionu i rezydencja danych

FullStory obsługuje oddzielne punkty końcowe ingesta dla USA i UE. W przypadku ruchu z EOG i Wielkiej Brytanii punkt końcowy UE jest właściwym domyślnym — utrzymuje ingesta, przetwarzanie i przechowywanie wewnątrz EOG i zmniejsza ekspozycję Schrems II, którą niosłoby każde wdrożenie odtwarzania sesji w regionie USA. Punkt końcowy jest skonfigurowany dla poszczególnych organizacji FullStory i nie może być zmieniony z mocą wsteczną, więc wybór regionu musi być dokonany przed skalowaniem i udokumentowany w polityce prywatności, aby łańcuch podstawy prawnej od zbierania do przechowywania był przejrzysty.

Walidacja integracji i ścieżki audytu

Krok walidacji jest tym, co sprawdzają regulatorzy i co wydawcy najczęściej pomijają w narzędziach do odtwarzania sesji. Poprawnie zintegrowane wdrożenie FullStory musi kolejno przejść cztery testy. Po pierwsze, czysta sesja przeglądarki z wyświetlonym banerem, ale bez dokonanego wyboru, musi wygenerować zero żądań do rs.fullstory.com poza pobraniem pliku SDK i zero plików cookie fs_ w document.cookie. Po drugie, odmowa zgody na odtwarzanie sesji musi utrzymać ten stan — brak przechwytywania, brak identyfikatora, brak nagrania. Po trzecie, akceptacja zgody na odtwarzanie sesji musi wygenerować oczekiwany plik cookie fs_uid, jedno zdarzenie FS.consent(true) i strumień DOM płynący do skonfigurowanego punktu końcowego regionu, z potwierdzeniem, że maskowane pola przechwytują tylko symbol zastępczy maski. Po czwarte, cofnięcie zgody musi natychmiast zatrzymać dalsze przechwytywanie, wygasić pliki cookie fs_ i uruchomić żądanie usunięcia przez punkt końcowy prywatności FullStory dotyczące wcześniejszych nagrań użytkownika.

Oczekiwania dotyczące ścieżki audytu to miejsce, w którym narzędzia do odtwarzania sesji stają twarzą w twarz z najostrzejszą kontrolą. Wytyczne EDPB dotyczące banera z plikami cookie z 2023 roku i odnowione priorytety grupy zadaniowej na 2026 rok wyraźnie wskazują, że wydawca musi być w stanie udowodnić — dla dowolnego konkretnego nagrania sesji w projekcie FullStory — że użytkownik, który je wygenerował, udzielił ważnej zgody na odtwarzanie sesji w momencie przechwytywania. Standardowy wzorzec to ustawienie wersji zgody i znacznika czasu jako zmiennych użytkownika w identyfikatorze FullStory przez FS.setUserVars({ consent_version: 'v3', consent_ts: ts }), aby każde indywidualne nagranie można było prześledzić z powrotem do konkretnego wpisu w dzienniku zgody. Poprawnie bramkowane wdrożenie, sparowane z atrybutami maskowania, które domyślnie są prywatne, i ścieżką usuwania aktywowaną przy cofnięciu, to to, co przekształca pokrycie FullStory z ryzyka koncentracji regulacyjnej w obronną część cyfrowego doświadczenia wydawcy.

← Blog Czytaj wszystko →