
OCR de documentos brasileiros com IA: CNH, RG e comprovantes
Como extrair campos de CNH, RG e comprovantes com modelos de visão, validar CPF e datas e tratar o dado pessoal com minimização, de acordo com a LGPD.
Quer aplicar isso na sua empresa?
Agendar conversa com o Juan →OCR de documentos brasileiros com IA: CNH, RG e comprovantes
Para fazer OCR de documentos brasileiros com IA, envie a imagem a um modelo de visão com um esquema fixo de campos, peça só o que o processo realmente precisa, valide cada campo com regras determinísticas (dígitos verificadores do CPF, formato e coerência das datas) e descarte a imagem assim que a conferência terminar. O modelo lê, o código valida e uma pessoa decide os casos duvidosos. Esse desenho entrega um resultado útil e reduz a exposição de dados pessoais ao mínimo necessário.
Principais pontos
- Modelos de visão leem documentos fotografados pelo celular com mais tolerância a brilho, ângulo e layout do que o OCR tradicional, mas continuam podendo errar um dígito.
- A extração deve usar um esquema fechado de campos, com valor nulo quando o texto estiver ilegível, nunca um palpite.
- Validação não é tarefa do modelo: CPF, datas, CEP e coerência entre campos se resolvem com código simples e testável.
- Minimização é parte do desenho: extrair só o necessário, mascarar nos logs, definir prazo de retenção e não guardar a imagem sem motivo claro.
- OCR não prova autenticidade. Ler o documento é diferente de confirmar que ele é verdadeiro e pertence a quem o enviou.
Por que usar modelo de visão em vez de OCR tradicional?
O OCR tradicional converte pixels em texto e deixa a interpretação para você. Em documentos brasileiros isso costuma dar trabalho: a CNH tem versões diferentes, o RG varia conforme o estado e a época de emissão, e comprovantes de residência mudam de layout a cada concessionária. Cada variação exige regras de posição ou modelos de template.
Um modelo de visão recebe a imagem e entende o contexto. Ele identifica que aquele número ao lado de um rótulo de validade é uma data, mesmo que o layout seja novo. Isso reduz a manutenção de templates e tolera fotos feitas no celular, com inclinação ou reflexo.
A troca é a previsibilidade. O OCR tradicional falha de forma visível (texto truncado ou ausente). O modelo de visão pode devolver um campo bem formatado e errado, por exemplo um oito lido como três. Por isso o desenho precisa de uma camada de validação depois da leitura, e não confiança direta no que o modelo devolve. A mesma lógica vale para PDFs, como mostramos em extrair dados de PDF com IA: campos, regras e conferência humana.
Quais campos extrair de CNH, RG e comprovante de residência?
Comece pela pergunta de negócio: o que o processo precisa saber? Quem faz um cadastro de cliente raramente precisa de todos os campos do documento. Uma lista enxuta por tipo ajuda a decidir.
Na CNH, os campos mais comuns são nome, CPF, data de nascimento, número de registro, categoria, data de validade, data da primeira habilitação e local de emissão. Se o objetivo é conferir se a habilitação está vigente, por exemplo em uma locação, basta nome, categoria e validade.
No RG, costumam aparecer nome, filiação, data de nascimento, naturalidade, número de registro e data de expedição. O formato do número varia entre estados, e modelos mais recentes da carteira de identidade podem usar o CPF como número de registro. Não assuma um padrão único: trate o número do RG como texto livre com validação leve.
No comprovante de residência (conta de luz, água, telefone ou internet), os campos úteis são nome do titular, endereço completo, CEP, nome da empresa emissora e data de emissão ou vencimento. A data importa porque muitos processos pedem comprovante recente, e a regra de recência é sua, não do modelo.
Uma regra prática: se você não consegue explicar para que um campo será usado, não o extraia.
Como pedir a extração ao modelo
A instrução precisa ser curta, com saída estruturada e sem margem para criatividade. Os pontos que mais importam:
- Defina o tipo do documento antes, ou peça ao modelo que classifique entre CNH, RG, comprovante ou outro, com a opção de recusar.
- Entregue um esquema de saída fixo, com nome, tipo e formato esperado de cada campo.
- Instrua que campos ilegíveis ou ausentes voltem como nulos, com a proibição explícita de completar ou deduzir valores.
- Peça datas no formato ISO e CPF apenas com dígitos, para facilitar a validação posterior.
- Peça um indicador de qualidade da imagem (legível, parcialmente legível, ilegível) para decidir se vale pedir nova foto.
Há ainda um risco de segurança pouco lembrado: a imagem é uma entrada não confiável. Um texto escrito em uma foto pode tentar dar instruções ao modelo. Trate o conteúdo do documento sempre como dado, nunca como comando, e limite o que o sistema pode fazer com a resposta. A lista OWASP Top 10 para aplicações com LLM descreve esse tipo de risco, e o texto sobre guardrails em agentes de IA detalha como validar entrada, saída e ação.
Como validar CPF, datas e outros formatos?
A validação é código comum, rápido e fácil de testar. Ela transforma um texto lido por um modelo em um dado em que você pode confiar um pouco mais.
- CPF: confira se tem onze dígitos, descarte sequências com todos os dígitos iguais e calcule os dois dígitos verificadores pelo algoritmo oficial (módulo onze). Se o cálculo não bate, o campo vai para revisão ou para nova foto.
- Datas: confirme o formato dia, mês e ano, rejeite datas impossíveis e verifique a coerência. A data de nascimento não pode estar no futuro, a validade da CNH deve ser posterior à primeira habilitação, e a idade resultante precisa ser plausível para o processo.
- Vigência: compare a validade do documento com a data do dia. Um documento vencido não é erro de leitura, é uma regra de negócio que merece resposta própria.
- CEP: oito dígitos. Se houver consulta a um serviço de endereços, compare cidade e UF com o que o comprovante informa.
- Nome: compare com o nome informado pelo cliente, com normalização de acentos, maiúsculas e abreviações, e use uma tolerância pequena e definida, nunca decisão automática de rejeição.
- Coerência entre documentos: se o cliente envia CNH e comprovante, o nome deve ser compatível. Divergência não é fraude, é motivo de conferência humana.
Um CPF com dígitos verificadores corretos está bem formado, mas isso não prova que existe, que está regular ou que pertence à pessoa. Para esse tipo de confirmação é preciso uma fonte oficial ou um serviço de verificação contratado, com base legal e finalidade claras.
Como aplicar minimização de dados no fluxo?
A LGPD pede que o tratamento use apenas o necessário para a finalidade. Em OCR de documentos isso se traduz em decisões concretas de arquitetura, e não em um texto genérico de política. O portal da ANPD é o ponto de partida para acompanhar orientações oficiais.
- Finalidade definida: escreva em uma frase para que o documento é lido (por exemplo, confirmar titularidade de um cadastro) e não reutilize para outra coisa sem reavaliar.
- Campos mínimos: extraia só o que a finalidade exige. Se a data de validade basta, não guarde filiação nem naturalidade.
- Imagem efêmera: processe a imagem e descarte. Se precisar guardá-la para auditoria, defina prazo, local com acesso restrito e responsável.
- Logs mascarados: registre que o CPF foi validado, não o CPF inteiro. Mostre apenas os últimos dígitos quando houver necessidade de conferência.
- Fornecedor do modelo: leia os termos de retenção e uso de dados da API contratada, confirme se os dados enviados ficam fora de treinamento e avalie onde são processados.
- Acesso por papel: só quem confere exceções vê o documento, e cada acesso fica registrado.
- Direitos do titular: tenha um caminho para atender pedidos de acesso, correção e exclusão, inclusive nas cópias e nos logs.
Se o fluxo trata muitos documentos ou envolve decisões que afetam a pessoa, vale avaliar um relatório de impacto. O artigo sobre RIPD para projetos de IA explica quando fazer e o que incluir. E se a leitura do documento alimenta uma aprovação ou recusa automática, leia também sobre decisões automatizadas na LGPD.
Cenário ilustrativo: cadastro por WhatsApp
Imagine uma empresa de locação de equipamentos que faz cadastro de clientes pelo WhatsApp. É um cenário ilustrativo, não um caso real. Hoje, um atendente recebe a foto da CNH e do comprovante e digita os dados no sistema.
No fluxo desenhado, o cliente envia as duas fotos. O sistema classifica cada imagem e extrai apenas nome, CPF, categoria e validade da CNH, e nome, endereço e data do comprovante. O código valida o CPF, a vigência e a data do comprovante. Em seguida, o agente devolve ao cliente um resumo curto e pede confirmação: o nome e o final do CPF estão corretos?
Se algum campo falha na validação ou a imagem está ruim, o agente pede uma nova foto, no máximo uma vez, e depois encaminha para um atendente. Quando o cadastro é concluído, as imagens são removidas do armazenamento temporário, e o sistema guarda os campos necessários, com o CPF mascarado nos logs. O atendente continua responsável pela aprovação final.
A parte de conversa depende de boas práticas do canal. Para a base técnica, veja como integrar IA no WhatsApp da sua empresa.
Como colocar em prática: mapear, limitar, pilotar e transferir
O método que usamos em projetos de IA se aplica bem a este caso, sem atalhos.
- Mapear: descreva como o documento chega, quem o lê hoje, que decisão depende dele e quais erros já acontecem. Esse levantamento é a linha de base para comparar depois.
- Limitar: escolha os campos mínimos, defina o que o agente nunca faz (aprovar, recusar, consultar bases externas sem autorização) e restrinja dados e ações.
- Pilotar: rode um único fluxo real, com logs, um conjunto de documentos de teste e uma métrica de sucesso acordada, como a taxa de campos corretos sem edição humana. O guia sobre como medir um piloto de automação com IA ajuda a definir critérios de decisão.
- Transferir: entregue a operação com documentação, responsáveis e rotina de revisão, e decida com base nos dados se o piloto expande, muda ou termina.
Para o conjunto de teste, monte exemplos variados: fotos escuras, documentos cortados, versões antigas e novas, comprovantes de várias empresas. O material da Anthropic sobre avaliações de agentes de IA ajuda a estruturar esse tipo de teste, e vale repeti-lo sempre que trocar de modelo ou de instrução.
Ler o documento é automático. Confiar nele é uma decisão de processo.
Perguntas frequentes
Modelo de visão substitui o OCR tradicional? Em muitos casos sim, principalmente quando os documentos variam de layout e vêm de fotos de celular. Para volumes grandes de um único formato bem controlado, o OCR tradicional pode ser mais barato e previsível. O critério é medir os dois no seu conjunto de documentos.
Posso guardar a foto do documento? Depende da finalidade e da base legal do seu processo, e a regra de partida é guardar apenas se houver necessidade clara, por tempo definido e com acesso restrito. Se a imagem só serve para extrair campos, descartar após a conferência é a opção mais segura. Em caso de dúvida, consulte o encarregado de dados ou um advogado de proteção de dados.
A validação do CPF confirma que a pessoa é quem diz ser? Não. Ela confirma que o número está bem formado pelo cálculo dos dígitos verificadores. Verificar situação cadastral ou identidade exige outra fonte e outro tratamento de dados, com finalidade e base legal próprias.
O que fazer quando o modelo não consegue ler um campo? Devolver o campo como nulo e seguir o fluxo de exceção: pedir uma nova foto uma vez e, persistindo o problema, encaminhar para uma pessoa. Nunca preencha o campo por dedução do modelo, porque um erro silencioso em um dado pessoal custa mais do que uma conferência manual.