Como Atender às Solicitações de Exclusão de Dados de CPF Conforme a LGPD

Saiba como atender corretamente às solicitações de exclusão de dados de CPF conforme a LGPD, com fluxos automatizados e práticas recomendadas.

Redação CPFHub.io
Redação CPFHub.io
··7 min de leitura
Como Atender às Solicitações de Exclusão de Dados de CPF Conforme a LGPD

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çãoExclusão ObrigatóriaBase Legal
Dados tratados com base no consentimento revogadoSimArt. 18, VI
Dados desnecessários ou excessivosSimArt. 18, IV
Dados tratados em desconformidade com a LGPDSimArt. 18, IV
Dados necessários para cumprimento de obrigação legalNãoArt. 16, I
Dados para exercício regular de direitos em processoNãoArt. 16, III
Dados anonimizadosNão se aplicaArt. 16, IV
Dados para proteção de créditoRetenção permitidaArt. 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.

Redação CPFHub.io

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.

WhatsAppFale conosco via WhatsApp