# Como implementar data minimization ao consultar CPFs via API

> Aprenda a implementar o princípio de data minimization da LGPD ao consultar CPFs via API. Boas práticas para coletar e armazenar apenas o necessário.

**Publicado:** 16/03/2026
**Autor:** Redação CPFHub.io
**URL:** https://cpfhub.io/blog/data-minimization-consultar-cpfs-api

---


Data minimization ao consultar CPFs via API significa filtrar a resposta da API logo na camada de serviço — descartando em memória os campos desnecessários antes de qualquer persistência — e armazenar apenas o mínimo que a finalidade declarada exige, conforme o artigo 6º, III da LGPD. Na prática, isso reduz superfície de exposição, simplifica auditorias e diminui o impacto de eventuais vazamentos.

## Introdução

O princípio de **data minimization** (minimização de dados) é um dos pilares da LGPD. Ele determina que empresas devem coletar, processar e armazenar apenas os dados pessoais estritamente necessários para a finalidade declarada. Ao integrar uma API de consulta de CPF, esse princípio exige atenção especial em cada etapa do processo.

---

## O que diz a LGPD sobre minimização de dados?

O artigo 6º, inciso III da LGPD estabelece o princípio da **necessidade**: "limitação do tratamento ao mínimo necessário para a realização de suas finalidades, com abrangência dos dados pertinentes, proporcionais e não excessivos".

A [ANPD](https://www.gov.br/anpd) reforça em suas diretrizes que o controlador deve ser capaz de demonstrar, para cada campo de dado tratado, qual finalidade específica ele serve. Dados coletados "por precaução" sem finalidade definida já caracterizam violação ao princípio.

**Na prática, isso significa:**

* Não colete dados que você não vai usar.

* Não armazene dados além do tempo necessário.

* Não compartilhe dados com terceiros sem necessidade.

---

## Dados retornados pela API da CPFHub.io

A API retorna o seguinte conjunto de dados:

```json
{
 "success": true,
 "data": {
 "cpf": "12345678900",
 "name": "João da Silva",
 "nameUpper": "JOÃO DA SILVA",
 "gender": "M",
 "birthDate": "15/06/1990",
 "day": 15,
 "month": 6,
 "year": 1990
 }
}
```

**Nem todos esses campos são necessários para todas as finalidades.** A chave do data minimization é usar apenas o que faz sentido para o seu caso de uso.

---

## Exemplo por caso de uso

| Finalidade | Campos necessários | Campos descartáveis |
| --- | --- | --- |
| Validação de cadastro | name, cpf | gender, birthDate, day, month, year |
| KYC financeiro | name, cpf, birthDate | nameUpper, day, month, year |
| Verificação de idade (18+) | year (ou birthDate) | name, nameUpper, gender |
| Antifraude (match de nome) | name, cpf | gender, birthDate, day, month, year |

---

## Implementação: filtrando dados na resposta

Em vez de armazenar a resposta completa da API, extraia apenas os campos necessários:

```python
import requests

CPFHUB_API_KEY = 'SUA_CHAVE_DE_API'

def consultar_cpf_minimizado(cpf: str, campos_necessarios: list) -> dict:
 url = f'https://api.cpfhub.io/cpf/{cpf}'
 headers = {
 'x-api-key': CPFHUB_API_KEY,
 'Accept': 'application/json'
 }

 response = requests.get(url, headers=headers, timeout=10)
 resultado = response.json()

 if not resultado.get('success'):
 return None

 # Extrair apenas os campos necessarios
 dados_completos = resultado['data']
 dados_minimizados = {
 campo: dados_completos[campo]
 for campo in campos_necessarios
 if campo in dados_completos
 }

 return dados_minimizados

# Exemplo: apenas nome para validacao de cadastro
dados = consultar_cpf_minimizado('12345678900', ['name', 'cpf'])
# Retorna: {'name': 'Joao da Silva', 'cpf': '12345678900'}

# Exemplo: apenas ano para verificacao de idade
dados = consultar_cpf_minimizado('12345678900', ['year'])
# Retorna: {'year': 1990}
```

---

## Boas práticas de data minimization

### 1. Não armazene a resposta completa da API

Processe os dados em memória e persista apenas o necessário. Se você só precisa validar que o nome confere, descarte os outros campos após a verificação.

### 2. Defina políticas de retenção

| Tipo de dado | Retenção recomendada |
| --- | --- |
| Resultado da validação (sim/não) | Enquanto o cadastro existir |
| Nome completo | Apenas se necessário para o processo |
| Data de nascimento | Apenas se necessário para KYC |
| Logs de auditoria (mascarados) | 5 anos (setor financeiro) |

### 3. Mascare dados em logs e relatórios

Nunca registre o CPF completo em logs:

```python
def mascarar_cpf(cpf: str) -> str:
 return f'{cpf[:3]}.***.**{cpf[8]}-{cpf[9:]}'
```

### 4. Use variáveis em memória, não arquivos temporários

Evite gravar respostas da API em arquivos temporários ou cache persistente. Se precisar de cache, defina TTL curto e criptografe.

### 5. Documente a finalidade de cada campo

Mantenha um registro interno de quais campos são usados em cada processo e por quê. Isso facilita auditorias e solicitações de titulares.

---

## Respondendo a solicitações de titulares

A LGPD garante ao titular o direito de saber quais dados seus foram tratados. Com data minimization:

* Você tem menos dados para reportar.

* O risco em caso de vazamento é menor.

* O processo de exclusão é mais simples.

---

## Perguntas frequentes

### O que é data minimization e por que ela se aplica ao uso de APIs de CPF?

Data minimization é o princípio da LGPD (Art. 6º, III) que determina coletar e processar apenas os dados estritamente necessários para a finalidade declarada. Ao consultar uma API de CPF, a resposta traz até 8 campos — mas raramente todos são necessários. Filtrar a resposta em memória e persistir só o essencial é a forma mais simples de demonstrar conformidade durante auditorias e atender a solicitações de titulares com menos esforço.

### Como implementar data minimization sem quebrar a lógica de negócio existente?

O caminho menos invasivo é criar uma camada de serviço entre a chamada à API e o restante do sistema. Essa camada recebe a resposta completa, aplica um filtro configurável por finalidade e devolve apenas os campos autorizados. O código já existente continua funcionando sem precisar conhecer o formato completo da resposta da API — e a política de minimização fica centralizada em um único lugar.

### Como a CPFHub.io suporta o princípio de data minimization?

A API da CPFHub.io retorna dados cadastrais básicos da Receita Federal (nome, data de nascimento, gênero) e não armazena logs de consulta vinculados ao CPF pesquisado. O plano gratuito oferece 50 consultas por mês sem cartão de crédito; o plano Pro custa R$149/mês com 1.000 consultas. Se o limite for ultrapassado, a API não bloqueia — cobra R$0,15 por consulta adicional.

### Quanto tempo manter os dados obtidos na consulta de CPF?

Depende da finalidade. Se o CPF foi consultado para validação de cadastro, basta manter o resultado booleano (válido/inválido) pelo tempo de vida do cadastro. Se foi usado para KYC, as normas do BACEN exigem retenção de registros por até 5 anos. Dados de log devem ser mascarados (CPF parcial) e nunca registrados em texto completo. Documente cada decisão de retenção no seu Registro de Atividades de Tratamento (ROPA).

### Leia também

- [LGPD: CPF é dado pessoal sensível ou não? Entenda a classificação correta](https://cpfhub.io/blog/lgpd-cpf-e-dado-pessoal-sensivel-ou-nao-entenda-a-classificacao-correta)
- [Como manter registros de auditoria para consultas de CPF](https://cpfhub.io/blog/como-manter-registros-de-auditoria-para-consultas-de-cpf)
- [API de CPF grátis para desenvolvedores: como começar em 5 minutos](https://cpfhub.io/blog/api-cpf-gratis-desenvolvedores-comecar-5-minutos)
- [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

Implementar **data minimization** ao consultar CPFs via API não é apenas uma exigência legal — é uma prática de segurança que reduz riscos e simplifica a governança de dados. A lógica é direta: quanto menos dado você guarda, menor é o impacto de um incidente e mais fácil é responder a solicitações de titulares. Com a API da [**CPFHub.io**](https://www.cpfhub.io/), você parte de um conjunto enxuto de campos e escolhe o que persistir conforme a finalidade de cada processo.

A CPFHub.io é 100% conforme à LGPD e oferece plano gratuito com 50 consultas/mês, sem cartão. Quando o volume escalar, o plano Pro (R$149/mês) garante 1.000 consultas — e consultas além do limite são cobradas a R$0,15 cada, sem bloqueio. Cadastre-se em [cpfhub.io](https://www.cpfhub.io/) e implemente data minimization desde a primeira chamada à API.

