LGPD e inteligência artificial: implicações do uso de CPF em modelos de ML

Entenda as implicações legais e técnicas do uso de dados de CPF em modelos de machine learning sob a perspectiva da LGPD.

Redação CPFHub.io
Redação CPFHub.io
··7 min de leitura
LGPD e inteligência artificial: implicações do uso de CPF em modelos de ML

Usar CPF como feature em modelos de ML exige anonimização antes do treinamento, base legal específica e mecanismos de explicabilidade — requisitos diretos do artigo 20 da LGPD. Dados de CPF coletados para verificação cadastral não podem ser reutilizados em pipelines de IA sem uma nova justificativa legal, e o titular tem direito de solicitar revisão humana de qualquer decisão tomada exclusivamente por algoritmo.

Introdução

A inteligência artificial e o machine learning estão transformando a forma como empresas processam dados, desde a análise de crédito até a detecção de fraudes. No entanto, quando modelos de ML utilizam dados de CPF -- diretamente ou como feature para enriquecimento -- surgem questões complexas de conformidade com a LGPD. O uso de identificadores pessoais em algoritmos automatizados exige transparência, justificativa legal e medidas técnicas de proteção.


O que a LGPD diz sobre decisões automatizadas

O artigo 20 da LGPD garante ao titular o direito de solicitar a revisão de decisões tomadas unicamente com base em tratamento automatizado de dados pessoais. Isso inclui decisões sobre:

  • Definição de perfil pessoal, profissional, de consumo ou de crédito.
  • Aspectos relacionados à personalidade do titular.

Requisitos legais para uso de CPF em ML

  • Transparência: o titular deve ser informado de que seus dados de CPF são utilizados em processamento automatizado.
  • Explicabilidade: a empresa deve ser capaz de explicar os critérios e a lógica do tratamento.
  • Revisão humana: o titular pode solicitar que uma pessoa revise a decisão automatizada.
  • Base legal adequada: o tratamento deve estar amparado por base legal específica.

Riscos do uso de CPF em modelos de ML

Viés algorítmico

Dados de CPF podem ser utilizados indiretamente para inferir informações sensíveis -- como região de origem ou faixa etária -- que podem introduzir viés discriminatório nos modelos.

Reidentificação

Mesmo que o CPF seja anonimizado, a combinação com outros dados (como data de nascimento e gênero) pode permitir a reidentificação do titular, violando o princípio da anonimização.

Retenção em modelos treinados

Dados de CPF utilizados no treinamento de modelos podem ficar "gravados" nos pesos do modelo, dificultando o exercício do direito de exclusão pelo titular.

Finalidade desviada

Dados de CPF coletados para verificação cadastral não podem ser reutilizados para treinamento de modelos de ML sem uma nova base legal.


Boas práticas para uso de CPF em pipelines de ML

Anonimização antes do treinamento

import hashlib
import pandas as pd
import requests
from typing import Optional

def anonimizar_cpf_para_ml(cpf: str, salt: str) -> str:
    """Anonimiza CPF para uso em datasets de treinamento."""
    return hashlib.sha256(f"{salt}{cpf}".encode()).hexdigest()[:16]

def preparar_dataset_seguro(df: pd.DataFrame, salt: str) -> pd.DataFrame:
    """Prepara dataset removendo dados identificáveis e mantendo features úteis."""

    df_seguro = df.copy()

    # Substituir CPF por hash anonimizado
    df_seguro["cpf_hash"] = df_seguro["cpf"].apply(
    lambda x: anonimizar_cpf_para_ml(x, salt)
    )

    # Remover CPF original
    df_seguro.drop(columns=["cpf", "nome"], inplace=True)

    # Manter apenas features relevantes para o modelo
    df_seguro["faixa_etaria"] = pd.cut(
    df_seguro["idade"],
    bins=[0, 25, 35, 45, 55, 65, 100],
    labels=["18-25", "26-35", "36-45", "46-55", "56-65", "65+"]
    )
    df_seguro.drop(columns=["idade", "data_nascimento"], inplace=True)

    return df_seguro

# Exemplo
dados = pd.DataFrame({
    "cpf": ["12345678901", "98765432100"],
    "nome": ["João Silva", "Maria Santos"],
    "idade": [34, 28],
    "data_nascimento": ["1991-03-15", "1997-08-22"],
    "score_credito": [720, 680]
})

dados_seguros = preparar_dataset_seguro(dados, salt="meu_salt_secreto_2025")
print(dados_seguros)

Enriquecimento de dados com a API do CPFHub.io

Quando necessário enriquecer dados para treinamento, utilize a API de forma responsável:

curl -X GET "https://api.cpfhub.io/cpf/12345678901" \
    -H "x-api-key: SUA_API_KEY" \
    -H "Accept: application/json" \
    --max-time 30
def enriquecer_e_anonimizar(cpf: str, api_key: str, salt: str) -> Optional[dict]:
    """Consulta API, extrai features e anonimiza antes de salvar."""

    try:
    response = requests.get(
    f"https://api.cpfhub.io/cpf/{cpf}",
    headers={
    "x-api-key": api_key,
    "Accept": "application/json"
    },
    timeout=30
    )

    if response.status_code == 200:
    dados = response.json()["data"]

    # Extrair features sem identificadores
    features = {
    "id_anonimo": anonimizar_cpf_para_ml(cpf, salt),
    "genero": dados.get("gender"),
    "ano_nascimento": dados.get("year"),
    "faixa_etaria": calcular_faixa_etaria(int(dados.get("year", 0)))
    }

    # Não armazenar CPF, nome ou data completa de nascimento
    return features

    except requests.exceptions.Timeout:
    print(f"[WARN] Timeout ao consultar CPF")

    return None

def calcular_faixa_etaria(ano_nascimento: int) -> str:
    from datetime import date
    idade = date.today().year - ano_nascimento
    if idade < 25: return "18-25"
    elif idade < 35: return "26-35"
    elif idade < 45: return "36-45"
    elif idade < 55: return "46-55"
    elif idade < 65: return "56-65"
    return "65+"

Registro de tratamento para modelos de ML

Documente cada uso de dados de CPF em pipelines de ML:

import json
from datetime import datetime, timezone

def registrar_uso_ml(modelo: str, dataset_id: str, cpfs_processados: int):
    """Registra o uso de dados de CPF em treinamento de modelo."""

    registro = {
    "timestamp": datetime.now(timezone.utc).isoformat(),
    "modelo": modelo,
    "dataset_id": dataset_id,
    "total_registros": cpfs_processados,
    "dados_utilizados": ["genero", "faixa_etaria"],
    "dados_excluidos": ["cpf", "nome", "data_nascimento_completa"],
    "metodo_anonimizacao": "sha256_com_salt",
    "base_legal": "legitimo_interesse",
    "ripd_referencia": "RIPD-2025-003",
    "responsavel": "equipe_ml@empresa.com",
    "revisao_proxima": "2025-10-11"
    }

    with open("ml_data_usage.log", "a") as f:
    f.write(json.dumps(registro, ensure_ascii=False) + "\n")

    return registro

Direito de explicação e revisão

Implementando explicabilidade

Para cumprir o artigo 20 da LGPD, implemente mecanismos que expliquem como o modelo utiliza dados derivados de CPF:

  • Utilize técnicas como SHAP ou LIME para gerar explicações locais.
  • Mantenha documentação atualizada sobre as features do modelo e suas fontes.
  • Disponibilize um canal para que o titular solicite revisão da decisão automatizada.

Direito de exclusão em modelos treinados

Quando um titular solicita a exclusão de seus dados, considere:

  • Remover os dados do dataset de treinamento.
  • Avaliar a necessidade de retreinar o modelo.
  • Documentar a ação tomada e justificar se o retreinamento não for viável.

Governança de dados para ML

Estabeleça uma política de governança que inclua:

  • Comitê de ética em IA: grupo multidisciplinar que avalia o uso de dados pessoais em modelos.
  • Avaliação de impacto prévia: todo novo modelo que utilize dados derivados de CPF deve passar por RIPD.
  • Monitoramento de viés: avalie periodicamente se o modelo apresenta discriminação baseada em dados correlacionados ao CPF.
  • Versionamento de datasets: mantenha histórico de quais dados foram utilizados em cada versão do modelo.
  • Catálogo de features: documente a origem e o método de transformação de cada feature.

Perguntas frequentes

Posso usar CPF como feature direta em um modelo de ML?

Não é recomendado. O CPF como feature direta não agrega valor preditivo ao modelo e cria riscos legais sérios — especialmente o risco de reidentificação quando combinado com outras variáveis. A abordagem correta é extrair as features derivadas (gênero, faixa etária) via API e descartar o identificador antes do treinamento.

Depende do contexto. Legítimo interesse pode ser invocado quando o enriquecimento visa prevenção de fraudes, mas exige documentação de RIPD e balancing test. Para modelos de crédito, a base costuma ser execução de contrato ou cumprimento de obrigação legal. Consulte o DPO da empresa antes de iniciar o pipeline.

O que acontece se um titular pedir exclusão dos dados usados em treinamento?

A empresa deve avaliar se é tecnicamente viável remover o registro do dataset sem comprometer o modelo. Se o retreinamento não for viável, a ação e sua justificativa devem ser documentadas. A ANPD reconhece limitações técnicas, mas exige que a empresa demonstre esforço razoável e medidas compensatórias.

A API CPFHub.io pode ser usada para enriquecimento de datasets sem bloquear por volume?

Sim. O plano gratuito oferece 50 consultas por mês sem cartão de crédito. Para enriquecimento de datasets maiores, o plano Pro inclui 1.000 consultas mensais por R$149. Se o limite for ultrapassado, a API não bloqueia: cobra R$0,15 por consulta adicional — permitindo processar datasets de qualquer tamanho.


Conclusão

O uso de dados de CPF em modelos de machine learning é tecnicamente possível e pode trazer benefícios concretos, mas exige uma abordagem responsável e em conformidade com a LGPD. Anonimização rigorosa, documentação detalhada, explicabilidade dos modelos e respeito aos direitos dos titulares são requisitos indispensáveis para operar nesse cenário.

Ao integrar fontes de dados confiáveis e em conformidade com a LGPD, como a API do CPFHub.io, sua equipe de dados pode enriquecer features de forma responsável sem comprometer a privacidade dos titulares.

Cadastre-se em cpfhub.io — 50 consultas mensais gratuitas, sem cartão de crédito.

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