Quando um titular solicita exclusão de seus dados de CPF, a empresa tem obrigação de atender conforme a LGPD — mas com exceções: dados necessários para cumprimento de obrigação legal (como logs de PLD/FT mantidos por 5 anos) não precisam ser excluídos imediatamente. O prazo de resposta é de 15 dias e a empresa deve documentar cada solicitação atendida.
Introdução
O artigo 18 da LGPD garante ao titular o direito de solicitar a eliminação dos seus dados pessoais tratados com base no consentimento. Quando um titular solicita a exclusão do seu CPF e dados associados, a empresa tem a obrigação de atender essa solicitação dentro de prazo razoável, salvo exceções legais. No entanto, implementar esse processo em sistemas que consomem APIs de CPF e armazenam respostas em múltiplos locais é um desafio técnico e organizacional.
O direito de exclusão na LGPD
A LGPD prevê situações em que a exclusão é obrigatória e exceções em que a retenção é permitida:
| Situação | Exclusão Obrigatória | Base Legal |
|---|---|---|
| Dados tratados com base no consentimento revogado | Sim | Art. 18, VI |
| Dados desnecessários ou excessivos | Sim | Art. 18, IV |
| Dados tratados em desconformidade com a LGPD | Sim | Art. 18, IV |
| Dados necessários para cumprimento de obrigação legal | Não | Art. 16, I |
| Dados para exercício regular de direitos em processo | Não | Art. 16, III |
| Dados anonimizados | Não se aplica | Art. 16, IV |
| Dados para proteção de crédito | Retenção permitida | Art. 7o, X |
É fundamental que a equipe jurídica avalie cada solicitação para determinar se a exclusão pode ser atendida integralmente ou se existem bases legais que justifiquem a retenção parcial.
Fluxo de atendimento à solicitação
O processo de exclusão deve ser documentado e seguir etapas claras:
- Recebimento e registro -- receba a solicitação por canal verificável e registre com protocolo, data e hora
- Verificação de identidade -- confirme que o solicitante é o titular do CPF para evitar exclusões fraudulentas
- Mapeamento de dados -- identifique todos os locais onde dados do CPF estão armazenados (bancos, caches, logs, backups)
- Análise de base legal -- determine se existe obrigação legal que justifique a retenção de algum dado
- Execução da exclusão -- remova os dados de todos os locais identificados, respeitando exceções legais
- Confirmação ao titular -- notifique o titular sobre a conclusão da exclusão com detalhes do que foi removido
Implementação técnica da exclusão
Automatize o processo de exclusão para garantir consistência e rastreabilidade:
import hashlib
import logging
from datetime import datetime
from typing import List, Dict
logger = logging.getLogger("exclusao_dados")
class GestorExclusaoCPF:
"""Gerencia solicitações de exclusão de dados de CPF."""
def __init__(self, db, cache, notificador):
self.db = db
self.cache = cache
self.notificador = notificador
def processar_exclusao(self, cpf: str, protocolo: str) -> Dict:
"""Processa uma solicitação de exclusão completa."""
cpf_hash = hashlib.sha256(cpf.encode()).hexdigest()
resultado = {
"protocolo": protocolo,
"cpf_hash": cpf_hash,
"timestamp": datetime.utcnow().isoformat(),
"etapas": []
}
# Etapa 1: Mapear dados
locais = self._mapear_dados(cpf)
resultado["etapas"].append({
"etapa": "mapeamento",
"locais_encontrados": len(locais)
})
# Etapa 2: Verificar retenção obrigatória
retencao = self._verificar_retencao(cpf)
# Etapa 3: Executar exclusão
for local in locais:
if local["tipo"] in retencao:
resultado["etapas"].append({
"etapa": f"retido_{local['tipo']}",
"motivo": retencao[local["tipo"]]
})
else:
self._excluir_de(local, cpf)
resultado["etapas"].append({
"etapa": f"excluido_{local['tipo']}",
"status": "concluido"
})
# Etapa 4: Limpar caches
self.cache.delete(f"cpf:{cpf_hash}")
resultado["etapas"].append({
"etapa": "cache_limpo", "status": "concluido"
})
logger.info(f"Exclusão processada: protocolo {protocolo}")
return resultado
def _mapear_dados(self, cpf: str) -> List[Dict]:
"""Identifica todos os locais com dados do CPF."""
return [
{"tipo": "cadastro", "tabela": "clientes"},
{"tipo": "consultas", "tabela": "log_consultas_cpf"},
{"tipo": "cache", "tabela": "redis_cpf_cache"},
{"tipo": "auditoria", "tabela": "audit_log"}
]
def _verificar_retencao(self, cpf: str) -> Dict:
"""Verifica se existe obrigação legal de retenção."""
return {
"auditoria": "Art. 16, I - Obrigação legal de manter "
"registros de auditoria por 5 anos"
}
def _excluir_de(self, local: Dict, cpf: str):
"""Executa a exclusão em um local específico."""
self.db.execute(
f"DELETE FROM {local['tabela']} WHERE cpf_hash = %s",
(hashlib.sha256(cpf.encode()).hexdigest(),)
)
Tratamento de dados em terceiros
Quando dados de CPF foram compartilhados com a API do CPFHub ou outros serviços, a exclusão deve considerar a cadeia de processamento:
- Notificação ao operador -- informe o provedor da API sobre a solicitação de exclusão do titular
- Confirmação de exclusão -- solicite confirmação por escrito de que os dados foram removidos dos sistemas do operador
- Cache distribuído -- verifique se CDNs ou sistemas intermediários possuem cópias cacheadas dos dados
- Backups -- defina política para tratamento de dados em backups, que geralmente são excluídos na próxima rotação
É importante documentar que a API do CPFHub.io opera como consulta em tempo real, sem retenção permanente dos dados consultados pelo cliente.
Registro e auditoria de exclusões
Mantenha registros detalhados de cada exclusão processada para comprovar conformidade:
# Exemplo de relatório de exclusão gerado automaticamente
curl -s -X POST "https://api-interna.empresa.com/exclusao/relatorio" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${TOKEN_COMPLIANCE}" \
-d '{
"protocolo": "EXC-2024-001234",
"data_solicitacao": "2024-05-16T10:00:00Z",
"data_conclusao": "2024-05-17T15:30:00Z",
"cpf_hash": "a1b2c3d4e5f6...",
"locais_excluidos": [
"tabela_clientes",
"tabela_consultas",
"cache_redis"
],
"dados_retidos": {
"audit_log": "Obrigação legal - Art. 16, I LGPD"
},
"responsavel": "sistema_automatizado"
}' | python3 -m json.tool
Esses registros devem ser mantidos pelo período regulatório aplicável e disponibilizados em caso de fiscalização pela ANPD.
Perguntas frequentes
A empresa é obrigada a excluir o CPF de um cliente quando ele solicita?
Em geral sim, mas a LGPD prevê exceções no artigo 16: quando os dados são necessários para cumprimento de obrigação legal (ex: logs de PLD/FT exigidos por 5 anos), para exercício de direito em processo judicial, ou para uso exclusivo do controlador com dados anonimizados. Fora dessas exceções, a exclusão é obrigatória.
Como excluir dados de CPF de todos os sistemas sem deixar registros residuais?
O processo de exclusão deve cobrir: banco de dados principal, backups, logs de aplicação, sistemas de analytics, planilhas e qualquer cópia em ambiente terceiro. Documente o processo e o resultado. Dados em backups podem ser tratados por expiração natural conforme política de retenção, desde que não sejam restaurados após a solicitação.
O que acontece se a empresa não atender uma solicitação de exclusão de CPF no prazo?
A ANPD pode ser acionada pelo titular. O não cumprimento de direito de exclusão é infração formal à LGPD, sujeita a advertência e multa. O regulador avalia o volume de solicitações não atendidas e a recorrência do problema para definir a gravidade da sanção.
Devo excluir o CPF de um cliente que ainda tem contrato ativo com a empresa?
Não é possível excluir dados necessários para a execução do contrato vigente — a base legal "execução de contrato" prevalece sobre o pedido de exclusão enquanto o contrato estiver ativo. Após o encerramento e o prazo de retenção obrigatório, a exclusão deve ser processada automaticamente.
Conclusão
Atender às solicitações de exclusão de dados de CPF é um direito do titular e uma obrigação da empresa sob a LGPD. O processo exige mapeamento completo dos locais onde os dados residem, análise de bases legais para retenção parcial e execução automatizada com rastreabilidade. Ao integrar com a API do cpfhub.io, é importante documentar que o provedor opera como consulta em tempo real, sem retenção permanente dos dados pelo cliente. Essa arquitetura simplifica o atendimento a solicitações de exclusão: os dados que precisam ser removidos estão apenas nos sistemas internos da empresa.
Cadastre-se em cpfhub.io — 50 consultas mensais gratuitas, sem cartão de crédito — e garanta que sua integração de CPF esteja em conformidade com os direitos dos titulares desde o primeiro dia.
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.



