Průvodce integrací souhlasu se soubory cookie pro digitální zkušenost a přehrávání relací FullStory: Příručka 2026
FullStory je dominantní platformou v kategorii analýzy digitálních zkušeností z jednoho důvodu: zachycuje vše ve výchozím nastavení. Zatímco tradiční analytické nástroje zaznamenávají diskrétní události, které vývojář instrumentoval, a platformy produktové analytiky zaznamenávají interakce plus automaticky zachycený doplněk, FullStory zachycuje plně vykreslený DOM, stopu kurzoru, načasování stisknutí kláves, chování při posouvání, zuřivá kliknutí, mrtvá kliknutí, síťové požadavky a chyby JavaScriptu — a skládá je do záznamů relací, kterými může analytik procházet snímek po snímku. Toto pokrytí je produktem. Je to také důvod, proč FullStory stojí na průsečíku nejpřísnějších pravidel souhlasu v každém moderním ochranném režimu. Pokyny EDPB pro přehrávání relací z roku 2023 a priority pracovní skupiny pro rok 2026 považují přehrávání relací za samostatnou, přísnější kategorii souhlasu. CNIL byl v tomto tématu nejveřejnějším regulátorem, ale není sám — Garante, ICO, španělská AEPD a nizozemská AP vydaly sladěné pozice. Nasazení FullStory nakonfigurované pro zachycení s upřednostněním souhlasu, se správným maskováním, správným gatingem a správnou auditní stopou, je jedním z nejmocnějších nástrojů, které vydavatel může provozovat; takové, které takto nakonfigurováno nebylo, je jedním z nejsnazších cílů, které regulátor najde.
Proč FullStory spadá do nejpřísnější kategorie souhlasu
Výchozí inicializace FullStory dělá vše, co dělá každý nástroj pro přehrávání relací, a ještě více. Nastavuje soubory cookie první strany v jmenném prostoru fs_uid a fs_lua obsahující trvalý identifikátor návštěvníka a časové razítko poslední aktivity, generuje identifikátor relace v rámci fs_session a začíná streamovat vykreslený DOM na rs.fullstory.com v milisekundách od načtení stránky. Proud zahrnuje každou vstupní událost, každý pohyb myši, každou pozici posouvání, každý přechod stránky a — když je povolen modul zachycení sítě — každou odpověď XHR a fetch, kterou stránka vydá, včetně těl odpovědí, pokud operátor nenakonfiguroval potlačení.
Každé z těchto zachycení aktivuje samostatnou bránu souhlasu. Zachování identifikátoru návštěvníka je operací ukládání a přístupu podle článku 5(3) směrnice ePrivacy vyžadující předchozí, svobodně udělený, konkrétní, informovaný a jednoznačný souhlas v celém EHP, Velké Británii a v každé jurisdikci, která přijala stejný standard. Nahrávání vykresleného DOM je zpracováním osobních údajů podle GDPR, protože vizuální záznam postačuje k identifikaci a odhalení podstatného obsahu o uživateli. Zachycení proudu stisknutí kláves je zvláštní citlivostí: vše, co uživatel napíše do pole formuláře, je zachyceno snímek po snímku, a pokud pole není maskováno, nahrávka obsahuje napsaný obsah. EDPB výslovně uvedl, že zachycení přehrávání relací je kategorií vyžadující výslovný, granulární souhlas odlišný od obecného souhlasu s analýzou — a že maskování je doplňkem souhlasu, nikoli jeho náhradou.
Co FullStory zapisuje před souhlasem — a co musí být potlačeno
Standardní rychlý start FullStory instaluje sledovací fragment přímo do <head> stránky. To funguje podle dokumentace a je to zdroj nejčastějšího selhání souladu: fragment se spouští před vykreslením banneru souborů cookie, soubory cookie fs_uid a fs_session jsou zapsány v milisekundách a proud přehrávání relací začne plynout na rs.fullstory.com bez ohledu na to, co se uživatel později rozhodne. Každý evropský regulátor, který se k tomuto vzoru vyjádřil, rozhodl stejně: soubory cookie nastavené před souhlasem jsou nezákonné, nahrávání zachycené před souhlasem je nezákonným zpracováním a vydavatel nese odpovědnost.
Vyhovující integrace musí proto zabránit inicializaci fragmentu FullStory, dokud nebude udělena příslušná kategorie souhlasu. Vzor, který funguje v produkci, je rozhraní API FS.consent() kombinované s odloženým nahráváním: fragment se načte s FullStory({ orgId: 'XXX', recordOnlyThisIFrame: false }) a okamžitě se zavolá FS.shutdown(), poté se FS.restart() a FS.consent(true) zavolají až poté, co CMP signalizuje, že kategorie přehrávání relací byla udělena. Alternativním vzorem je podmíněné vkládání skriptů — fragment FullStory se přidá do DOM až po udělení souhlasu — což je čistší, ale vyžaduje, aby operátor ztratil jakékoli propojení identit před souhlasem, které by FullStory jinak poskytl.
Soubory cookie a úložiště, které FullStory zapisuje
Fragment FullStory při inicializaci zapisuje následující identifikátory, které jsou všechny nezbytné a vyžadují souhlas: fs_uid s víceletou platností obsahující trvalý identifikátor návštěvníka, fs_lua s časovým razítkem poslední aktivity uživatele, fs_session s identifikátorem relace a markery stavu nahrávání, které FullStory používá interně. Odvolání souhlasu musí proto jak zneplatnit tyto soubory cookie, tak zavolat FS.consent(false) následované FS.shutdown() pro zastavení dalšího zachycení, a vydavatel musí odeslat žádost o vymazání prostřednictvím koncového bodu ochrany soukromí FullStory pro předchozí nahrávky uživatele.
Mapování FullStory na rámce souhlasu
FullStory nativně neimplementuje IAB TCF ani Globální platformu ochrany soukromí IAB — je to platforma digitálních zkušeností první strany, nikoli prodejce reklamních technologií. Nabízí nativní rozhraní API souhlasu a podporuje model maskování soukromého ve výchozím nastavení, který funguje bez ohledu na stav souhlasu. Vzor, který přežije přezkoumání regulátora, zachází s každým modulem FullStory jako se samostatnou bránou vázanou na konkrétní signál CMP.
- Přehrávání relací a plný proud DOM jsou vázány na vyhrazenou kategorii přehrávání relací nebo výzkumu, která je odlišná od obecné analýzy. Pokyny EDPB jsou v tomto bodě explicitní — souhlas s přehráváním musí být samostatný a granulární, nikoli sdružený s analýzou nebo marketingem.
- Zachycení sítě leží za přísnější dílčí bránou ve stejné kategorii, protože zachycuje těla odpovědí HTTP, která mohou obsahovat osobní údaje nesouvisející s viditelným rozhraním. Zachycení sítě by ve výchozím nastavení mělo být vypnuto a povoleno pouze pro konkrétní cesty aplikace, kde operátor potvrdil, že těla odpovědí neobsahují citlivá data.
- Propojení identit přes FS.identify() může fungovat s dočasným identifikátorem relace na základě oprávněného zájmu, když je uživatel anonymní, ale propojení identifikace s trvalým identifikátorem první strany napříč relacemi vyžaduje stejný souhlas jako přehrávání relací.
- Tepelné mapy a analýza konverzí odvozené z proudu přehrávání relací dědí bránu od nadřazeného proudu — nejsou to samostatné povrchy souhlasu, ale produkty po proudu ze stejných zachycených dat.
Vzor integrace, který funguje
Referenční nasazení má čtyři části: CMP, která zpřístupňuje událost změny souhlasu v reálném čase, odložené spuštění, které inicializuje FullStory s potlačeným zachycením přes FS.shutdown(), posluchač souhlasu, který volá FS.consent(true) a FS.restart() při otevření brány přehrávání relací, a konfigurace maskování soukromého ve výchozím nastavení, která tvrdě potlačuje každé vstupní pole, pokud není explicitně zapnuto.
Maskování soukromé ve výchozím nastavení
Vrstva maskování FullStory funguje nezávisle na souhlasu a měla by být agresivně nakonfigurována, i když byl souhlas udělen. Třída CSS fs-mask na libovolném prvku potlačuje obsah tohoto prvku z nahrávání; třída CSS fs-exclude zcela vylučuje prvek z proudu DOM; třída fs-block blokuje jak obsah, tak strukturu. Podle pravidel zvláštních kategorií GDPR a definice citlivých osobních informací CCPA musí každé pole, které by mohlo zachytit zdravotní informace, finanční údaje, vládní identifikátory, biometrická data, přesnou geolokaci nebo obsah soukromé komunikace, používat atributy maskování bez ohledu na stav souhlasu uživatele. Doporučená pozice je použít fs-mask na úrovni formuláře, nikoli na úrovni pole — vývojář přidávající nové pole do existujícího formuláře si s mnohem menší pravděpodobností vzpomene na jeho individuální maskování, než kdyby pracoval v obalu maskování na úrovni formuláře, který ho zachytí automaticky.
Výběr regionu a umístění dat
FullStory provozuje oddělené příjmové koncové body v USA a EU. Pro provoz v EHP a Velké Británii je koncový bod EU správným výchozím nastavením — udržuje příjem, zpracování a ukládání v rámci EHP a snižuje vystavení Schrems II, které by neslo jakékoli nasazení přehrávání relací v regionu USA. Koncový bod je nakonfigurován pro každou organizaci FullStory a nelze jej retroaktivně měnit, takže výběr regionu musí být proveden před škálováním a zdokumentován v oznámení o ochraně soukromí, aby byl řetězec právního základu čistý od sběru až po ukládání.
Ověření integrace a auditní stopy
Krok ověření je to, co regulátoři kontrolují a co vydavatelé u nástrojů pro přehrávání relací nejčastěji přeskakují. Správně integrované nasazení FullStory musí postupně projít čtyřmi testy. Za prvé, čistá relace prohlížeče se zobrazeným bannerem, ale bez provedeného výběru, musí produkovat nulové požadavky na rs.fullstory.com mimo načtení souboru SDK a nulové soubory cookie fs_ v document.cookie. Za druhé, odmítnutí souhlasu s přehráváním relací musí udržovat tento stav — žádné zachycení, žádný identifikátor, žádné nahrávání. Za třetí, přijetí souhlasu s přehráváním relací musí produkovat očekávaný soubor cookie fs_uid, jedinou událost FS.consent(true) a proud DOM plynoucí na nakonfigurovaný regionální koncový bod, s maskovanými poli potvrzeně zachycujícími pouze zástupný symbol masky. Za čtvrté, odvolání souhlasu musí okamžitě zastavit další zachycení, zneplatnit soubory cookie fs_ a spustit žádost o vymazání prostřednictvím koncového bodu ochrany soukromí FullStory pro předchozí nahrávky uživatele.
Očekávání auditní stopy je místem, kde nástroje pro přehrávání relací čelí nejpřísnějšímu zkoumání. Pokyny EDPB pro banner souborů cookie z roku 2023 a obnovené priority pracovní skupiny pro rok 2026 výslovně uvádějí, že vydavatel musí být schopen prokázat, pro jakýkoli konkrétní záznam relace v projektu FullStory, že uživatel, který ho vygeneroval, dal platný souhlas s přehráváním relací v okamžiku zachycení. Standardním vzorem je nastavení verze souhlasu a časového razítka jako uživatelských proměnných v identifikátoru FullStory prostřednictvím FS.setUserVars({ consent_version: 'v3', consent_ts: ts }), aby byl každý jednotlivý záznam sledovatelný zpět k specifickému záznamu protokolu souhlasu. Správně gated nasazení, kombinované s atributy maskování, které jsou ve výchozím nastavení soukromé, a cestou vymazání, která se aktivuje při odvolání, je to, co mění pokrytí FullStory z rizika regulační koncentrace na obhajitelnou součást zásobníku digitálních zkušeností vydavatele.