# Retenção de Dados de CPF: Por Quanto Tempo Armazenar e Quando Excluir?

> Descubra por quanto tempo armazenar dados de CPF e quando excluí-los, considerando a LGPD e regulações setoriais brasileiras.

**Publicado:** 12/06/2024
**Autor:** Redação CPFHub.io
**URL:** https://cpfhub.io/blog/retencao-dados-cpf-quanto-tempo-armazenar-excluir

---


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](https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm) 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](https://www.gov.br/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](https://www.bcb.gov.br) 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:

```javascript
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.

### Leia também

- [Diferença entre validação de CPF e consulta de CPF: quando usar cada uma](https://cpfhub.io/blog/diferenca-entre-validacao-de-cpf-e-consulta-de-cpf-quando-usar-cada-uma)
- [API de CPF grátis para desenvolvedores: como começar em 5 minutos](https://cpfhub.io/blog/api-cpf-gratis-desenvolvedores-comecar-5-minutos)
- [Onboarding digital em fintechs: como validar CPF em menos de 30 segundos](https://cpfhub.io/blog/onboarding-digital-em-fintechs-como-validar-cpf-em-menos-de-30-segundos)
- [KYC no Brasil: quais setores são obrigados a validar CPF por lei](https://cpfhub.io/blog/kyc-no-brasil-quais-setores-sao-obrigados-a-validar-cpf-por-lei)

---

## 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](https://www.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](https://www.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.

