Pular para o conteúdo
Inventário da versão 1.8.0

Segurança

Cada endereço com que o CaptureHub para Windows conversa, o que vai e o que volta em cada um, e o que nunca sai da máquina. Organizado por endereço de destino, que é o que um firewall ou um proxy enxerga.

O que sai da máquina, endereço por endereço

O levantamento foi feito no código da versão 1.8.0 do aplicativo. Nele, só três componentes abrem conexão com a internet: o cliente da licença, o do carimbo de tempo e o atualizador. Eles falam com os quatro endereços abaixo, todos por HTTPS. O navegador de teste, quando você o liga, é um quinto caso, descrito no fim desta seção. Como em qualquer acesso à internet, o destino recebe o endereço de rede da máquina.

Atrás de um proxy de empresa, os três usam o proxy configurado no Windows. Se ele pedir login (NTLM ou Kerberos), respondem com a identidade de quem está usando o Windows, como o navegador faz, e essa credencial vai só para o proxy, nunca para os endereços abaixo.

Sem conta vinculada e com o aviso de novas versões desligado, nenhum dos três é acionado sem um clique seu. Gravar, capturar, registrar passos e gerar apresentação e relatório não dependem de rede.

capturehub.com.br

A nuvem do CaptureHub: conta, licença, marca da empresa e carimbo de tempo. As seis rotas que o aplicativo chama:

POST /api/v1/licenca/vinculos

  • Quando: ao entrar com a conta no aplicativo.
  • Vai: o identificador da máquina e o nome dela. O identificador é um SHA-256, em hexadecimal, do MachineGuid do Windows precedido de um prefixo do CaptureHub; se o Windows não entregar o MachineGuid, o resumo é feito sobre o nome do computador. Feito sobre o MachineGuid, o resumo não devolve o valor de origem. Feito sobre o nome, que vai neste mesmo pedido, quem tem o nome consegue recalcular o identificador. Nos dois casos ele é estável e reconhece a mesma máquina: é um pseudônimo, e a nuvem o trata como dado pessoal. O nome é o do computador no Windows, para você reconhecer a máquina na lista da conta.
  • Volta: um código curto para você conferir, um código longo que só o aplicativo guarda, o endereço da página de aprovação, o prazo do pedido, de 15 minutos, e o intervalo de consulta, de 5 segundos.

Em seguida o aplicativo abre a página de aprovação no seu navegador padrão, e você aprova no site, com o seu login. A sua senha nunca passa pelo aplicativo.

POST /api/v1/licenca/token

  • Quando: a cada 5 segundos enquanto o pedido espera aprovação, por no máximo 180 consultas.
  • Vai: o código longo do pedido.
  • Volta: a resposta de que ainda está aguardando, a recusa, ou a licença. A licença é um token assinado pela nuvem, com o identificador da conta (e não o e-mail), o nome do plano, a lista de recursos liberados, o identificador da máquina, a data de emissão, a de validade, de até 30 dias, e, durante um período de teste, a data em que ele acaba. Na máquina, o token fica cifrado pela proteção de dados do Windows, para o usuário do Windows que entrou.

POST /api/v1/licenca/renovacao

  • Quando: na abertura do aplicativo e a cada 24 horas, só com conta vinculada, e quando você clica em «Conferir agora», na seção Conta das configurações.
  • Vai: o token atual.
  • Volta: um token novo, com o plano de agora, ou a recusa. Recusa não bloqueia nada: o token atual vale até vencer, e o que vence volta ao plano gratuito, que continua gravando.

POST /api/v1/licenca/marca

  • Quando: junto da renovação, na abertura e a cada 24 horas, só com conta vinculada.
  • Vai: o token atual.
  • Volta: a marca que o titular da assinatura cadastrou no site para o material da empresa: nome, cores e o logo, com a imagem inteira. O logo só desce da nuvem para a máquina. Quem o envia é o titular, pela página da equipe no site; o aplicativo não tem caminho para mandá-lo.

POST /api/v1/evidencia/carimbo

  • Quando: ao gerar o relatório HTML, e só quando o plano libera o carimbo de tempo.
  • Vai: o token atual e a raiz da cadeia de prova do relatório: 64 caracteres hexadecimais, o SHA-256 que dobra os resumos das capturas e do vídeo. Nenhuma imagem, nome de arquivo, endereço ou passo.
  • Volta: a raiz assinada pela nuvem, com o instante do servidor, que o relatório confere sem rede. A nuvem assina e devolve: a raiz não é gravada no banco.

GET /api/v1/evidencia/chaves

  • Quando: logo depois de um carimbo emitido.
  • Vai: só a requisição, sem token.
  • Volta: as chaves públicas que conferem o carimbo, que vão dentro do relatório para a conferência funcionar sem rede.

api.github.com

GET /repos/ZaqueuLopesDaSilvaAraujo/capturehub-downloads/releases/latest

  • Quando: 15 segundos depois de o aplicativo abrir, se a opção «Avisar sobre novas versões», em Configurações (seção Aplicativo) ou no menu do ícone da bandeja, estiver ligada. Ela vem ligada, e desligá-la desliga esta consulta. A mesma consulta acontece quando você clica em «Procurar atualização», nas configurações.
  • Vai: só a requisição, com o cabeçalho User-Agent CaptureHub/ seguido da versão instalada. Nenhum dado da máquina, da conta ou da evidência.
  • Volta: os dados públicos da última versão publicada.

github.com e release-assets.githubusercontent.com

  • Quando: só quando você manda atualizar.
  • Vai: o pedido do instalador da versão nova e do arquivo .sha256 dele. O github.com responde com um redirecionamento para o release-assets.githubusercontent.com, de onde o arquivo vem, conferido em 25/09/2026.
  • Antes de executar: o aplicativo compara o SHA-256 do instalador baixado com o publicado, e recusa o que não bate. Os dois vêm da mesma versão publicada, então a conferência pega arquivo corrompido no caminho, e não quem controlasse a publicação.

O instalador ainda não é assinado digitalmente. O SHA-256 de cada arquivo está publicado junto da versão, para ser conferido antes de instalar.

No seu navegador padrão

O aplicativo abre três páginas no navegador que o Windows usa por padrão, e esse tráfego é do navegador: a de aprovação do vínculo e a de preços, no capturehub.com.br, e, quando uma atualização não conclui, a página da versão no github.com, para baixar o pacote em ZIP. A de preços leva no endereço utm_source=aplicativo, que diz ao site de onde a visita veio, e só isso: nem o botão clicado, nem o recurso tentado.

O relatório HTML leva no rodapé um link para o capturehub.com.br, com utm_source=relatorio. É o único endereço de fora do arquivo, e é link, e não recurso: nada carrega dele, e o relatório abre e confere a evidência sem rede. O tráfego só existe se alguém clicar, e é do navegador de quem clicou.

O navegador de teste

Só existe com a opção de navegador de teste ligada no preparo da gravação, e ela vem desligada. Ligada, o CaptureHub abre o Chrome ou o Edge já instalados na máquina, o primeiro que encontrar nessa ordem, num perfil novo, criado na pasta temporária do seu usuário no Windows (%TEMP%). O CaptureHub tenta apagar esse perfil ao fim da sessão; se o navegador ainda estiver segurando algum arquivo, ou se o aplicativo for fechado à força, a pasta fica lá. Os argumentos de abertura são estes, e só estes:

  • --remote-debugging-port=0, a porta de depuração escolhida pelo próprio navegador;
  • --user-data-dir, apontando para o perfil novo;
  • --start-maximized, --no-first-run, --no-default-browser-check e --new-window;
  • a página de partida que você informar, ou about:blank.

A conversa do CaptureHub com esse navegador é local, pela porta de depuração em 127.0.0.1, e não sai da máquina. Nenhum desses argumentos desliga o que o navegador faz por conta própria na rede. O tráfego de fundo do Chrome ou do Edge para os servidores do fabricante é o de um perfil novo daquele navegador, e quem o governa é o navegador, e não o CaptureHub. As páginas que você abre nele para testar são tráfego seu, como em qualquer navegador.

O que nunca sai

Por decisão de arquitetura, e não por falta de implementação, nada disto trafega, em nenhum plano e nem com o seu consentimento:

  • vídeo, captura de tela, imagem de passo, apresentação ou relatório: nem em parte, nem em miniatura, nem em resumo criptográfico, com a exceção abaixo;
  • título de janela, nome de elemento de tela, texto digitado, endereço de página, caminho de arquivo, nome de projeto ou de chamado;
  • telemetria de uso: quais recursos você aciona, quantas gravações faz, quanto tempo usa.

A exceção é uma só: a raiz da cadeia de prova, quando você gera o relatório com o carimbo de tempo. Ela é um resumo criptográfico que dobra os resumos das capturas e do vídeo, e por isso cai na letra do "nem em resumo". Um resumo não devolve o conteúdo, e é só ele que sai: 64 caracteres, sem imagem, nome ou passo.

O que o site carrega

Esta seção é sobre o site capturehub.com.br, e não sobre o aplicativo. O site usa a tag do Google Ads e o Google Tag Manager, pelo qual vem o pixel da Taboola, todos com o consentimento negado até alguém aceitar no aviso de cookies. O Tag Manager, e com ele a Taboola, não carrega nestas páginas:

  • confirmação de conta, convite, troca de senha, vínculo do aplicativo e a volta da entrada pelo Google, que levam um código no endereço;
  • a página de preços, a de assinar, as páginas da equipe e da marca da empresa, a página Minha conta e o perfil.

Nelas, o que vem de fora é só a tag do Google Ads.

Quem escolhe entrar pelo Google vai à página de login do próprio Google e volta com um código de uso único, que o site troca pelos dados da conta: nome, e-mail, se o e-mail foi confirmado e o identificador da conta do Google. A senha do Google não passa pelo site, e o aplicativo continua sem saber como a pessoa entrou.

Desde 28 de setembro de 2026 o site também exibe anúncios do Google AdSense, em algumas páginas de conteúdo, e o script deles só é carregado depois do aceite no aviso de cookies. Esta página não tem anúncio, e as de conta, de compra, de entrar e as que levam um código no endereço também não. Cookies, finalidade, consentimento e a lista das páginas com anúncio estão na política de privacidade, que é o documento que vale. As origens de fora que o navegador aceita estão no cabeçalho Content-Security-Policy de cada resposta do site.

Como reportar uma vulnerabilidade

Achou uma falha no aplicativo, no site ou na API? Escreva para suporte@capturehub.com.br, em português ou em inglês, com o que encontrou e como reproduzir. Não precisa ter conta.

O mesmo contato está no security.txt deste site, no formato da RFC 9116, que é onde as ferramentas de segurança procuram.

Resposta a incidente

Se um incidente de segurança puder acarretar risco ou dano relevante a quem usa o CaptureHub, comunicamos a Autoridade Nacional de Proteção de Dados (ANPD) e as pessoas afetadas em até três dias úteis, contados de quando soubermos que ele afetou dados pessoais. É o prazo dos arts. 6º e 9º do Regulamento de Comunicação de Incidente de Segurança, aprovado pela Resolução CD/ANPD nº 15, de 24 de abril de 2024. A você, a comunicação chega de forma direta, no e-mail da conta.

O que a conta guarda, onde fica hospedado e por quanto tempo está na política de privacidade.