PulsantPulsantDocs

Replay e heatmaps

Captura separada, mascaramento, franquia e reprodução isolada.

Configuração e autorização

Exige Pro ativo, captura habilitada nas configurações do site e autorização da finalidade comportamental no seu banner/CMP. O script principal carrega o recorder separado somente após essas condições. Analytics e persistência não autorizam replay automaticamente.

window.pulsant?.('consent', { analytics: true, persistent: false, behavior: true });
// Revogue comportamento preservando apenas as finalidades ainda autorizadas:
window.pulsant?.('consent', { analytics: true, persistent: false, behavior: false });

Mascaramento antes do envio

Campos e texto são mascarados no navegador. Senhas, regiões de pagamento, imagens, mídia, canvas e iframes são bloqueados. Marque regiões com data-pulsant-block; em páginas excluídas, adicione data-pulsant-no-replay ao elemento html antes da inicialização. Não coloque informações sensíveis em atributos, classes, estilos ou rotas. Revogação interrompe a captura e descarta o buffer não enviado; dados anteriormente autorizados seguem a retenção e o processo de exclusão aplicável.

Franquia e limites técnicos

A primeira parte aceita consome uma única sessão comportamental; chunks, cliques e scroll dessa mesma gravação não debitam novamente. A amostragem é configurável por site. Limites: 60 minutos, 25 MiB por gravação, 128 KiB por chunk e 2.000 chunks. Ao esgotar a franquia, novas gravações param; as já debitadas podem terminar dentro desses limites. Uma sessão revogada só reinicia com um novo identificador de sessão elegível.

Leitura dos mapas

Cliques e amostras de profundidade são agrupados apenas com a mesma representação de página, dispositivo, viewport e geometria. Profundidade representa amostras observadas, não percentual de pessoas. Se a reconstrução mudar a geometria, a interface suspende a sobreposição para evitar coordenadas incorretas. Conteúdo mascarado e recursos omitidos podem limitar a fidelidade visual.

Origem isolada de reprodução

Configure REPLAY_URL como uma origem HTTPS distinta de DASHBOARD_URL, servindo o mesmo app Next.js. Sugestão de produção: replay.pulsant.app; não presuma DNS configurado. Localmente, abra o dashboard em localhost:3002 e use REPLAY_URL=http://127.0.0.1:3002. O player aceita mensagens somente do dashboard configurado e por nonce; o documento capturado fica em um segundo iframe sem permissão para scripts. Sem essa configuração, a reprodução fica indisponível.

Retenção e validação

O worker apaga gravações com mais de 30 dias, incluindo objetos S3, quadros e pontos derivados. Falha no armazenamento mantém a referência durável para repetir a exclusão. As leituras já recusam dados fora dessa janela. Testes de contrato no navegador e PostgreSQL foram executados; o pipeline com PostgreSQL, Redis/BullMQ, ClickHouse e R2 reais passou com fixtures isoladas. A disponibilidade comercial ainda depende dos demais aceites do produto.

Permissões durante a gravação

Cada upload, inclusive reenvios, verifica plano e ciclo, suspensão, site ativo, pausa, replay habilitado e domínio autorizado. DNT: 1 ou Sec-GPC: 1 bloqueiam o envio quando o site está configurado para respeitar esses sinais. Uma pausa bloqueia novos uploads; para excluir dados já aceitos, envie a revogação. A amostragem é aplicada à reserva, sem sortear novamente cada chunk de uma gravação iniciada.

Revogar uma gravação

Quando a API confirma a revogação comportamental, novos uploads, armazenamento pendente, derivações e consultas da gravação ficam bloqueados. Ela deixa de contribuir para os mapas. O worker exclui os objetos privados e os quadros/pontos em lotes de até 100 chunks, com retry quando o armazenamento falha. Dados já entregues ao navegador não podem ser recolhidos. A lista mostra exclusão em fila ou conteúdo removido; um marcador mínimo permanece até a retenção para impedir reabertura da mesma sessão. A franquia já consumida não é devolvida nem debitada novamente pela exclusão.

Permissão para revogação e limites

O recorder usa sua permissão assinada e a origem correspondente para pedir revogação. O prazo de upload não impede esse pedido: uma permissão de captura expirada continua servindo apenas para revogar sua própria gravação, sem permitir novo upload ou consulta de conteúdo. A proteção contra origem/assinatura inválida continua obrigatória. O sinal só produz efeito no servidor após ser recebido; a integração de consentimento precisa enviar o pedido. Para apagar a identidade e as gravações vinculadas a um ID externo, use Configurações do site → Excluir dados de uma pessoa. Exclusão integral de site, workspace, conta e backups ainda não está concluída.

Ler versão em texto