Pular para o conteúdo

Como garantir o anonimato de verdade num canal de denúncia

Pedro Cunha
Pedro Cunha
CTO da Epicora

Publicado em
atualizado em · 15 min de leitura

Em resumo

O anonimato de um canal de denúncia se perde em lugares que o formulário não mostra: o IP gravado pela hospedagem, a localização dentro da foto, o autor dentro do PDF, o analytics e o antirrobô de outra empresa, e a combinação de setor, turno e data numa equipe pequena. Cada um desses pontos tem uma solução técnica, que precisa estar no sistema desde o escopo. No canal de relato que estamos construindo para um cliente, o portal saiu da Vercel por causa do IP, todo anexo perde o metadado antes de ser gravado e o retorno a quem relatou acontece por protocolo e senha, sem e-mail.

O que quebra o anonimato num canal de denúncia#

O anonimato de um canal de denúncia se perde em lugares que o formulário não mostra. O endereço IP fica gravado no registro da hospedagem, a foto leva a localização, o PDF leva o nome do autor, o analytics avisa outra empresa da visita, e campos como setor, turno e data apontam para uma pessoa numa equipe pequena.

Desde a Portaria MTE nº 1.419/2024, a NR-1 inclui os fatores de risco psicossociais no gerenciamento de riscos ocupacionais, e foi por esse caminho que o canal de relato entrou na pauta de muitas empresas. O assunto aqui é o que, na construção do sistema, entrega quem relatou.

A primeira mão vem de um canal de relato anônimo que estamos construindo para um cliente, como sistema sob medida. Os fornecedores que aparecem na busca falam em não registrar IP e remover metadados, sem mostrar onde cada registro mora. A tabela abaixo é o mapa que usamos no escopo.

O que entrega quem relatouComo vazaComo se fecha
Endereço IPregistro de acesso da hospedagem, da CDN, do balanceador e da ferramenta de monitoramento de errosportal numa hospedagem em que cada registro de acesso é desligado, e ferramenta de erro sem IP
Rede da empresao firewall e os computadores da empresa registram os sites acessadosorientar, na própria página, a relatar pelo celular pessoal fora da rede da empresa
Localização e aparelhometadado gravado pela câmera na foto e no vídeolimpar o metadado antes de gravar, sem guardar o original
Autor do documentopropriedades do PDF e do arquivo do Officelimpar autor e dados do documento
Nome do arquivoo nome original traz data, hora ou nome de pessoarenomear para anexo-1, anexo-2
Visita à páginaanalytics e cookie de rastreamento de terceirospágina de relato sem analytics e só com cookie técnico
Verificação de robôserviço externo recebe o IP e a impressão do navegadorprova de trabalho no navegador, com biblioteca hospedada pelo próprio sistema
E-maila confirmação exige um endereço, e o aviso à empresa pode levar o textonenhum e-mail para quem relata, e aviso à empresa sem conteúdo
Campos do formuláriosetor, turno e data juntos apontam para poucas pessoassem campo de setor ou matrícula, com "onde" e "quando" opcionais
Horário de envioo minuto do envio coincide com a escala de alguémquem apura não precisa ver hora e minuto
Conversa de retornoresponder exige um contatoprotocolo e senha gerados pelo sistema
Quem lê o casoa pessoa denunciada está na equipe que recebeacesso só ao caso atribuído, e a empresa escolhe quem recebe acesso

Por que o IP fica gravado mesmo quando o sistema não grava#

Quem registra a visita, na maior parte das vezes, é a plataforma de hospedagem, e não o código do sistema. Hospedagem, CDN, balanceador e ferramenta de erro guardam cada requisição para depuração, e num canal anônimo cada um desses registros precisa ser encontrado, desligado e conferido antes de ir ao ar.

No canal que estamos construindo, esse foi o achado principal da revisão do escopo. O sistema do cliente roda na Vercel, que registra o IP de cada acesso: a documentação lista o IP do cliente (proxy.clientIp) entre os campos de cada requisição, e o filtro de registros "do seu navegador" funciona comparando IP e navegador. Os registros ficam guardados de uma hora a 30 dias, conforme o plano.

A decisão foi tirar da Vercel o portal do trabalhador e a parte da API que ele chama. Os dois ficam na AWS, em São Paulo, numa distribuição própria, com a API sob o mesmo endereço do portal e os anexos entregues só por essa distribuição, nunca por link direto do armazenamento. Na CloudFront, a distribuição da AWS, o registro de acesso é algo que se liga, e um dos campos que ele pode guardar é o IP de quem pediu (c-ip). A parte usada pela equipe da empresa, que entra com login, continua na Vercel.

A lista de conferência da entrega tem cinco itens:

  1. Registro de acesso da distribuição, do balanceador e do armazenamento desligados.
  2. Registro de eventos de dados desligado no armazenamento dos anexos.
  3. Registro de requisições da API sem IP e sem cabeçalho de origem.
  4. Ferramenta de monitoramento de erros configurada da mesma forma.
  5. Registro de tráfego de rede desligado nas sub-redes do portal.

O regulamento europeu de proteção de dados, no considerando 30, cita o endereço IP e os cookies entre os identificadores que, combinados com outros dados, permitem identificar uma pessoa. E há um registro que o canal não alcança: o firewall e os computadores da empresa podem registrar os sites acessados. Por isso a página do canal orienta, antes do formulário, a relatar pelo celular pessoal e fora da rede da empresa.

O que a foto, o vídeo e o PDF contam sobre quem enviou#

A foto e o vídeo podem levar as coordenadas de onde foram feitos e o modelo do aparelho. O PDF e os arquivos do Office podem levar o nome do autor, e o nome do arquivo pode trazer data e hora. Tudo isso chega a quem apura se o canal gravar o anexo do jeito que ele foi enviado.

Segundo o guia de segurança pessoal da Apple, quando a Câmera do iPhone tem acesso à localização, ela grava no metadado as coordenadas de onde a foto ou o vídeo foi feito, e quem recebe o arquivo pode ver essa informação. O suporte da Microsoft explica que as propriedades de um arquivo do Office incluem o autor, e que a exportação para PDF pode levar essas propriedades junto, pela opção "Propriedades do documento".

No canal que estamos construindo, todo anexo perde o metadado antes de ser guardado. A foto perde localização, aparelho e data. O vídeo perde localização e aparelho, sem recodificar a imagem. O PDF perde autor e dados do documento. O arquivo é limpo numa área de espera antes de ser gravado, o original não fica guardado e o anexo chega à empresa renomeado (anexo-1, anexo-2).

A limpeza não alcança o conteúdo. Uma voz no vídeo, um rosto num reflexo ou o jeito de escrever de alguém continuam lá. O portal avisa isso no momento em que a pessoa anexa um vídeo ou um PDF.

Cookie, analytics e antirrobô: quem mais fica sabendo da visita#

Cada script de outra empresa que a página de relato carrega recebe uma requisição do navegador de quem relata, com o IP e os dados do aparelho. A página de relato precisa carregar só o que vem do próprio sistema.

O analytics costuma estar no site inteiro, e ninguém lembra de tirá-lo da página do canal. O Google afirma que o Google Analytics 4 não registra nem guarda o IP. Mesmo assim, o navegador de quem relata falou com um servidor do Google, e a promessa do canal passa a depender da política de outra empresa.

O canal precisa de um antirrobô, porque formulário público recebe envio automático, e os serviços mais usados funcionam olhando para quem está do outro lado. O adendo de privacidade do Cloudflare Turnstile, por exemplo, diz que o serviço coleta o IP do cliente, a impressão digital da conexão segura e o cabeçalho do navegador.

No canal que estamos construindo, a verificação é uma prova de trabalho: o navegador resolve um cálculo pequeno antes do envio, com uma biblioteca aberta hospedada pelo próprio sistema, sem desafio visual e sem serviço externo. O cálculo leva um instante no celular de quem relata e torna caro mandar milhares de relatos automáticos. O portal não usa identificador de aparelho nem cookie de rastreamento, só dois cookies técnicos: o da sessão de acompanhamento, apagado ao sair, e o da verificação.

Sem IP, também não dá para bloquear por endereço, e um bloqueio por quantidade deixaria qualquer pessoa com o QR code derrubar o canal. Por isso o canal nunca recusa relato por volume: acima de 20 relatos por hora num canal, os relatos continuam chegando, a leitura automática dos excedentes espera e a nossa equipe recebe um alerta.

Como os campos do formulário e o horário identificam alguém#

Um formulário sem campo de nome ainda identifica quando pede setor, turno e data. Numa equipe pequena, a combinação dos três aponta para uma ou duas pessoas, e o horário de envio faz o mesmo quando coincide com a escala de alguém. Por isso o canal pede só o que ajuda a apurar e deixa o resto opcional.

Imagine um relato marcado como "expedição, turno da noite, ontem", numa unidade com seis pessoas nesse turno. O relato não tem nome, e quem apura já sabe por onde começar a desconfiar. A diretiva europeia de proteção de denunciantes trata disso no artigo 16: a identidade de quem denuncia não pode ser revelada, e a regra vale para qualquer informação da qual se possa deduzir essa identidade, direta ou indiretamente.

No canal que estamos construindo, o formulário não tem campo de nome, e-mail, telefone, matrícula nem setor. Os campos são o que aconteceu, onde aconteceu (texto livre e opcional) e quando aconteceu (só a data, também opcional), com o aviso de que a pessoa não deve se identificar no texto. O título que a leitura automática gera para a listagem não leva nome próprio.

O setor tem lugar quando a resposta só é lida em conjunto. No Sistema Cuidar, o diagnóstico de riscos psicossociais pergunta setor, função e turno, sem identificar a pessoa, e o resultado só aparece agregado. Foram 370 respostas coletadas com anonimato. Ali ninguém abre uma resposta individual, enquanto num canal de relato quem apura lê cada caso inteiro, e por isso o formulário do canal não pede setor.

O horário pede o mesmo cuidado. Um relato enviado às 3h da manhã, numa empresa em que só uma pessoa trabalha de madrugada, diz quem foi. Quem apura não precisa ver hora e minuto para conduzir o caso.

Como conversar com quem denunciou sem saber quem é#

A conversa acontece por protocolo e senha, que o sistema gera no envio e mostra uma vez só. Com eles, a pessoa volta à página do canal, vê a situação do caso, responde às perguntas de quem apura e lê o retorno final, sem informar e-mail, telefone ou nome.

Na Europa, o retorno tem prazo: a diretiva de proteção de denunciantes pede a confirmação do recebimento em até sete dias e uma resposta em até três meses (artigo 9). Num canal anônimo, isso só funciona se a resposta ficar guardada no próprio sistema, esperando a pessoa voltar.

No canal que estamos construindo, o protocolo tem 10 caracteres, sem os que se confundem, como 0 e O, e a senha tem 8 caracteres gerados pelo sistema. Não existe comprovante em arquivo, porque ele ficaria salvo num aparelho que outra pessoa pode usar, e protocolo perdido não se recupera: a pessoa abre um relato novo e cita o antigo. Cinco senhas erradas para o mesmo protocolo bloqueiam novas tentativas por 15 minutos. O bloqueio vale para o protocolo, já que o sistema não sabe de que endereço vieram as tentativas. Do outro lado, as mensagens da empresa aparecem assinadas como "Empresa", sem o nome de quem escreveu.

O e-mail fica fora desse caminho. Quem relata não recebe aviso, porque não informa contato. A equipe da empresa recebe um e-mail que só diz que há algo novo, sem trecho do relato, porque e-mail é encaminhado e guardado em servidores que o canal não controla. Esses avisos cabem num mapa de notificações feito antes do desenvolvimento.

Quem do lado da empresa vê o quê#

O anonimato também depende de quem lê, porque a pessoa denunciada pode estar na equipe que recebe os relatos. O canal precisa de perfis com acesso só ao caso atribuído, de exportações sem o texto do relato e de uma operadora do canal que não lê conteúdo.

No canal que estamos construindo, o administrador da empresa vê todos os casos e escolhe um responsável para cada um, e o operador vê só os casos atribuídos a ele. A empresa que fornece o canal vê apenas números agregados, e nenhum perfil dela abre caso, relato, anexo ou mensagem. O texto do relato e das mensagens é criptografado no banco, e a exportação da lista leva protocolo, título, categoria e datas, sem o conteúdo.

Uma parte dessa proteção depende do cliente. O impedimento automático por conflito de interesse, como num relato que envolve um administrador, ficou fora desta versão, e o caso é reatribuído à mão. Por isso o escopo põe entre as obrigações do cliente orientar cada empresa sobre quem recebe acesso.

O que não garante o anonimato#

Uma frase na política de privacidade não garante o anonimato, e um formulário sem campo de nome também não, porque os dois convivem com o IP no registro da hospedagem e com a localização dentro da foto. E o anonimato total, sem canal de volta, impede a empresa de perguntar e de responder.

Por isso, no canal que estamos construindo, o anonimato é regra do produto, e nenhuma empresa cliente consegue ativar um campo de nome: não existe relato identificado nesta versão. É o princípio de deixar fixo o que é regra e configurável só o que é valor, que explicamos em quando parametrizar uma regra de negócio.

Um canal que recebe o relato e não deixa voltar impede quem apura de pedir um detalhe que faltou, e quem relatou nunca sabe o que foi feito. O desenho que funciona é o do protocolo, em que a pessoa segue sem se identificar e volta quando quiser.

Também vale separar anonimato de sigilo. Num portal de vagas que estamos desenhando, a administração vê quem denunciou uma vaga, e a empresa denunciada é avisada só da consequência, nunca da denúncia. Isso é sigilo: alguém conhece o autor, e a regra impede a informação de chegar a quem não deve. A diretiva europeia deixa a cada país decidir se as empresas são obrigadas a aceitar denúncia anônima (artigo 6) e exige sigilo sobre a identidade em todos os casos (artigo 16). O canal precisa dizer a quem vai usá-lo qual dos dois oferece.

Perguntas frequentes#

O canal de denúncia pode guardar o IP de quem denuncia?#

Tecnicamente pode, e na maioria dos sites o IP fica guardado sem que ninguém tenha decidido isso, no registro da hospedagem, da CDN ou da ferramenta de erros. Se o canal promete anonimato, nenhum desses registros pode guardar o IP de quem usa a página de relato, e todos precisam ser conferidos antes de ir ao ar.

Dá para descobrir quem mandou uma foto anônima?#

Muitas vezes, sim. A foto tirada com a localização ligada leva as coordenadas de onde foi feita e o modelo do aparelho, e o nome do arquivo pode trazer data e hora. Por isso o canal limpa o metadado de foto, vídeo e PDF antes de gravar, renomeia o anexo e avisa que o próprio conteúdo, como um rosto ou uma voz, também identifica.

Usar o celular ou o wi-fi da empresa compromete o anonimato?#

Pode comprometer. A rede e os computadores da empresa podem registrar os sites acessados, e esse registro fica fora do alcance do canal. Por isso a página do canal que estamos construindo orienta, antes do formulário, a relatar pelo celular pessoal e fora da rede da empresa.

Um canal de denúncia terceirizado garante o anonimato?#

Depende de como o sistema foi construído, porque um fornecedor externo também roda numa hospedagem e recebe anexos. Antes de contratar, vale perguntar onde o portal está hospedado, quais registros de acesso estão desligados, se o metadado dos anexos é removido, qual antirrobô a página usa e como a pessoa recebe o retorno sem informar contato.

Fontes#

Próximo passo#

Se você vai colocar um canal de relato no ar, ou quer vender um para outras empresas, a conversa começa pela tabela do início deste texto, linha por linha, antes da primeira tela. É o tipo de projeto que fazemos em sistemas sob medida e, quando o canal é o produto que você vende, em produtos SaaS, com o mesmo cuidado com dado sensível do Sistema Cuidar.

Compartilhar
Pedro Cunha
Quem escreve
Pedro Cunha
CTO da Epicora

Pedro Cunha lidera a engenharia da Epicora, em Chapecó (SC). Escreve aqui sobre as decisões técnicas dos sistemas que a equipe coloca em produção — arquitetura, escopo, estimativa e IA aplicada.

Artigos de Pedro Cunha

Contato

Vamos conversar sobre o seu projeto

Conte o que você precisa resolver. Retornamos rápido, com gente que entende de tecnologia e de negócio.

Prefere falar direto?

Escolha o canal que preferir. Respondemos rápido, no horário comercial.

Da primeira conversa ao go-live: eficiência, segurança e inovação.