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 relatou | Como vaza | Como se fecha |
|---|---|---|
| Endereço IP | registro de acesso da hospedagem, da CDN, do balanceador e da ferramenta de monitoramento de erros | portal numa hospedagem em que cada registro de acesso é desligado, e ferramenta de erro sem IP |
| Rede da empresa | o firewall e os computadores da empresa registram os sites acessados | orientar, na própria página, a relatar pelo celular pessoal fora da rede da empresa |
| Localização e aparelho | metadado gravado pela câmera na foto e no vídeo | limpar o metadado antes de gravar, sem guardar o original |
| Autor do documento | propriedades do PDF e do arquivo do Office | limpar autor e dados do documento |
| Nome do arquivo | o nome original traz data, hora ou nome de pessoa | renomear para anexo-1, anexo-2 |
| Visita à página | analytics e cookie de rastreamento de terceiros | pá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 navegador | prova de trabalho no navegador, com biblioteca hospedada pelo próprio sistema |
| a confirmação exige um endereço, e o aviso à empresa pode levar o texto | nenhum e-mail para quem relata, e aviso à empresa sem conteúdo | |
| Campos do formulário | setor, turno e data juntos apontam para poucas pessoas | sem campo de setor ou matrícula, com "onde" e "quando" opcionais |
| Horário de envio | o minuto do envio coincide com a escala de alguém | quem apura não precisa ver hora e minuto |
| Conversa de retorno | responder exige um contato | protocolo e senha gerados pelo sistema |
| Quem lê o caso | a pessoa denunciada está na equipe que recebe | acesso 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:
- Registro de acesso da distribuição, do balanceador e do armazenamento desligados.
- Registro de eventos de dados desligado no armazenamento dos anexos.
- Registro de requisições da API sem IP e sem cabeçalho de origem.
- Ferramenta de monitoramento de erros configurada da mesma forma.
- 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#
- Vercel, Runtime Logs (retenção por plano e filtro por IP e navegador): https://vercel.com/docs/logs/runtime
- Vercel, Log Drains Reference (campo
proxy.clientIp): https://vercel.com/docs/drains/reference/logs - AWS, CloudFront standard logging (registro de acesso opcional, campo
c-ip): https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/standard-logging.html - Apple, Personal Safety User Guide, metadado de localização em fotos e vídeos: https://support.apple.com/guide/personal-safety/manage-location-metadata-in-photos-ips0d7a5df82/web
- Microsoft, remover dados ocultos e informações pessoais de documentos: https://support.microsoft.com/en-us/office/remove-hidden-data-and-personal-information-by-inspecting-documents-presentations-or-workbooks-356b7b5d-77af-44fe-a07f-9aa4d085966f
- Microsoft, salvar ou converter para PDF (opção de propriedades do documento): https://support.microsoft.com/en-us/office/save-or-convert-to-pdf-or-xps-in-office-desktop-apps-d85416c5-7d77-4fd6-a216-6f4bf7c7c110
- Google, Ajuda do Analytics, anonimização de IP no GA4: https://support.google.com/analytics/answer/2763052
- Cloudflare, Turnstile Privacy Addendum: https://www.cloudflare.com/turnstile-privacy-policy/
- Diretiva (UE) 2019/1937, de proteção das pessoas que denunciam violações (artigos 6, 9 e 16), Jornal Oficial da UE L 305 de 26/11/2019: https://www.boe.es/doue/2019/305/L00017-00056.pdf
- Regulamento (UE) 2016/679 (RGPD), considerando 30: https://www.boe.es/doue/2016/119/L00001-00088.pdf
- Portaria MTE nº 1.419, de 27 de agosto de 2024, nova redação do capítulo 1.5 da NR-1: https://www.gov.br/trabalho-e-emprego/pt-br/assuntos/inspecao-do-trabalho/seguranca-e-saude-no-trabalho/sst-portarias/2024/portaria-mte-no-1-419-nr-01-gro-nova-redacao.pdf
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.

