Para evitar cadastros falsos em e-commerce, valide o CPF informado via API no momento do cadastro: se o CPF não existir na base da Receita Federal ou o nome retornado divergir do nome declarado, bloqueie o cadastro antes que ele gere qualquer transação fraudulenta. Contas criadas com dados inventados, CPFs de terceiros ou informações inconsistentes são usadas para compras fraudulentas, abuso de promoções e lavagem de dinheiro. A validação de CPF via API no momento do cadastro é a defesa mais eficaz contra esse problema — e o CERT.br documenta o crescimento consistente desse tipo de fraude no Brasil.
Tipos de cadastros falsos
-
CPF inventado -- Número gerado aleatoriamente que não existe na base.
-
CPF de terceiros -- Fraudador usa o CPF de outra pessoa.
-
Dados inconsistentes -- Nome não corresponde ao CPF.
-
Contas duplicadas -- Mesmo CPF em múltiplas contas para abusar promoções.
-
Bots -- Scripts que criam centenas de contas automaticamente.
Estratégia 1: Validar CPF no cadastro
A primeira e mais importante defesa é consultar a API no momento do cadastro.
import requests
def validar_cadastro(cpf: str, nome: str) -> dict:
# 1. Validar formato localmente
cpf_limpo = cpf.replace('.', '').replace('-', '')
if len(cpf_limpo) != 11 or not cpf_limpo.isdigit():
return {'valido': False, 'motivo': 'Formato invalido'}
# 2. Consultar API
url = f'https://api.cpfhub.io/cpf/{cpf_limpo}'
headers = {
'x-api-key': 'SUA_CHAVE_DE_API',
'Accept': 'application/json'
}
response = requests.get(url, headers=headers, timeout=10)
resultado = response.json()
if not resultado.get('success'):
return {'valido': False, 'motivo': 'CPF nao encontrado'}
# 3. Comparar nome
nome_real = resultado['data']['nameUpper']
nome_informado = nome.upper().strip()
if nome_informado not in nome_real and nome_real not in nome_informado:
return {'valido': False, 'motivo': 'Nome divergente'}
return {'valido': True, 'nome_confirmado': resultado['data']['name']}
Estratégia 2: Impedir contas duplicadas
import hashlib
def verificar_duplicata(cpf: str, banco_dados) -> bool:
cpf_hash = hashlib.sha256(cpf.encode()).hexdigest()
return banco_dados.existe_conta_com_cpf_hash(cpf_hash)
Armazene o hash do CPF (nunca o CPF em texto plano) e verifique antes de criar a conta.
Estratégia 3: Validação em camadas
| Camada | O que verifica | Quando |
|---|---|---|
| 1. Formato | 11 dígitos, dígitos verificadores | Imediato (local) |
| 2. API | CPF existe, nome confere | On-blur (~900ms) |
| 3. Duplicata | CPF já cadastrado | Antes de criar conta |
| 4. E-mail | E-mail válido e verificado | Após cadastro |
| 5. Telefone | SMS de confirmação | Para transações |
Estratégia 4: Rate limiting no endpoint de cadastro
Proteja contra bots que tentam criar contas em massa.
-
Limite de tentativas de cadastro por IP.
-
CAPTCHA após falhas consecutivas.
-
Bloqueio temporário de IPs suspeitos.
Estratégia 5: Monitoramento pós-cadastro
Mesmo com validação no cadastro, monitore contas novas:
-
Período probatório -- Limites de compra nos primeiros 7-30 dias.
-
Alertas -- Padrões suspeitos (muitas compras, valores altos, múltiplos endereços).
-
Revalidação -- Consultar CPF novamente antes de transações de alto valor.
Impacto da validação
| Métrica | Sem validação | Com validação CPF |
|---|---|---|
| Cadastros falsos | 15-25% | < 2% |
| Fraudes em compras | 3-5% | < 0,5% |
| Abuso de promoções | Alto | Mínimo |
| Contas duplicadas | Frequente | Bloqueado |
Perguntas frequentes
Por que apenas o formato do CPF não é suficiente para bloquear cadastros falsos?
O algoritmo de dígitos verificadores é público. Qualquer gerador online ou IA cria CPFs matematicamente válidos. A única verificação eficaz é consultar o CPF em uma base cadastral real para confirmar que ele pertence a uma pessoa existente.
Em qual etapa do cadastro devo validar o CPF?
No momento em que o usuário submete o formulário, antes de criar o registro no banco de dados. Validar depois — como em processos de KYC pós-cadastro — permite que contas falsas já existam no sistema, aumentando o risco de uso antes da verificação.
O que fazer quando o nome informado diverge do nome no CPF?
Bloqueie o cadastro e solicite correção. A divergência de nome é o indicador mais forte de dados falsificados ou uso de CPF de terceiro. Em contextos onde erros de digitação são comuns, permita uma segunda tentativa com orientação sobre o nome exato.
Devo informar ao usuário que o CPF foi rejeitado?
Sim, mas sem detalhar o motivo técnico. Uma mensagem como "Não foi possível verificar seus dados. Confira o CPF e o nome informados." é suficiente para usuários legítimos corrigirem erros sem dar pistas a fraudadores sobre como contornar a validação.
Conclusão
Cadastros falsos são evitáveis com validação de CPF via API no momento certo. Combinando verificação de existência, cruzamento de nome, prevenção de duplicatas e monitoramento pós-cadastro, seu e-commerce elimina a principal porta de entrada para fraudes. A CPFHub.io oferece o Plano Grátis com 50 consultas/mês para você começar sem custo — e escalar conforme o volume do seu negócio.
Cadastre-se em cpfhub.io
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.



