Como documentar consentimento válido para campanhas promocionais: guia prático LGPD
Aprenda a registrar, armazenar e comprovar consentimento válido para e-mail marketing promocional segundo LGPD e Código de Autorregulamentação.
Você recebeu uma notificação de reclamação no provedor de e-mail: um destinatário alega nunca ter autorizado suas campanhas promocionais. Sua equipe abre o CRM e encontra apenas um campo “optin=true” sem data, IP, versão do termo ou prova de que a caixa não estava pré-marcada. Agora, como demonstrar à ANPD ou ao conselho de autorregulamentação que o consentimento é válido?
A documentação de consentimento não é burocracia — é ativo de defesa. O Artigo 7º da LGPD exige consentimento livre, informado e inequívoco, e o Artigo 8º do Código de Autorregulamentação da ABEMD determina que o remetente deve “manter registro comprobatório da autorização”. Sem evidências técnicas robustas, sua base passa de ativo para passivo jurídico.
Este guia mostra o que registrar, como armazenar com integridade e como recuperar a prova em minutos, não dias.
O que a LGPD e o Código de Autorregulamentação exigem na prática
A lei não prescreve formato de banco de dados, mas estabelece requisitos funcionais: o titular deve saber para que concorda, quem usa os dados, como revogar e por quanto tempo a autorização vale. O Código de Autorregulamentação complementa exigindo registro de data, hora, IP e versão do termo.
Na prática, isso significa que cada linha de consentimento no seu banco deve conter, no mínimo:
- Identificador único do titular (e-mail hash ou ID)
- Timestamp com fuso horário (ISO 8601)
- Endereço IP de origem
- User agent do navegador/app
- Versão do termo de consentimento (ex.: v2.3-2024-01-15)
- Hash do conteúdo aceito (SHA-256) para provar imutabilidade
- Canal de coleta (site, app, ponto de venda, telefone)
- Granularidade: flags booleanas por finalidade (promo, newsletter, pesquisa, terceiros)
- Status atual: ativo, revogado, expirado
- Data da última alteração de status
A ausência de qualquer item enfraquece a prova. Um campo “optin=true” isolado não resiste a questionamento.
Estrutura de formulário que gera evidência automática
O formulário de coleta é a fábrica da prova. Erros aqui propagam-se para toda a base.
- Checkbox não pré-marcado para cada finalidade distinta. Texto ao lado: “Autorizo receber ofertas promocionais da Empresa X por e-mail.”
- Link direto para a política de privacidade e para o termo de consentimento na versão vigente.
- Botão de envio rotulado “Confirmar autorização” — não “Cadastrar” ou “Enviar”.
- Campos ocultos preenchidos via JavaScript no submit:
timestamp,timezone,ip(via API server-side),user_agent,term_version,term_hash. - Validação server-side rejeita submissão se checkbox estiver vazio ou se
term_hashnão conferir com a versão atual.
Exemplo de payload JSON armazenado no log de auditoria:
{
"event": "consent_given",
"subject_id": "sha256:email@dominio.com",
"timestamp": "2024-03-15T14:32:11-03:00",
"ip": "203.0.113.45",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"term_version": "v3.1-2024-01-10",
"term_hash": "a1f5e8c3...",
"channel": "website_checkout",
"purposes": {
"promocional": true,
"newsletter": false,
"pesquisa": true,
"terceiros": false
},
"status": "active"
}
Double opt-in: camada extra de segurança e entregabilidade
Embora não seja obrigatório por lei, o double opt-in é recomendado pelo Código de Autorregulamentação e pela ANPD. Funciona assim:
- Usuário preenche formulário e clica “Confirmar autorização”.
- Sistema grava log com status
pending_confirmatione envia e-mail com link único (token JWT com expiração 24h). - Usuário clica no link → sistema valida token, altera status para
activee grava novo logconfirmation_completedcom novo timestamp, IP e user agent. - Se token expirar ou não for usado em 24h, status vira
expirede o registro não entra na base de envio.
Benefícios comprovados: redução de hard bounces em 30-50%, eliminação de typos (ex.: “gamil.com”), prova reforçada de intenção e alinhamento com boas práticas internacionais (GDPR, CASL).
Armazenamento imutável e trilha de auditoria
Logs de consentimento não podem ser editáveis. Use estratégias append-only:
- Banco de dados: tabela
consent_auditsemUPDATE/DELETEpermitidos para a aplicação; apenasINSERT. - Hash encadeado: cada linha inclui
previous_hash(hash da linha anterior), criando cadeia estilo blockchain. - Backup WORM (Write Once Read Many) em storage objeto com Object Lock (AWS S3, Azure Blob, GCS).
- Replicação em região diferente para disaster recovery.
Tabela de referência para arquitetura de logs:
| Camada | Tecnologia recomendada | Retenção | Acesso |
|---|---|---|---|
| Operacional | PostgreSQL (append-only trigger) | 2 anos | API interna |
| Auditoria | Data Lake (Parquet particionado por mês) | 5 anos | BI / LGPD team |
| Prova legal | Object Storage com Object Lock | 10 anos | Apenas legal/compliance |
Portal de preferências: transparência e revogação fácil
O Artigo 18 da LGPD garante ao titular revogar consentimento a qualquer momento, com a mesma facilidade com que o deu. O portal de preferências atende a esse requisito e reduz reclamações de spam.
Funcionalidades mínimas:
- Login via link mágico (magic link) enviado para o e-mail cadastrado — sem senha.
- Lista de finalidades com toggles on/off por finalidade (granularidade).
- Botão “Revogar todos” com confirmação em duas etapas.
- Histórico visual: “Você autorizou promoções em 15/03/2024 às 14:32 via site.”
- Geração de PDF com todo o histórico para o titular baixar.
- Sincronização em tempo real com a base de supressão (suppression list) da plataforma de envio.
Integre o portal ao fluxo de descadastro obrigatório: todo opt-out via link no rodapé do e-mail deve redirecionar para o portal pré-logado, não para página genérica.
Gestão de versões de termo e migração de base legada
Termos de consentimento evoluem: nova finalidade, mudança de controlador, adequação a orientação da ANPD. Cada versão recebe número semântico (v2.0, v2.1, v3.0) e hash.
Regra de ouro: consentimento dado na v2.0 não cobre v3.0 se houver mudança de finalidade ou controlador. Nesses casos, campanha de reconsentimento é obrigatória.
Passos para migração segura:
- Mapear todas as versões históricas e seus hashes.
- Classificar alterações: cosméticas (texto, formatação) vs. substanciais (finalidade, controlador, compartilhamento).
- Para alterações cosméticas: manter consentimento válido, apenas atualizar
term_versionno próximo login do titular no portal. - Para alterações substanciais: disparar e-mail de reconsentimento com link para novo termo, prazo de 30 dias. Quem não responder → status
expirede supressão da base ativa. - Documentar decisão jurídica de cada classificação em ata assinada pelo DPO.
Bases legadas (coletadas antes da LGPD ou sem logs completos) devem passar por auditoria de legitimidade: amostragem estatística, contato ativo para reconfirmação e, se taxa de resposta for baixa, descarte da base.
Resposta a incidentes: exportando prova em 48 horas
Quando a reclamação chega — seja via canal de atendimento, provedor de e-mail (FBL), ANPD ou Procon —, o SLA interno deve ser: prova exportada em até 48 horas.
Playbook de resposta:
- Receber ticket com e-mail do reclamante.
- Buscar
subject_id(hash do e-mail) naconsent_audit. - Filtrar eventos
consent_given,confirmation_completed,revocationordenados por data. - Gerar relatório PDF assinado digitalmente (ICP-Brasil) contendo:
- Linha do tempo completa
- Hashes de integridade verificados
- Captura de tela do formulário na versão original (armazenada no Object Lock)
- Status atual da base (ativo/suprimido)
- Enviar ao solicitante e anexar ao ticket.
Automatize com stored procedure ou script serverless que recebe e-mail e devolve PDF assinado. Treine a equipe de suporte conforme checklist de conformidade para não depender de desenvolvedor em momento de crise.
Documentar consentimento válido é engenharia de evidência: cada campo, cada log, cada hash existe para responder “sim, o titular autorizou” com certeza técnica. Implemente o checklist acima, audite sua base atual e elimine lacunas antes que virem passivo. Sua entregabilidade e sua conformidade agradecem.
Checklist prático
Perguntas frequentes
Qual a diferença entre consentimento explícito e tácito para e-mail marketing?
Consentimento explícito exige ação clara e afirmativa do titular (clicar em checkbox não pré-marcado, assinar formulário). O tácito não é aceito para campanhas promocionais pela LGPD e pelo Código de Autorregulamentação, pois não demonstra manifestação livre, informada e inequívoca.
Por quanto tempo devo manter os registros de consentimento?
Mantenha os logs enquanto a base de dados estiver ativa e por pelo menos 5 anos após o último envio ou descadastro, conforme boas práticas de governança e prazos prescricionais do Código de Defesa do Consumidor e LGPD.
O que invalida um consentimento já obtido?
Mudança de finalidade não comunicada, ausência de opção de recusa granular, checkbox pré-marcado, falta de registro de data/hora/IP/versão do termo, ou impossibilidade de o titular acessar e revogar a autorização a qualquer momento.
Posso usar consentimento de parceiros (terceiros) para minhas campanhas?
Apenas se o titular foi informado especificamente sobre o compartilhamento com sua empresa no momento da coleta, com nome fantasia e CNPJ identificados. Consentimento genérico para 'parceiros comerciais' não é válido segundo LGPD e autorregulamentação.
Como provar consentimento em caso de reclamação ou fiscalização?
Apresente logs imutáveis com timestamp, endereço IP, user agent, versão exata do termo aceito, hash do registro e trilha de auditoria. Ferramentas de consentimento management (CMP) certificadas facilitam essa evidência técnica.
O double opt-in é obrigatório no Brasil?
Não é exigido por lei, mas é fortemente recomendado pelo Código de Autorregulamentação e pela ANPD como boa prática para garantir a veracidade do e-mail e a intenção do titular, reduzindo riscos de hard bounces e denúncias de spam.