Guía de integración do consentimento de cookies para a experiencia dixital e a reprodución de sesión de FullStory: Manual 2026
FullStory é a plataforma dominante na categoría de análise de experiencia dixital por unha razón: captura todo de forma predeterminada. Mentres as ferramentas de análise tradicionais rexistran eventos discretos que o desenvolvedor instrumentou, e as plataformas de análise de produto rexistran interaccións máis un suplemento autocapturado, FullStory captura o DOM completamente renderizado, o rastro do cursor, o timing de pulsacións de teclas, o comportamento de desprazamento, os clics de rabia, os clics mortos, as solicitudes de rede e os erros de JavaScript — e úneos en gravacións de sesión que o analista pode percorrer fotograma a fotograma. Esa cobertura é o produto. Tamén é por iso que FullStory se sitúa na intersección das regras de consentimento máis rigorosas en cada réxime de privacidade moderno. A guía de reprodución de sesión do EDPB de 2023 e as prioridades do grupo de traballo de 2026 tratan a reprodución de sesión como unha categoría de consentimento distinta e máis estrita. A CNIL foi o regulador máis público sobre o tema, pero non é o único — o Garante, a ICO, a AEPD española e a AP neerlandesa emitiron posicións aliñadas. Un despregamento de FullStory configurado para captura con consentimento primeiro, co mascaramento correcto, o control de acceso correcto e o rastro de auditoría correcto, é unha das ferramentas máis potentes que un editor pode executar; un que non foi así configurado é un dos obxectivos máis doados que atopará un regulador.
Por que FullStory se sitúa na categoría de consentimento máis estrita
Unha inicialización de FullStory predeterminada fai o que fai cada ferramenta de reprodución de sesión e máis. Establece cookies de primeira parte baixo o espazo de nomes fs_uid e fs_lua que conteñen o identificador de visitante persistente e a marca de tempo de última actividade, xera un identificador de sesión baixo fs_session e comeza a transmitir o DOM renderizado a rs.fullstory.com en milisegundos desde a carga de páxina. O fluxo inclúe cada evento de entrada, cada movemento do rato, cada posición de desprazamento, cada transición de páxina e — cando o módulo de captura de rede está activado — cada resposta XHR e fetch que emite a páxina, con corpos de resposta incluídos a menos que o operador configurase supresión.
Cada unha destas capturas activa unha porta de consentimento separada. Persistir o identificador do visitante é unha operación de almacenamento e acceso baixo o Artigo 5(3) da Directiva ePrivacy que require consentimento previo, libremente dado, específico, informado e inequívoco en todo o EEE, o Reino Unido e calquera xurisdición que importase o mesmo estándar. Gravar o DOM renderizado é o tratamento de datos persoais baixo o GDPR porque o rexistro visual é suficiente para identificar e revelar contido substantivo sobre o usuario. Capturar o fluxo de pulsacións de teclas é unha sensibilidade particular: todo o que o usuario escribe nun campo de formulario capturase fotograma a fotograma, e se o campo non está enmascarado a gravación inclúe o contido escrito. O EDPB foi explícito en que a captura de reprodución de sesión é unha categoría que require consentimento explícito e granular distinto do consentimento xenérico de análise — e que o mascaramento é un complemento ao consentimento, non un substituto.
Que escribe FullStory antes do consentimento — e o que debe suprimirse
O inicio rápido estándar de FullStory instala o fragmento de seguimento directamente no <head> da páxina. Iso funciona como se documenta e é a fonte do fallo de cumprimento máis común: o fragmento execútase antes de que o banner de cookies sexa renderizado, as cookies fs_uid e fs_session escríbense en milisegundos, e o fluxo de reprodución de sesión comeza a fluír cara a rs.fullstory.com independentemente do que o usuario decida despois. Cada regulador europeo que se pronunciou sobre este patrón fallou da mesma maneira: as cookies establecidas antes do consentimento son ilegais, a gravación capturada antes do consentimento é un tratamento ilegal, e o editor leva a responsabilidade.
Unha integración conforme debe por tanto impedir que o fragmento de FullStory se inicialice ata que se conceda a categoría de consentimento relevante. O patrón que funciona en produción é a API FS.consent() combinada con gravación diferida: o fragmento cárgase con FullStory({ orgId: 'XXX', recordOnlyThisIFrame: false }) e chámase inmediatamente FS.shutdown(), logo chámase FS.restart() e FS.consent(true) só despois de que o CMP sinale que a categoría de reprodución de sesión foi concedida. O patrón alternativo é a inxección de scripts condicional — o fragmento de FullStory engádese ao DOM só despois de concederse o consentimento — que é máis limpo pero require que o operador perda calquera vinculación de identidade previa ao consentimento que FullStory doutro xeito proporcionaría.
As cookies e o almacenamento que escribe FullStory
O fragmento de FullStory escribe os seguintes identificadores na inicialización, todos os cales son non esenciais e requiren consentimento: fs_uid cunha caducidade de varios anos que contén o identificador de visitante persistente, fs_lua coa marca de tempo de última actividade do usuario, fs_session co identificador de sesión, e os marcadores de estado de gravación que FullStory usa internamente. Retirar o consentimento debe por tanto tanto caducar esas cookies como chamar a FS.consent(false) seguido de FS.shutdown() para deter a captura posterior, e o editor debe enviar unha solicitude de eliminación a través do punto de conexión de privacidade de FullStory para as gravacións anteriores do usuario.
Mapeado de FullStory en marcos de consentimento
FullStory non implementa nativamente IAB TCF nin a Plataforma de Privacidade Global de IAB — é unha plataforma de experiencia dixital de primeira parte, non un provedor de tecnoloxía publicitaria. Expón unha API de consentimento nativa e admite un modelo de mascaramento privado por defecto que opera independentemente do estado de consentimento. O patrón que supera a revisión dun regulador trata cada módulo de FullStory como unha porta separada vinculada a un sinal específico de CMP.
- A reprodución de sesión e o fluxo DOM completo vincúlanse a unha categoría dedicada de reprodución de sesión ou investigación que é distinta da análise xenérica. A guía do EDPB é explícita neste punto — o consentimento de reprodución debe ser separado e granular, non agrupado con análise ou márketing.
- A captura de rede sitúase detrás dunha subporta máis estrita dentro da mesma categoría porque captura corpos de resposta HTTP que poden conter datos persoais non relacionados coa interface visible. A captura de rede debe estar desactivada por defecto e activarse só para rutas de aplicación específicas onde o operador confirmase que os corpos de resposta non inclúen datos sensibles.
- A vinculación de identidade mediante FS.identify() pode funcionar cun identificador de sesión efémero baixo unha base de interese lexítimo cando o usuario é anónimo, pero vincular a identificación a un identificador persistente de primeira parte entre sesións require o mesmo consentimento que a reprodución de sesión.
- Os mapas de calor e a análise de conversión derivados do fluxo de reprodución de sesión herdan a porta do fluxo ascendente — non son superficies de consentimento separadas, son produtos descendentes dos mesmos datos capturados.
O patrón de integración que funciona
O despregamento de referencia ten catro partes: un CMP que expón un evento de cambio de consentimento en tempo real, un arranque diferido que inicializa FullStory coa captura suprimida mediante FS.shutdown(), un oínte de consentimento que chama a FS.consent(true) e FS.restart() cando se abre a porta de reprodución de sesión, e unha configuración de mascaramento privado por defecto que suprime duramente cada campo de entrada a menos que se active explicitamente.
Mascaramento privado por defecto
A capa de mascaramento de FullStory opera independentemente do consentimento e debe configurarse de forma agresiva mesmo cando se concedeu o consentimento. A clase CSS fs-mask en calquera elemento suprime o contido dese elemento da gravación; a clase CSS fs-exclude exclúe completamente o elemento do fluxo DOM; a clase fs-block bloquea tanto o contido como a estrutura. Baixo as regras de categorías especiais do GDPR e a definición de información persoal sensible da CCPA, calquera campo que puidese capturar información de saúde, detalles financeiros, identificadores gobernamentais, datos biométricos, xeolocalización precisa ou contido de comunicacións privadas debe usar os atributos de mascaramento independentemente do estado de consentimento do usuario. A postura recomendada é aplicar fs-mask a nivel de formulario en lugar do nivel de campo — un desenvolvedor que engade un novo campo a un formulario existente é moito menos probable que recorde mascaralo individualmente que se opera dentro dun envoltorio de mascaramento a nivel de formulario que o captura automaticamente.
Selección de rexión e residencia de datos
FullStory opera puntos de conexión de inxestión separados para EE. UU. e a UE. Para o tráfico do EEE e o Reino Unido, o punto de conexión da UE é o valor predeterminado correcto — mantén a inxestión, o procesamento e o almacenamento dentro do EEE e reduce a exposición de Schrems II que levaría calquera despregamento de reprodución de sesión na rexión dos EE. UU. O punto de conexión configúrase por organización de FullStory e non pode cambiarse retroactivamente, polo que a elección de rexión debe facerse antes de escalar e documentarse no aviso de privacidade para que a cadea de base xurídica sexa limpa desde a recollida ata o almacenamento.
Validación da integración e do rastro de auditoría
O paso de validación é o que verifican os reguladores e o que os editores con máis frecuencia omiten nas ferramentas de reprodución de sesión. Un despregamento de FullStory correctamente integrado debe pasar catro probas en secuencia. Primeiro, unha sesión de navegador limpa co banner mostrado pero sen ningunha elección feita debe producir cero solicitudes a rs.fullstory.com máis aló da descarga do ficheiro SDK e cero cookies fs_ en document.cookie. Segundo, rexeitar o consentimento de reprodución de sesión debe manter ese estado — sen captura, sen identificador, sen gravación. Terceiro, aceptar o consentimento de reprodución de sesión debe producir a cookie fs_uid esperada, un único evento FS.consent(true) e o fluxo DOM fluíndo ao punto de conexión de rexión configurado, con campos enmascarados confirmados para capturar só o marcador de posición da máscara. Cuarto, retirar o consentimento debe deter inmediatamente a captura posterior, caducar as cookies fs_ e activar unha solicitude de eliminación a través do punto de conexión de privacidade de FullStory para as gravacións anteriores do usuario.
A expectativa do rastro de auditoría é onde as ferramentas de reprodución de sesión fan fronte ao escrutinio máis estrito. As directrices do banner de cookies do EDPB de 2023 e as prioridades renovadas do grupo de traballo de 2026 son explícitas en que o editor debe poder demostrar, para calquera gravación de sesión específica no proxecto de FullStory, que o usuario que a xerou dera un consentimento válido de reprodución de sesión no momento da captura. O patrón estándar é establecer a versión de consentimento e a marca de tempo como variables de usuario no identificador de FullStory mediante FS.setUserVars({ consent_version: 'v3', consent_ts: ts }) para que calquera gravación individual sexa rastrexable ata unha entrada de rexistro de consentimento específica. Un despregamento correctamente controlado, combinado con atributos de mascaramento que por defecto son privados e unha ruta de eliminación que se activa ao retirar o consentimento, é o que converte a cobertura de FullStory dun risco de concentración regulatoria nunha parte defendible da pila de experiencia dixital dun editor.