Pular para o conteúdo
Concedo
Comece grátis
Menu

Segurança e privacidade dos dados no Concedo

Publicado em 24 de agosto de 2026 · atualizado em 2 de setembro de 2026

Versão 1.1, vigente desde 2 de setembro de 2026.

Uma ferramenta que existe para proteger dados de visitante não pode ser, ela própria, um banco de dados de visitantes. As seções abaixo descrevem o que o código faz e como cada mecanismo é verificado.

O art. 6º, III da LGPD exige que o tratamento se limite ao mínimo necessário para a finalidade. A nossa finalidade, como operador, é uma só: produzir prova de que um consentimento existiu. Tudo o que não sustenta essa prova fica de fora do registro, e foi esse critério, campo a campo, que definiu o que o registro guarda.

O IP bruto nunca é gravado

O endereço IP chega na requisição de consentimento porque é assim que a internet funciona. Ele morre ali. Nenhuma tabela do banco tem coluna de IP, nenhum log de aplicação escreve IP, nenhum campo JSON o carrega.

O que fica gravado é um identificador derivado:

salt_do_dia   = sha256(semente_secreta + ":" + AAAA-MM-DD)
visitor_hash  = sha256(ip + "|" + user_agent + "|" + salt_do_dia)

O IP e o user agent existem apenas em memória, durante o processamento da requisição, e saem dela como um hash de mão única.

Por que sal diário e não sal fixo

Com sal fixo, quem tivesse a semente e uma lista de IPs poderia recalcular os hashes e reidentificar visitantes de qualquer época do banco. O hash daria uma falsa sensação de anonimato: o dado continuaria reversível por força bruta sobre um espaço pequeno, já que há poucos bilhões de IPv4 e um atacante com a semente testaria todos.

Com sal diário, essa reversão alcança no máximo o dia corrente. Dentro do dia ainda dá para deduplicar o mesmo visitante, que é o necessário para provar consentimento, e, passadas 24 horas, a correlação se perde por construção.

A distinção tem efeito jurídico: isso é minimização forte e pseudonimização, e não anonimização no sentido do art. 12. Quem diz que "hash é dado anonimizado" está simplificando de um jeito que não sobrevive a uma fiscalização. A diferença está explicada em anonimização.

O que o registro de consentimento guarda, campo a campo

CampoPor que existe
Data e horaProva quando o consentimento foi dado
visitor_hashLiga as ações do mesmo visitante no mesmo dia sem identificá-lo
Categorias (necessários, estatísticas, marketing, personalização)O conteúdo exato da escolha
AçãoDistingue "aceitou tudo" de escolha por categoria e de retirada
Versão da políticaConsentimento vale para a versão apresentada; mudou o texto, o banner volta
User agentEvidência de ambiente em caso de contestação
URL de origemEm qual página do site a escolha foi feita
IdiomaProva em qual idioma o texto foi apresentado

Não há nome, não há e-mail, não há IP e não há identificador publicitário.

Retenção por plano

PlanoRetenção do registro de consentimento
Free90 dias, com expurgo automático
Planos pagosHistórico integral, sem corte

O histórico integral nos planos pagos é decisão de produto, e ela tem um motivo prático: prova de consentimento com prazo curto deixa de ser prova exatamente no momento em que é cobrada. Alguns fornecedores cortam em 12 meses.

O banner não entrega o seu visitante a ninguém

  • Nenhuma requisição a CDN de terceiro. O banner não carrega fonte, ícone nem folha de estilo de fora. Uma única requisição dessas entregaria o IP do visitante a outra empresa antes de qualquer consentimento.
  • Nenhuma dependência de runtime. O snippet é TypeScript compilado para um arquivo único, sem biblioteca de terceiro embarcada. Menos código de terceiro é menos superfície de ataque: nenhuma cadeia de dependências a auditar e nada que possa ser trocado por fora do nosso build.
  • Isolamento visual. A interface do banner é montada em shadow DOM, para não vazar nem herdar CSS da página do cliente.
  • Fail-open deliberado. Se a configuração não carregar, o site do cliente continua funcionando e um aviso vai para o console. O estado negado do Consent Mode continua sendo emitido.

Este site também não rastreia

As páginas públicas do Concedo (landing, guias, glossário, scanner e as páginas legais) não criam cookie, não chamam domínio de terceiro e não carregam webfont. A tipografia é a pilha do sistema operacional.

Um teste automatizado registra toda requisição de rede feita pelas páginas e falha se aparecer qualquer domínio que não seja o do próprio site. A lista completa de cookies está na política de cookies.

Segurança da sua conta

MedidaComo está implementado
SenhaHash argon2id. A senha em texto não é armazenada nem registrada em log.
SessãoCookie HttpOnly, SameSite=Lax e Secure em produção. No banco fica apenas o SHA-256 do token, e vazamento da tabela não permite assumir a sessão.
Força bruta no loginLimite de tentativas por e-mail e por endereço de origem, em janela de tempo. A chave por origem é o hash do IP: nem em memória o IP fica em claro.
Isolamento entre clientesToda consulta é filtrada por organização, com teste automatizado de isolamento na suíte: a regressão que vaza dado de um cliente para outro falha o build.
Ingest de consentimentoValidação de esquema em toda requisição, limite de taxa por site e por visitante, e Origin conferida contra o domínio cadastrado do site.
SegredosExclusivamente em variável de ambiente. Nenhuma credencial no código.

Trocar a semente do sal é irreversível para a correlação passada. É por isso que ela é tratada como segredo de rotação documentada, e não como configuração comum.

Nossa exposição a terceiros

Quanto menos fornecedor, menos gente com acesso potencial aos seus dados. O único fornecedor que armazena dado de visitante do seu site é o provedor de infraestrutura e banco de dados; nenhum outro recebe. As categorias de operador estão na política de privacidade, e a lista nominal fica disponível a pedido em privacidade@concedo.com.br.

Como cada mecanismo é verificado

Cada mecanismo descrito nesta página tem teste automatizado que reprova quando o texto e o código divergem, e a revisão de segurança faz parte de toda mudança no serviço. Certificações formais, quando obtidas, são publicadas nesta página; enquanto não constarem aqui, não alegamos nenhuma.

Se algo der errado

Em caso de incidente de segurança com risco relevante aos titulares, comunicamos os afetados e a ANPD, conforme o art. 48 da LGPD, informando o que aconteceu, quais dados foram atingidos, o que já foi feito e o que o titular deve fazer.

Encontrou uma vulnerabilidade? Escreva para seguranca@concedo.com.br. Não movemos ação contra quem reporta de boa-fé, sem exfiltrar dado e sem degradar o serviço.

Documentos relacionados

Continue lendo