A session-replay script é uma programação que permite que as teclas, cliques, movimentos do mouse e comportamento de rolagem dos usuários de um site sejam gravados juntamente com o conteúdo completo da página que eles estão visitando. Session replay é uma ferramenta popular para ajudar as empresas a determinar como seus sites estão sendo usados e para identificar potenciais problemas, tais como links quebrados, problemas de design de página ou razões pelas quais os usuários deixam um site.
Com a repetição da sessão, um provedor de serviços analíticos de terceiros fornece ao editor do site HTML para inserir no código-fonte de cada página web. Em contraste com os scripts que simplesmente agregam estatísticas para coisas como usuários únicos ou tempo no site, scripts de repetição da sessão registram sessões de navegação individuais e enviam os dados de volta para os servidores do provedor de serviços. As gravações podem então ser vistas sob demanda pelo editor. O uso de scripts de resposta de sessão é controverso devido ao potencial de violações de privacidade.
Um estudo da Princeton University descobriu que mais de 400 sites altamente traficados continham scripts de resposta de sessão. O estudo também revelou que os pedidos de opt-in do usuário não existiam e os dados nem sempre eram tratados com segurança. Os pesquisadores descobriram que embora os provedores de serviços pretendessem automaticamente redigir informações sensíveis, tais como senhas e informações de cartão de crédito, o processo tem falhas.
Por vezes mais informações são coletadas do que o esperado porque o script não consegue distinguir entre informações que são úteis para melhorar a interface do usuário (IU) do site e informações que precisam permanecer privadas por lei. Por exemplo, informações relacionadas à saúde digitadas em um formulário da web podem ser gravadas pelo script e enviadas ao provedor de serviços acidentalmente se o visitante do site decidir não enviar o formulário. Neste caso, se o visitante tivesse realmente submetido o formulário, os dados teriam sido redactados. Como o formulário foi preenchido mas não submetido, contudo, permaneceu como parte da gravação.
Para evitar vazamento acidental de dados privados, os editores do site precisam identificar todas as páginas que exibem ou aceitam informações do usuário e manualmente esfregar informações sensíveis quando estas são coletadas inadvertidamente. Este processo, que envolve inspecionar o código do lado do servidor subjacente, pode ser demorado e deve ser repetido sempre que o site é atualizado ou um aplicativo da web que alimenta o site é alterado.
Para evitar que uma sessão do navegador seja gravada, os usuários finais podem ajustar as configurações do navegador para evitar que todos os scripts sejam executados, mas esta abordagem também pode limitar a funcionalidade de alguns sites. Outra opção é usar uma extensão browser como NoScript, uBlock Origin ou uMatrix e apenas permitir que os scripts sejam executados em sites que foram listados na lista branca pelo usuário.