Capacidade

Grava o que o usuário realmente fez — não instantâneos periódicos

Capturas de tela periódicas geram em geral quadros vazios. O ZeroLeak captura os momentos que importam — cada clique, navegação, envio de formulário, evento de tecla e operação de área de transferência — com o cursor do mouse marcado, antes e depois nas transições de página, e um buffer de teclado por palavra que se lê como texto, não como um despejo de teclas.

Conformidade, risco interno e investigação de incidentes precisam todos responder à mesma pergunta: o que o usuário realmente fez nesta sessão? Capturas de tela periódicas cronometradas dão a você, na maioria das vezes, um índice de quadros vazios e forçam o revisor humano a percorrer um estado vazio infinito para encontrar os momentos críticos. O ZeroLeak inverte isso. A sessão é gravada continuamente em vídeo, as capturas de tela são disparadas nos momentos em que ocorrem eventos importantes (cliques, navegações, envios de tecla, operações de área de transferência), a posição do mouse é desenhada em cada captura de tela para que se veja no que foi clicado, as navegações capturam tanto o antes quanto o depois do carregamento da nova página, e as entradas de teclado são acumuladas em buffer como palavras em vez de eventos de tecla individuais — de modo que a auditoria se lê como o texto que o usuário digitou, com marcas [BS] para correções, e não como uma linha do tempo sem emoção de cada keydown.

Disparado por evento
As capturas de tela são disparadas em ações do usuário, não por um temporizador — índices curtos, sinal alto
3 fluxos
Capturas de tela disparadas por evento, vídeo contínuo, registro de eventos estruturado — todos alinhados por carimbo de data e hora
Em buffer por palavra
As entradas de teclado são descarregadas como texto legível com marcas [BS], não como ruído tecla a tecla

Capturas de tela periódicas geram ruído; você precisa dos momentos que importam

A abordagem padrão de gravação de sessão é tirar uma captura de tela a cada poucos segundos. O resultado é um índice cheio de quadros semelhantes entre si — o usuário lendo a página, o usuário lendo a página, o usuário ainda lendo a página — com os eventos realmente importantes intercalados em algum lugar entre dois instantâneos que chegam tarde demais e mostram apenas o resultado.

A captura periódica também perde a resposta à pergunta mais importante de qualquer auditoria ou investigação: o que o usuário fez? Um instantâneo tirado 1,5 segundo após um clique não mostra no que foi clicado. Um instantâneo tirado 3 segundos após um envio de formulário não mostra o que foi digitado. A trilha de auditoria tem eventos sem contexto; as capturas de tela têm contexto sem eventos. Ligá-los é trabalho manual que escala mal com o número de sessões.

O ZeroLeak usa uma abordagem diferente. As capturas de tela são disparadas pelos próprios eventos, não por um temporizador. As navegações capturam duas capturas de tela — a página antes do clique e o depois do carregamento da nova página — de modo que causa e efeito são preservados como um par. Em cada captura é desenhada a posição do mouse, para que se veja no que foi clicado. As entradas de teclado são acumuladas em buffer em palavras legíveis. Por baixo, o vídeo é gravado continuamente, de modo que as lacunas entre os eventos capturados ainda podem ser reproduzidas se necessário.

Captura disparada por evento, vídeo contínuo, texto legível

Para cada sessão, três subsistemas de gravação funcionam em paralelo: capturas de tela disparadas por evento em momentos críticos, vídeo FFmpeg contínuo na taxa de quadros configurada, e registro de eventos estruturado com entrada de teclado em buffer por palavra e atividade completa de área de transferência. Cada um pode ser ativado e desativado por serviço protegido; por padrão, os três funcionam juntos, de modo que a reconstrução é sempre possível.

As capturas de tela são disparadas em eventos, não por um temporizador

As capturas são disparadas pelas ações reais do usuário — cliques, navegações de página, envios de tecla, envios de formulário, operações de área de transferência. Sem polling baseado em tempo que enche o disco com quadros vazios. Cada captura de tela registra um momento importante; o índice é curto e informativo, não longo e ruidoso.

O cursor do mouse é desenhado em cada captura de tela

Em cada captura de tela, a posição do mouse é marcada com um indicador visível — um ponto vermelho nas coordenadas exatas do clique ou do hover. Você vê no que o usuário clicou, não a página resultante do clique. Reconstrução de intenção em um único quadro, não um quebra-cabeça de vários quadros.

Par de antes e depois em cada navegação

Quando o usuário navega, duas capturas de tela são feitas — uma da página antes do clique, outra da página de destino após o conteúdo novo carregar totalmente. Causa e efeito são preservados como um par. O revisor vê 'o usuário clicou no link X, a página seguinte que carregou foi Y' como dois quadros adjacentes.

As entradas de teclado são acumuladas em buffer em palavras legíveis

Eventos de tecla individuais se acumulam em um buffer que é descarregado em espaço, enter, tab ou pausa curta. O resultado se lê como o texto que o usuário digitou, não como um despejo de eventos tecla a tecla. Os backspaces são preservados como marca [BS], para que as correções sejam visíveis. As teclas repetidas (mantidas pressionadas) são filtradas. As operações de área de transferência são registradas separadamente com seu conteúdo real.

O que o subsistema de gravação captura

Cada mecanismo de captura é configurável de forma independente por serviço protegido e funciona sem impacto de desempenho na sessão do usuário. Os três fluxos (capturas de tela, vídeo, registro de eventos) são alinhados por carimbo de data e hora, de modo que o revisor pode transitar entre eles sem dificuldade.

Disparadores de captura de tela por evento

As capturas de tela são disparadas em cliques do usuário, navegações (com par de antes e depois), envios de formulário, envios de tecla (Enter), operações de área de transferência (copiar, recortar, colar), capturas disparadas manualmente a partir do console do operador e em vários outros tipos de evento importantes. A lista completa de eventos é configurável por serviço protegido.

Espera por rede ociosa nas capturas de navegação

Na navegação, a captura de tela de destino é feita apenas após a nova página terminar de carregar — aguardando o esvaziamento da rede mais um curto atraso adicional de renderização. A captura de tela feita mostra a página exatamente como o usuário realmente a veria, não um estado intermediário carregado pela metade.

Vídeo FFmpeg contínuo na taxa de quadros configurada

Sob as capturas de tela disparadas por evento, a sessão é gravada continuamente em vídeo usando o x11grab do FFmpeg. A taxa de quadros é configurável (10 fps por padrão para arquivos compactos; taxas mais altas disponíveis para captura de alto detalhe). O vídeo é segmentado para streaming e replay seguros; os segmentos são marcados por carimbo de data e hora para alinhar-se com os fluxos de capturas de tela e de registro de eventos.

Registro de entrada de teclado em buffer por palavra

Os eventos de tecla se acumulam em um buffer que é descarregado nas fronteiras de palavra (espaço, enter, tab) ou após uma curta pausa ociosa. A string descarregada se lê como texto — 'olá mundo [BS][BS][BS][BS][BS]oi mundo' — preservando a intenção e as correções do usuário sem o ruído de cada evento keydown individual.

Atividade de área de transferência capturada com conteúdo

As operações de copiar, recortar e colar são registradas separadamente das entradas de teclado, incluindo o conteúdo real da área de transferência envolvido. Um revisor vê exatamente o que foi copiado e o que foi colado, não apenas que ocorreu um evento de área de transferência.

Numeração sequencial e busca

As capturas de tela são numeradas sequencialmente (0001, 0002, ...) e armazenadas com carimbo de data e hora e metadados de evento. O console do operador as lista junto com o evento que as disparou, de modo que o revisor pode pular diretamente para o momento de interesse — por exemplo, todas as capturas disparadas por área de transferência em uma sessão ou o par de navegação em torno de uma URL específica.

Registro de eventos — o que é gravado além dos cliques

Além das capturas de tela e do vídeo, um registro de eventos estruturado captura o histórico de interação do usuário com contexto completo. Cada evento tem um tipo, um carimbo de data e hora, uma referência de captura de tela associada (quando aplicável) e seu payload relevante. É isso que torna o registro não apenas visualmente percorrível, mas pesquisável e analiticamente útil.

01

Cliques do mouse com coordenadas e elemento de destino

Cada evento de clique registra as coordenadas x/y e o elemento DOM sob o cursor (tag, classe, ID, conteúdo de texto quando disponível). O revisor pode pesquisar por cliques em um botão ou link específico no registro da sessão, sem ter de percorrer as capturas de tela em busca de um.

02

Eventos de rolagem (throttled)

As mudanças de posição de rolagem são registradas com throttle para evitar spam de log. Resolução suficiente para reconstruir onde o usuário olhou em páginas longas, mas sem gerar milhares de eventos de rolagem desnecessários por minuto.

03

Eventos de navegação, incluindo mudanças de rota de SPA

Cada navegação — carregamentos de página completa, mudanças pushState de aplicação de página única, mudanças programáticas de localização — é registrada com URL de origem, URL de destino, gatilho (clique em link, manual, programático) e tempo de conclusão. As navegações SPA que o registro tradicional perde são capturadas pela camada de polling de URL do ZeroLeak.

04

Eventos de envio de formulário com referências de campo

Quando o usuário envia um formulário, o registro de eventos captura a URL de action do formulário, seu método e os nomes dos campos. Os valores reais dos campos são capturados pelo registro de entrada de teclado (para que o histórico de digitação seja preservado), não repetidos no evento de formulário.

05

Transições de ocioso e ativo

A sessão monitora a atividade do usuário na camada de entrada. As transições entre os estados ativo e ocioso são registradas com carimbos de data e hora, para que os revisores possam ver os períodos de atenção e a inatividade — útil para revisão de conformidade e perguntas de auditoria baseadas em tempo.

06

Metadados de nível de sessão no fim da sessão

No fim da sessão é gravado um metadado de resumo: duração total, distribuição ocioso-ativo, total de eventos de cada tipo, capturas de tela geradas, referências de arquivo de vídeo e motivo de encerramento (timeout, encerramento manual, erro). Se um webhook de coordenador estiver configurado, esse resumo também é disparado para ele.

Onde a gravação de sessão prova seu valor

Auditorias de conformidade e revisão regulatória

Reguladores que perguntam o que usuários específicos fizeram em sessões específicas — revisão HIPAA de acesso a registros de pacientes, conformidade de mesas de investimento financeiro, auditorias governamentais de processamento de dados. A captura disparada por evento gera por sessão uma trilha curta e informativa que os revisores podem percorrer rapidamente.

Investigação de ameaça interna

Quando se suspeita de um vazamento ou violação de política, o investigador precisa saber exatamente o que o usuário fez — não apenas quando. As capturas de tela sequenciais marcadas com o mouse, as entradas de teclado em buffer por palavra e o conteúdo completo da área de transferência tornam a sessão reproduzível em detalhe sem horas de visualização de vídeo.

Auditoria de acesso de prestadores e terceiros

Usuários externos que recebem permissão apenas de visualização ao seu ambiente. A gravação completa por sessão — junto com a marca d'água visível que identifica o usuário — fornece responsabilização por tudo o que veem e por cada ação que realizam durante a janela de acesso.

Análise de incidentes operacionais

Após um evento inesperado em um console SCADA ou operacional, a gravação mostra exatamente o que o operador viu nos momentos anteriores e em quais controles clicou. O par de antes e depois na navegação acelera muito o diagnóstico de erros em cadeia.

Perguntas frequentes

Quanto armazenamento uma sessão típica consome?
Como as capturas de tela disparadas por evento só são disparadas em momentos importantes, geram por sessão um índice pequeno — geralmente dezenas de capturas de tela por sessão ativa, não milhares. O fluxo de vídeo contínuo é configurável em taxa de quadros e resolução; com o padrão de 10 fps e a compressão por segmento, horas de vídeo de sessão permanecem em tamanhos de arquivo gerenciáveis. O registro de eventos é texto e adiciona pouca sobrecarga. O armazenamento total escala com as horas-usuário ativas, não com o número de sessões.
O usuário sabe que está sendo gravado?
Esta é uma decisão de política por serviço protegido. Alguns regimes de conformidade exigem uma notificação explícita ao usuário no início da sessão; outros fazem gravação silenciosa para cobertura de ameaça interna. Ambos os modos são suportados. A marca d'água visível (quando a marca d'água forense também está ativada) serve duas vezes como notificação de gravação para as instalações que combinam as duas.
O que acontece com a gravação se a sessão terminar abruptamente?
O encerramento gracioso captura o estado final e fecha de forma limpa o segmento de vídeo. Em um encerramento inesperado (falha de processo, kill de contêiner), a gravação baseada em segmentos do FFmpeg deixa para trás os segmentos recuperáveis — no máximo o segmento mais recente é perdido, não a sessão inteira. O registro de eventos e as capturas de tela anteriores sobrevivem a esse tipo de encerramento.
Como os revisores navegam por uma sessão gravada?
O console do operador lista os eventos da sessão em ordem cronológica com o tipo de evento, o carimbo de data e hora e (quando disponível) uma pequena pré-visualização da captura de tela associada. O revisor pode pular diretamente para qualquer evento — 'mostrar todas as operações de área de transferência', 'mostrar a navegação que afastou o usuário do painel', 'mostrar os envios de formulário' — sem percorrer o vídeo.
Como isto se combina com a marca d'água e o isolamento?
O isolamento de contexto de navegador dá a cada sessão seu próprio ambiente de navegador e impõe a fronteira de navegação. A marca d'água forense identifica o usuário em cada quadro. A gravação de sessão captura o que eles fizeram. Os três são camadas complementares — o isolamento define o escopo, a marca d'água determina quem está dentro dele, a gravação captura o que fizeram dentro dele.
A aplicação protegida consegue desativar a gravação ou interferir nela?
Não. O subsistema de gravação funciona fora do tempo de execução da aplicação protegida — não no DOM ou no JavaScript da aplicação, mas nas camadas de renderização e de entrada gerenciadas pelo ZeroLeak. A aplicação não tem uma API para bloquear as capturas de tela, suprimir as entradas de teclado da gravação ou pausar o vídeo. A gravação não é pedida à aplicação, é imposta pela política.

Veja a gravação disparada por evento em uma demonstração ao vivo

Vamos abrir uma sessão, clicar em alguns links, preencher alguns formulários, copiar algum conteúdo e mostrar o índice de capturas de tela resultante, o registro de teclado e os segmentos de vídeo — e como um revisor reconstrói a sessão a partir deles.