Uma das perguntas mais frequentes sobre conformidade com a LGPD é: por quanto tempo posso armazenar dados de CPF? A resposta não é simples, pois depende da finalidade do tratamento, do setor de atuação e das obrigações legais aplicáveis. A LGPD estabelece que dados pessoais devem ser eliminados após o término do tratamento, mas reconhece exceções para cumprimento de obrigações legais e exercício regular de direitos.
Introdução
A LGPD não define prazos únicos de retenção: cada tratamento deve ter seu próprio prazo justificado pela finalidade que o ampara. Sem essa documentação, qualquer auditoria da ANPD pode caracterizar retenção indevida — mesmo que os dados nunca tenham sido utilizados indevidamente.
O que a LGPD diz sobre retenção
A LGPD não define prazos específicos de retenção, mas estabelece princípios claros:
| Artigo | Dispositivo | Implicação para CPF |
|---|---|---|
| Art. 15, I | Término quando finalidade é alcançada | Excluir CPF após validação se não há uso futuro |
| Art. 15, II | Término do período de tratamento | Excluir ao fim do prazo definido na política |
| Art. 15, III | Revogação do consentimento | Excluir se o tratamento era baseado em consentimento |
| Art. 16, I | Exceção: cumprimento de obrigação legal | Reter CPF se exigido por lei ou regulação |
| Art. 16, II | Exceção: estudo por órgão de pesquisa | Reter de forma anonimizada para pesquisa |
| Art. 16, III | Exceção: exercício regular de direitos | Reter para defesa em processos judiciais |
O princípio geral é: armazene pelo tempo mínimo necessário e justifique documentalmente cada exceção.
Prazos recomendados por tipo de uso
Defina prazos de retenção baseados na finalidade e nas obrigações legais aplicáveis:
- Validação pontual (sem cadastro) -- excluir imediatamente após a validação, mantendo apenas o resultado booleano e o hash do CPF por 30 dias para deduplicação
- Cadastro de cliente ativo -- manter durante a vigência da relação contratual, com revisão anual de necessidade
- Ex-cliente -- manter por 5 anos após encerramento para atender ao prazo prescricional do Código Civil
- Obrigação regulatória (financeiro) -- manter por 5 a 10 anos conforme normas do BACEN e legislação tributária
- Prevenção à fraude -- manter registros de tentativas de fraude por 5 anos para proteção da empresa
- Logs de auditoria -- manter por 1 a 5 anos conforme a criticidade da operação registrada
Implementando política de retenção automatizada
Automatize a aplicação de prazos de retenção para eliminar a dependência de processos manuais:
const cron = require("node-cron");
// Definição de políticas de retenção
const politicasRetencao = {
cache_consultas: {
tabela: "cache_api_cpf",
campoData: "created_at",
retencaoDias: 1,
descricao: "Cache de respostas da API CPFHub"
},
logs_validacao: {
tabela: "log_validacao_cpf",
campoData: "timestamp",
retencaoDias: 90,
descricao: "Logs de validação de CPF"
},
dados_ex_clientes: {
tabela: "clientes_encerrados",
campoData: "data_encerramento",
retencaoDias: 1825, // 5 anos
descricao: "Dados de ex-clientes (prazo prescricional)"
},
registros_regulatorios: {
tabela: "kyc_registros",
campoData: "data_registro",
retencaoDias: 3650, // 10 anos
descricao: "Registros KYC (obrigação BACEN)"
}
};
// Execução diária às 3h da manhã
cron.schedule("0 3 * * *", async () => {
console.log("Iniciando rotina de retenção de dados...");
for (const [nome, politica] of Object.entries(politicasRetencao)) {
const dataLimite = new Date();
dataLimite.setDate(dataLimite.getDate() - politica.retencaoDias);
const resultado = await db.query(
`DELETE FROM ${politica.tabela}
WHERE ${politica.campoData} < $1
RETURNING id`,
[dataLimite.toISOString()]
);
console.log(
`[${nome}] ${resultado.rowCount} registros excluídos ` +
`(anteriores a ${dataLimite.toISOString().split("T")[0]})`
);
// Registrar execução para auditoria
await db.query(
`INSERT INTO audit_retencao
(politica, registros_excluidos, data_limite, executado_em)
VALUES ($1, $2, $3, NOW())`,
[nome, resultado.rowCount, dataLimite]
);
}
});
Exceções à exclusão
Existem situações em que a exclusão não deve ser realizada, mesmo após o término do prazo de retenção:
| Exceção | Base Legal | Exemplo |
|---|---|---|
| Processo judicial em andamento | Art. 16, III LGPD | Litígio com ex-cliente que exige CPF como prova |
| Investigação regulatória | Art. 16, I LGPD | Fiscalização do BACEN em andamento |
| Obrigação tributária | CTN, Art. 173 | Notas fiscais que contêm CPF do cliente |
| Processo penal | CPP | Investigação policial que envolve o titular |
| Hold order judicial | CPC, Art. 396 | Ordem judicial de preservação de dados |
Implemente mecanismos de "hold" que impeçam a exclusão automática quando uma dessas exceções estiver ativa.
Documentação da política de retenção
Mantenha um documento formal que registre cada política de retenção:
- Tipo de dado -- descreva especificamente quais campos de CPF são retidos (número, nome, data de nascimento)
- Finalidade -- vincule a retenção a uma finalidade legítima e documentada
- Base legal -- identifique o artigo da LGPD ou da regulação setorial que ampara a retenção
- Prazo -- defina o período exato em dias, meses ou anos
- Procedimento de exclusão -- descreva como os dados são efetivamente eliminados (delete lógico vs. físico)
- Responsável -- identifique quem é responsável por garantir a execução da política
- Revisão -- defina a frequência de revisão da política (recomendado: semestral)
Perguntas frequentes
Por quanto tempo devo reter o CPF de um ex-cliente após o encerramento do contrato?
O prazo mínimo recomendado é 5 anos, alinhado ao prazo prescricional geral do Código Civil. Para setores regulados como o financeiro, as normas do BACEN podem exigir até 10 anos. O prazo deve constar na política de retenção documentada e ser comunicado ao titular na política de privacidade.
Posso manter o CPF armazenado indefinidamente para evitar fraudes futuras?
Não. A LGPD exige que a retenção seja proporcional à finalidade declarada. Para prevenção de fraudes, o período geralmente aceito é de 5 anos após o último incidente ou tentativa documentada. Manter dados indefinidamente sem justificativa específica configura violação do princípio da necessidade.
O que acontece se eu excluir o CPF de um cliente antes do prazo legal?
Você pode violar obrigações regulatórias — especialmente as fiscais e as do BACEN — que exigem manutenção de registros por períodos determinados. Exclusão prematura pode ser tratada como obstáculo ao exercício regular de direitos em processos judiciais ou fiscalizações.
Como implementar a exclusão automática sem apagar dados que ainda precisam ser retidos?
Use uma combinação de campos de "status de retenção" e datas de expiração por registro, além de mecanismos de "hold" que bloqueiam a exclusão enquanto houver exceção ativa (processo judicial, fiscalização). O cron job deve verificar o status antes de executar o delete.
Conclusão
Definir prazos de retenção de dados de CPF exige equilíbrio entre a minimização exigida pela LGPD e as obrigações legais de retenção do setor. Não existe um prazo único que sirva para todos os casos: cada tratamento deve ter seu próprio prazo justificado e documentado. Ao utilizar a API do cpfhub.io para consultas pontuais, você já parte de uma base mais segura — a API não armazena dados além do necessário para processar a resposta, reduzindo o escopo do que precisa ser gerenciado na sua política de retenção.
Cadastre-se em cpfhub.io — 50 consultas mensais gratuitas, sem cartão de crédito — e implemente sua política de retenção de dados de CPF 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.



