Кіраўніцтва па інтэграцыі згоды на cookie для FullStory Digital Experience і Session Replay: зборнік 2026 года

FullStory — дамінуючая платформа ў катэгорыі аналітыкі лічбавага вопыту па адной прычыне: яна захоплівае ўсё па змаўчанні. Там, дзе традыцыйныя аналітычныя інструменты запісваюць дыскрэтныя падзеі, якія інструментаваў распрацоўшчык, а платформы прадуктовай аналітыкі запісваюць узаемадзеянні плюс аўтазахопленае дапаўненне, FullStory захоплівае поўны адмаляваны DOM, след курсора, таймінг націскаў клавіш, паводзіны пракруткі, гнеўныя клікі, мёртвыя клікі, сеткавыя запыты і памылкі JavaScript — і сшывае іх у сесійныя запісы, праз якія аналітык можа пракручваць кадр за кадрам. Гэта пакрыццё — прадукт. Гэта таксама прычына, чаму FullStory сядзіць на перасячэнні самых строгіх правілаў згоды ў кожным сучасным рэжыме прыватнасці. Кіраўніцтва EDPB аб session-replay 2023 года і прыярытэты мэтавай групы 2026 года трактуюць session-replay як асобную, больш строгую катэгорыю згоды. CNIL быў самым публічным рэгулятарам па тэме, але не адзіным — Garante, ICO, іспанскі AEPD і галандскі AP усе выпусцілі выраўнаваныя пазіцыі. Разгортванне FullStory, наладжанае для захопу з прыярытэтам згоды, з карэктнай маскіроўкай, карэктным гейтынгам і карэктным аўдыт-следам, — адзін з больш магутных інструментаў, якія можа запусціць выдавец; тое, якое не было так наладжана, — адна з самых лёгкіх мэтаў, якія знойдзе рэгулятар.

Чаму FullStory сядзіць у самай строгай катэгорыі згоды

Ініцыялізацыя FullStory па змаўчанні робіць тое, што робіць кожны інструмент session-replay, плюс больш. Яна ўсталёўвае first-party cookie ў прасторы імёнаў fs_uid і fs_lua, якія змяшчаюць пастаянны ідэнтыфікатар наведвальніка і метку апошняй актыўнасці, генеруе ідэнтыфікатар сесіі пад fs_session і пачынае стрыміць адмаляваны DOM на rs.fullstory.com на працягу мілісекунд загрузкі старонкі. Стрым уключае кожную падзею ўводу, кожны рух мышы, кожную пазіцыю пракруткі, кожны пераход старонкі і — калі ўключаны модуль сеткавага захопу — кожны адказ XHR і fetch, які выдае старонка, з уключанымі целамі адказаў, калі аператар не наладзіў падаўленне. Стрым — гэта тое, што рэканструюецца ў піксель-у-піксель сесійны запіс, які бачыць аналітык FullStory у дашбордзе.

Кожны з гэтых захопаў задзейнічае асобны гейт згоды. Захаванне ідэнтыфікатара наведвальніка — гэта аперацыя захоўвання-і-доступу па артыкуле 5(3) Дырэктывы аб электроннай прыватнасці, якая патрабуе папярэдняй, свабодна дадзенай, канкрэтнай, інфармаванай і недвухсэнсоўнай згоды па ўсім EEA, Вялікабрытаніі і любой юрысдыкцыі, якая імпартавала той жа стандарт. Запіс адмаляванага DOM — гэта апрацоўка персанальных даных па GDPR, таму што візуальны запіс дастатковы, каб ідэнтыфікаваць і раскрыць істотны кантэнт аб карыстальніку. Захоп патоку націскаў клавіш — асаблівая адчувальнасць: усё, што карыстальнік друкуе ў полі формы, захопліваецца кадр за кадрам, і калі поле не замаскіравана, запіс уключае надрукаваны кантэнт. EDPB быў відавочны ў тым, што захоп session-replay — гэта катэгорыя, якая патрабуе відавочнай, гранулярнай згоды, асобнай ад агульнай аналітычнай згоды — і што маскіроўка — гэта дапаўненне да згоды, а не яе замена.

Што FullStory запісвае да згоды — і што павінна быць падаўлена

Стандартны quickstart FullStory усталёўвае сніпет адсочвання прама ў <head> старонкі. Гэта працуе як задакументавана і з'яўляецца крыніцай самага распаўсюджанага правалу адпаведнасці: сніпет працуе да таго, як банер cookie адмаляваўся, cookie fs_uid і fs_session запісваюцца на працягу мілісекунд, і стрым session-replay пачынае цячы на rs.fullstory.com незалежна ад таго, што карыстальнік вырашыць пазней. Кожны еўрапейскі рэгулятар, які вынес рашэнне па гэтым патэрне, вынес аднолькавае: cookie, усталяваныя да згоды, незаконныя, запіс, захоплены да згоды, — незаконная апрацоўка, і выдавец нясе адказнасць.

Таму адпаведная інтэграцыя павінна прадухіліць ініцыялізацыю сніпета FullStory да таго, як адпаведная катэгорыя згоды прадастаўлена. Патэрн, які працуе ў продакшэне, — гэта API FS.consent() у спалучэнні з адкладзеным запісам: сніпет загружаецца з FullStory({ orgId: 'XXX', recordOnlyThisIFrame: false }) і неадкладна выклікаецца FS.shutdown(), затым FS.restart() і FS.consent(true) выклікаюцца толькі пасля таго, як CMP сігналізуе, што катэгорыя session-replay прадастаўлена. Альтэрнатыўны патэрн — умоўная ін'екцыя скрыпта — сніпет FullStory дадаецца ў DOM толькі пасля прадастаўлення згоды — што чысцей, але патрабуе ад аператара страціць любое сшыванне ідэнтычнасці да згоды, якое FullStory мог бы інакш прадаставіць.

Cookie і сховішча, якія запісвае FullStory

Сніпет FullStory запісвае наступныя ідэнтыфікатары пры ініцыялізацыі, усе з якіх неасноўныя і патрабуюць згоды: fs_uid з шматгадовым тэрмінам сканчэння, які змяшчае пастаянны ідэнтыфікатар наведвальніка, fs_lua з меткай апошняй актыўнасці карыстальніка, fs_session з ідэнтыфікатарам сесіі і маркеры стану запісу, якія FullStory выкарыстоўвае ўнутрана. Адкліканне згоды павінна таму і завяршаць гэтыя cookie, і выклікаць FS.consent(false) з наступным FS.shutdown(), каб спыніць далейшы захоп, і выдавец павінен адправіць запыт на выдаленне праз прыватны эндпоінт FullStory для папярэдніх запісаў карыстальніка.

Адлюстраванне FullStory на схемы згоды

FullStory не рэалізуе натыўна IAB TCF або IAB Global Privacy Platform — гэта first-party платформа лічбавага вопыту, а не ad-tech-вендар. Яна раскрывае натыўны API згоды і падтрымлівае мадэль маскіроўкі private-by-default, якая працуе незалежна ад стану згоды. Патэрн, які перажывае агляд рэгулятара, трактуе кожны модуль FullStory як асобны гейт, прывязаны да канкрэтнага сігналу CMP.

Патэрн інтэграцыі, які працуе

Эталоннае разгортванне мае чатыры часткі: CMP, якая раскрывае падзею змены згоды ў рэальным часе, адкладзены бутстрап, які ініцыялізуе FullStory з падаўленым захопам праз FS.shutdown(), слухач згоды, які выклікае FS.consent(true) і FS.restart() калі гейт session-replay адкрываецца, і канфігурацыя маскіроўкі private-by-default, якая жорстка падаўляе кожнае поле ўводу, калі яно не было відавочна opt-in.

Маскіроўка private-by-default

Слой маскіроўкі FullStory працуе незалежна ад згоды і павінен быць наладжаны агрэсіўна, нават калі згода прадастаўлена. CSS-клас fs-mask на любым элеменце падаўляе кантэнт гэтага элемента з запісу; CSS-клас fs-exclude выключае элемент цалкам з DOM-стрыму; клас fs-block блакіруе і кантэнт, і структуру. Па правілах асаблівых катэгорый GDPR і вызначэнні адчувальнай персанальнай інфармацыі CCPA любое поле, якое магло б захапіць інфармацыю аб здароўі, фінансавую дэталь, дзяржаўныя ідэнтыфікатары, біяметрычныя даныя, дакладную геалакацыю або змесціва прыватных камунікацый, павінна выкарыстоўваць атрыбуты маскіроўкі незалежна ад стану згоды карыстальніка. Рэкамендуемая пазіцыя — прымяняць fs-mask на ўзроўні формы, а не поля — распрацоўшчык, які дадае новае поле ў існуючую форму, значна менш верагодна ўспомніць замаскіраваць яго індывідуальна, чым ён будзе працаваць унутры абгорткі маскіроўкі на ўзроўні формы, якая ловіць яго аўтаматычна.

Выбар рэгіёна і рэзідэнтнасць даных

FullStory аперыруе асобнымі US і EU эндпоінтамі прыёму. Для трафіку EEA і Вялікабрытаніі EU-эндпоінт — правільны па змаўчанні — ён трымае прыём, апрацоўку і захоўванне ўнутры EEA і зніжае экспазіцыю Schrems II, якую несла б любое разгортванне session-replay у US-рэгіёне. Эндпоінт наладжваецца на арганізацыю FullStory і не можа быць зменены рэтраактыўна, таму выбар рэгіёна павінен быць зроблены да маштабавання і задакументаваны ў паведамленні аб канфідэнцыйнасці, каб ланцуг законнай падставы быў чысты ад збору да захоўвання.

Валідацыя інтэграцыі і аўдыт-след

Крок валідацыі — гэта тое, што рэгулятары правяраюць і што выдаўцы часцей за ўсё прапускаюць на інструментах session-replay. Карэктна інтэграванае разгортванне FullStory павінна прайсці чатыры тэсты ў паслядоўнасці. Па-першае, чыстая сесія браўзера з паказаным банерам, але без зробленага выбару, павінна вырабляць нуль запытаў да rs.fullstory.com звыш загрузкі файла SDK і нуль cookie fs_ у document.cookie. Па-другое, адмова ад згоды на session-replay павінна захоўваць гэты стан — без захопу, без ідэнтыфікатара, без запісу. Па-трэцяе, прыняцце згоды на session-replay павінна вырабляць чаканы cookie fs_uid, адзіную падзею FS.consent(true) і DOM-стрым, які цячэ на наладжаны рэгіянальны эндпоінт, з замаскіраванымі палямі, пацверджанымі захопліваць толькі плэйсхолдэр маскі. Па-чацвёртае, адкліканне згоды павінна неадкладна спыніць далейшы захоп, завяршыць cookie fs_ і ініцыяваць запыт на выдаленне праз прыватны эндпоінт FullStory для папярэдніх запісаў карыстальніка.

Чаканне аўдыт-следу — гэта тое, дзе інструменты session-replay сутыкаюцца з самым строгім наглядам. Кіруючыя прынцыпы EDPB аб банерах cookie 2023 года і абноўленыя прыярытэты мэтавай групы 2026 года відавочныя ў тым, што выдавец павінен быць здольны даказаць для любога канкрэтнага сесійнага запісу ў праекце FullStory, што карыстальнік, які яго згенераваў, даў сапраўдную згоду на session-replay у момант захопу. Стандартны патэрн — усталяваць версію згоды і часовую метку як карыстальніцкія зменныя на ідэнтыфікатары FullStory праз FS.setUserVars({ consent_version: 'v3', consent_ts: ts }), каб любы асобны запіс быў прасочвальны назад да канкрэтнага запісу журнала згоды. Карэктна гейтаванае разгортванне, у пары з атрыбутамі маскіроўкі, па змаўчанні прыватнымі, і шляхам выдалення, які актывуецца пры адкліканні, — гэта тое, што ператварае пакрыццё FullStory з рызыкі рэгулятарнай канцэнтрацыі ў абараняльную частку стэку лічбавага вопыту выдаўца.

← Блог Чытаць усё →