A LGPD permite o uso de CPF em campanhas de marketing direto desde que exista base legal adequada — consentimento explícito ou legítimo interesse documentado — e que o titular tenha mecanismo de opt-out simples. A CPFHub.io viabiliza o enriquecimento responsável de perfis: com uma chamada autenticada ao endpoint https://api.cpfhub.io/cpf/{CPF}, equipes de marketing obtêm primeiro nome, gênero e faixa etária em ~900ms para segmentação precisa, sem armazenar dados além do necessário.
Introdução
O marketing direto personalizado é uma ferramenta poderosa para engajamento de clientes, mas quando envolve o uso de dados de CPF, os limites da LGPD devem ser rigorosamente respeitados. O CPF é um dado pessoal que, isoladamente ou combinado com outras informações, pode ser utilizado para perfilamento -- prática que a legislação brasileira regula com atenção especial.
Bases legais para uso de CPF em marketing
A LGPD estabelece dez bases legais para o tratamento de dados pessoais (artigo 7). Para marketing direto, as mais relevantes são:
Consentimento (art. 7, I)
O titular autoriza expressamente o uso de seus dados para receber comunicações de marketing. O consentimento deve ser:
- Livre: sem coerção ou condicionamento a serviços.
- Informado: o titular deve saber exatamente para que seus dados serão usados.
- Inequívoco: manifestação clara de concordância.
- Específico: para a finalidade de marketing, separadamente de outras finalidades.
Legítimo interesse (art. 7, IX)
O controlador pode tratar dados para atender a seus interesses legítimos, desde que não prevaleçam os direitos e liberdades fundamentais do titular. Para marketing, isso exige:
- Teste de proporcionalidade (LIA -- Legitimate Interest Assessment).
- Transparência sobre o uso dos dados.
- Mecanismo de opt-out simples e eficaz.
Quando o uso de CPF para marketing é proibido
- Sem base legal: utilizar CPF para marketing sem consentimento ou legítimo interesse documentado.
- Dados obtidos de forma irregular: comprar listas de CPF de terceiros sem garantia de consentimento.
- Finalidade incompatível: usar CPF coletado para verificação cadastral diretamente para marketing, sem nova autorização.
- Sem opt-out: enviar comunicações sem oferecer opção de descadastramento.
- Menores de idade: tratamento de dados de menores exige consentimento específico dos pais ou responsáveis.
Implementação de consentimento para marketing
Sistema de gerenciamento de consentimento
import json
import requests
from datetime import datetime, timezone
from typing import Optional
class GerenciadorConsentimentoMarketing:
"""Gerencia consentimentos de marketing vinculados ao CPF."""
def __init__(self):
self.consentimentos = {}
def registrar_consentimento(
self,
cpf: str,
canal: str,
finalidade: str,
ip_origem: str
) -> dict:
"""Registra consentimento do titular para marketing."""
registro = {
"cpf_hash": self._hash_cpf(cpf),
"canal": canal,
"finalidade": finalidade,
"data_consentimento": datetime.now(timezone.utc).isoformat(),
"ip_origem": ip_origem,
"status": "ativo",
"versao_termos": "v2.3",
"texto_aceito": (
"Autorizo o uso do meu CPF e dados cadastrais "
"para recebimento de ofertas personalizadas via "
f"{canal}."
)
}
chave = f"{registro['cpf_hash']}:{canal}:{finalidade}"
self.consentimentos[chave] = registro
return registro
def revogar_consentimento(self, cpf: str, canal: str, finalidade: str) -> bool:
"""Revoga consentimento do titular (opt-out)."""
chave = f"{self._hash_cpf(cpf)}:{canal}:{finalidade}"
if chave in self.consentimentos:
self.consentimentos[chave]["status"] = "revogado"
self.consentimentos[chave]["data_revogacao"] = (
datetime.now(timezone.utc).isoformat()
)
return True
return False
def verificar_consentimento(
self, cpf: str, canal: str, finalidade: str
) -> bool:
"""Verifica se existe consentimento ativo para o titular."""
chave = f"{self._hash_cpf(cpf)}:{canal}:{finalidade}"
consentimento = self.consentimentos.get(chave)
return consentimento is not None and consentimento["status"] == "ativo"
def _hash_cpf(self, cpf: str) -> str:
import hashlib
return hashlib.sha256(cpf.encode()).hexdigest()[:16]
# Exemplo de uso
gerenciador = GerenciadorConsentimentoMarketing()
# Registrar consentimento
consentimento = gerenciador.registrar_consentimento(
cpf="12345678901",
canal="email",
finalidade="ofertas_personalizadas",
ip_origem="192.168.1.100"
)
print(json.dumps(consentimento, indent=2, ensure_ascii=False))
# Verificar antes de enviar campanha
pode_enviar = gerenciador.verificar_consentimento(
cpf="12345678901",
canal="email",
finalidade="ofertas_personalizadas"
)
print(f"Pode enviar marketing: {pode_enviar}")
Enriquecimento responsável de perfis
Quando o consentimento permite, a API do CPFHub.io pode enriquecer perfis de marketing com nome, gênero e faixa etária — retornados em ~900ms — permitindo segmentação personalizada sem expor dados sensíveis além do necessário.
curl -X GET "https://api.cpfhub.io/cpf/12345678901" \
-H "x-api-key: SUA_API_KEY" \
-H "Accept: application/json" \
--max-time 30
def enriquecer_perfil_marketing(
cpf: str, api_key: str, gerenciador: GerenciadorConsentimentoMarketing
) -> Optional[dict]:
"""Enriquece perfil de marketing somente com consentimento ativo."""
# Verificar consentimento antes de qualquer consulta
if not gerenciador.verificar_consentimento(
cpf, "email", "ofertas_personalizadas"
):
print("[BLOQUEADO] Sem consentimento ativo para marketing")
return None
try:
response = requests.get(
f"https://api.cpfhub.io/cpf/{cpf}",
headers={
"x-api-key": api_key,
"Accept": "application/json"
},
timeout=30
)
if response.status_code == 200:
dados = response.json()["data"]
# Extrair apenas dados necessários para segmentação
perfil = {
"primeiro_nome": dados.get("name", "").split()[0],
"genero": dados.get("gender"),
"faixa_etaria": _calcular_faixa(dados.get("year"))
}
# Registrar o uso para auditoria
_registrar_uso_marketing(cpf, perfil)
return perfil
except requests.exceptions.Timeout:
print("[ERROR] Timeout na consulta")
return None
def _calcular_faixa(ano: str) -> str:
if not ano:
return "desconhecida"
from datetime import date
idade = date.today().year - int(ano)
if idade < 30: return "jovem"
elif idade < 50: return "adulto"
return "senior"
def _registrar_uso_marketing(cpf: str, perfil: dict):
import hashlib
log = {
"timestamp": datetime.now(timezone.utc).isoformat(),
"cpf_hash": hashlib.sha256(cpf.encode()).hexdigest()[:16],
"dados_utilizados": list(perfil.keys()),
"finalidade": "segmentacao_marketing"
}
with open("marketing_audit.log", "a") as f:
f.write(json.dumps(log) + "\n")
Opt-out e direito de oposição
A LGPD garante ao titular o direito de se opor ao tratamento de seus dados para marketing (artigo 18, IV). Implemente:
- Link de descadastro em todo e-mail: obrigatório por lei.
- Processamento imediato: o opt-out deve ser efetivado em até 24 horas.
- Confirmação: envie uma última comunicação confirmando o descadastro.
- Lista de supressão: mantenha uma lista de CPFs que revogaram consentimento para evitar recontato.
Relatório de Impacto para marketing com CPF
Antes de iniciar campanhas que utilizem dados de CPF para personalização, conduza um RIPD que avalie:
- Necessidade: é realmente necessário usar o CPF, ou outro identificador bastaria?
- Proporcionalidade: os benefícios para o titular justificam o tratamento?
- Riscos: quais são os riscos de perfilamento e discriminação?
- Medidas mitigatórias: quais controles técnicos serão implementados?
- Transparência: como o titular será informado sobre o uso de seus dados?
Boas práticas para marketing em conformidade
- Obtenha consentimento granular: separe as autorizações por canal (e-mail, SMS, push) e finalidade (ofertas, pesquisas, parceiros).
- Documente tudo: mantenha registros completos de consentimentos, incluindo data, hora, IP e versão dos termos.
- Segmente sem identificar: sempre que possível, utilize dados agregados ou anonimizados para segmentação.
- Respeite a frequência: excesso de comunicações pode configurar abuso, independentemente do consentimento.
- Revise periodicamente: reavalie a base legal e os consentimentos pelo menos anualmente.
- Treine a equipe de marketing: garanta que todos compreendam as limitações da LGPD.
Perguntas frequentes
O que é necessário para implementar validação de CPF neste contexto?
A validação de CPF exige uma chamada à API com o número do documento e a chave de autenticação. A CPFHub.io retorna o status do CPF, nome do titular e data de nascimento em ~900ms, permitindo a verificação em tempo real durante o cadastro ou transação.
A API CPFHub.io funciona para todos os volumes de consulta?
Sim. O plano gratuito oferece 50 consultas por mês sem cartão de crédito — ideal para testes e projetos pequenos. Para volumes maiores, o plano Pro inclui 1.000 consultas mensais por R$149. Se o limite for ultrapassado, a API não bloqueia: cobra R$0,15 por consulta adicional.
Como garantir conformidade com a LGPD ao usar uma API de CPF?
Use o CPF apenas para a finalidade declarada ao titular, armazene apenas o necessário (não guarde o CPF cru se um token bastar), implemente controle de acesso aos logs de consulta e documente a base legal para o tratamento. A ANPD orienta que dados de identificação devem ser tratados com o princípio da necessidade.
Quanto tempo leva para integrar a API CPFHub.io?
A integração básica leva menos de 30 minutos: crie uma conta em cpfhub.io, gere a API key no painel e faça uma chamada GET para https://api.cpfhub.io/cpf/{CPF} com o header x-api-key. A documentação inclui exemplos em Python, Node.js, PHP, Java e outras linguagens.
Conclusão
O uso de dados de CPF para marketing direto é permitido pela LGPD, mas exige cuidado rigoroso com base legal, consentimento e transparência. A implementação de sistemas de gerenciamento de consentimento, mecanismos de opt-out eficientes e auditorias regulares protege tanto a empresa quanto o titular. Marketing eficaz e conformidade legal não são objetivos conflitantes -- são complementares.
Para verificar dados de forma segura e integrar consentimento ao seu fluxo de marketing, utilize uma API confiável e em conformidade. Cadastre-se em cpfhub.io — 50 consultas mensais gratuitas, sem cartão de crédito — e comece hoje mesmo.
CPFHub.io
Pronto para integrar a API?
50 consultas gratuitas para testar agora. Sem cartão de crédito. Acesso imediato à documentação.
Sobre a redação
Redação CPFHub.io
Time editorial especializado em APIs de CPF, identidade digital e compliance no mercado brasileiro. Produzimos guias técnicos, análises regulatórias e tutoriais sobre LGPD e KYC para desenvolvedores e líderes de produto.



