# Minimização de dados: como coletar apenas o necessário ao consultar CPF

> Aprenda a aplicar o princípio de minimização de dados da LGPD ao consultar CPF via API. Técnicas práticas para coletar apenas o necessário.

**Publicado:** 12/01/2025
**Autor:** Redação CPFHub.io
**URL:** https://cpfhub.io/blog/minimizacao-de-dados-como-coletar-apenas-o-necessario-ao-consultar-cpf

---


Ao consultar CPF via API, minimização de dados significa processar a resposta em memória, extrair somente os campos que a sua finalidade exige e descartar o restante antes de qualquer persistência — por exemplo, armazenar apenas o campo `year` para verificação de maioridade, em vez de salvar o objeto completo retornado pela API do CPFHub.io.

## Introdução

O princípio de minimização de dados é um dos fundamentos mais importantes da LGPD. Ele determina que o tratamento de dados pessoais deve ser limitado ao mínimo necessário para a finalidade pretendida. Quando se trata de consultas de CPF via API, esse princípio impacta diretamente a forma como os dados retornados são processados, armazenados e descartados.

Muitas empresas cometem o erro de armazenar a resposta completa da API de consulta de CPF, mesmo quando precisam apenas de uma fração dos dados. Essa prática aumenta a superfície de risco e pode configurar violação da LGPD.

---

## O que diz a LGPD sobre minimização

O [artigo 6°, inciso III da Lei 13.709/2018 (LGPD)](https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm) define o princípio da necessidade como a "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 em relação às finalidades do tratamento de dados".

Na prática, isso significa:

* **Não colete dados que não vai usar** — Se a finalidade é confirmar identidade, talvez o gênero não seja necessário.

* **Não armazene dados além do necessário** — Se a validação já foi feita, o resultado (sim/não) pode ser suficiente.

* **Descarte dados que não são mais necessários** — Após o processamento, elimine os campos que não precisam ser persistidos.

---

## Dados retornados pela API da CPFHub.io

Ao consultar um CPF, 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
 }
}
```

Cada campo atende a finalidades diferentes. A chave da minimização é consumir apenas o que é pertinente ao seu caso de uso.

---

## Mapeamento de campos por finalidade

| Finalidade | Campos necessários | Campos descartáveis |
| --- | --- | --- |
| Confirmação de identidade | cpf, name | nameUpper, gender, birthDate, day, month, year |
| KYC financeiro completo | cpf, name, birthDate | nameUpper, gender, day, month, year |
| Verificação de maioridade | year (ou birthDate) | cpf, name, nameUpper, gender, day, month |
| Match de nome em checkout | name | cpf, nameUpper, gender, birthDate, day, month, year |
| Antifraude com perfil demográfico | cpf, name, gender, year | nameUpper, birthDate, day, month |

Antes de implementar a integração, defina quais campos são realmente necessários para cada processo de negócio.

---

## Implementação prática da minimização

### Filtro de campos em Python

```python
import requests

CPFHUB_API_KEY = 'SUA_CHAVE_DE_API'

def consultar_cpf_minimo(cpf: str, campos: list) -> dict:
 """Consulta CPF e retorna apenas os campos necessarios."""
 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

 dados = resultado['data']
 return {k: v for k, v in dados.items() if k in campos}

# Caso 1: apenas nome para confirmacao de identidade
dados_identidade = consultar_cpf_minimo('12345678900', ['cpf', 'name'])
# Retorna: {'cpf': '12345678900', 'name': 'Joao da Silva'}

# Caso 2: apenas ano para verificacao de maioridade
dados_idade = consultar_cpf_minimo('12345678900', ['year'])
# Retorna: {'year': 1990}
```

### Filtro de campos em JavaScript

```javascript
const axios = require('axios');

async function consultarCPFMinimo(cpf, campos) {
 const response = await axios.get(
 `https://api.cpfhub.io/cpf/${cpf}`,
 {
 headers: {
 'x-api-key': 'SUA_CHAVE_DE_API',
 'Accept': 'application/json'
 },
 timeout: 10000
 }
 );

 if (!response.data.success) return null;

 const dados = response.data.data;
 const resultado = {};
 campos.forEach(campo => {
 if (dados[campo] !== undefined) {
 resultado[campo] = dados[campo];
 }
 });

 return resultado;
}

// Apenas nome e CPF para validacao de cadastro
consultarCPFMinimo('12345678900', ['cpf', 'name'])
 .then(dados => console.log(dados));
```

---

## Boas práticas de minimização no dia a dia

### Não persista a resposta completa da API

Processe a resposta em memória, extraia os campos necessários e descarte o restante antes de salvar no banco de dados.

### Use flags booleanas quando possível

Em alguns casos, armazenar o resultado da validação (verdadeiro/falso) é suficiente, eliminando a necessidade de guardar os dados pessoais:

```python
# Em vez de armazenar o nome completo:
# usuario.nome_validado = 'Joao da Silva'

# Armazene apenas o resultado:
usuario.cpf_validado = True
usuario.data_validacao = datetime.now()
```

### Defina TTL para dados em cache

Se precisar de cache para evitar consultas repetidas, defina um tempo de expiração (TTL) curto:

* **Cache de sessão** — expira ao final da sessão do usuário.

* **Cache temporário** — TTL de 1 a 24 horas, dependendo da finalidade.

* **Sem cache persistente** — para dados que não precisam ser reutilizados.

### Documente as decisões de minimização

Mantenha um registro interno de quais campos são usados em cada processo e a justificativa. Isso facilita auditorias e demonstra conformidade proativa.

---

## Riscos de não minimizar

* **Maior impacto em caso de vazamento** — Quanto mais dados armazenados, maior o dano em caso de incidente de segurança.

* **Sanções da ANPD** — A coleta excessiva de dados é uma infração à LGPD, sujeita a multas e sanções administrativas.

* **Custo de armazenamento desnecessário** — Dados que não são usados ocupam espaço e geram custos de infraestrutura sem valor de negócio.

* **Complexidade na resposta a titulares** — Quanto mais dados tratados, mais complexo é o processo de atender solicitações de acesso, correção e exclusão.

---

## Minimização e os planos da CPFHub.io

A API da CPFHub.io retorna um conjunto fixo de campos em cada consulta — a minimização acontece no seu código, ao filtrar o que persiste. Os planos disponíveis são:

* **Gratuito** — R$ 0, 50 consultas/mês. Ideal para testes e validações pontuais.

* **Pro** — R$ 149/mês, 1.000 consultas/mês. Para operações regulares com volume moderado.

* **Corporativo** — Sob consulta. Para grandes volumes com SLA de 99,9%.

Independentemente do plano, a prática de minimização deve ser aplicada em todos os cenários.

---

## Perguntas frequentes

### O que é o princípio da minimização de dados na LGPD e como ele se aplica a consultas de CPF?
O artigo 6°, inciso III da LGPD determina que o tratamento de dados deve se limitar ao mínimo necessário para a finalidade declarada. Ao consultar CPF, isso significa: filtrar os campos retornados pela API antes de persistir, não armazenar o CPF cru se um hash ou token for suficiente, e definir prazo de retenção proporcional à finalidade. A ANPD pode aplicar multas de até 2% do faturamento por coleta excessiva.

### Devo armazenar todos os campos da resposta da API do CPFHub.io para fins de auditoria?
Não necessariamente. Para fins de auditoria regulatória (como PLD/FT), é suficiente registrar o timestamp da consulta, o resultado (CPF válido/inválido) e o identificador da operação — sem precisar persistir nome, gênero ou data de nascimento. O log de auditoria prova que a consulta foi feita; os dados pessoais em si não precisam estar no log se não forem necessários para a finalidade.

### Como implementar minimização sem prejudicar a experiência do usuário no onboarding?
A minimização acontece no backend, transparente para o usuário. Na prática: a API retorna todos os campos, seu código extrai apenas os necessários para a etapa atual (ex.: só `name` para confirmação de identidade), e descarta o restante antes de salvar. O usuário experimenta a mesma velocidade e qualidade de verificação — a diferença está no que fica armazenado após a sessão.

### A API do CPFHub.io permite consultar apenas campos específicos para minimizar os dados na origem?
A API do CPFHub.io retorna um conjunto fixo de campos em cada resposta — a seleção de campos não acontece na origem, mas no seu código de consumo. A abordagem recomendada é processar a resposta completa em memória e persistir somente os campos definidos para cada finalidade de negócio. Isso é compatível com os requisitos da LGPD, pois o dado em trânsito é protegido por HTTPS e não é considerado "armazenamento".

### Leia também

- [Como implementar data minimization ao consultar CPFs via API](https://cpfhub.io/blog/como-implementar-data-minimization-ao-consultar-cpfs-via-api)
- [Como armazenar respostas de APIs de CPF sem comprometer a privacidade](https://cpfhub.io/blog/armazenar-respostas-apis-cpf-privacidade)
- [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)
- [Base legal para tratamento de CPF: consentimento vs. legítimo interesse](https://cpfhub.io/blog/base-legal-para-tratamento-de-cpf-consentimento-vs-legitimo-interesse)

---

## Conclusão

A minimização de dados não é apenas uma exigência legal da LGPD — é uma prática de segurança e governança que reduz riscos, simplifica processos e protege tanto a empresa quanto os titulares. Ao consultar CPFs via API, extraia apenas os campos necessários, evite armazenamento excessivo e documente suas decisões.

Cadastre-se em [cpfhub.io](https://www.cpfhub.io/) — 50 consultas mensais gratuitas, sem cartão de crédito — e implemente consultas de CPF com minimização de dados desde o primeiro dia de integração.

