e-Safer - Captura de documento com OCR e biometria
Três gerações de captura documental para a e-Safer, do primeiro app iOS em 2016 ao aplicativo Android integrado ao Kofax TotalAgility.
Transformar foto de documento em dado confiável
A e-Safer atua com segurança da informação e prevenção a fraude. A captura documental é o ponto em que essas duas coisas se encontram: alguém fotografa um documento com o celular, e desse retrato precisa sair dado estruturado e confiável o suficiente para sustentar uma decisão.
A parceria com a X-Apps atravessou três gerações de produto, entre 2016 e 2019, cada uma respondendo a uma pergunta diferente.
O desafio permanente
- A foto é tirada por quem não é especialista, com o aparelho que tem na mão, na luz que existe. O reconhecimento automático falha em parte dos casos, e o fluxo precisa continuar funcionando quando isso acontece. Reconhecimento de texto e prova de vida são etapas diferentes, e tratá-las como uma só trava o processo inteiro.
Primeira geração: separar o que estava grudado
O aplicativo iOS de 2016 tinha problemas concretos de uso: travava ao tirar a segunda foto e contava errado as fotos em alguns aparelhos.
O trabalho foi além de corrigir o defeito. As mudanças estruturais foram três:
- Separar o reconhecimento de texto da biometria. Estavam acoplados, e isso significava que uma falha em qualquer um dos dois derrubava o outro. Independentes, cada etapa passou a falhar sozinha. Tornar a requisição assíncrona, para atender ao modo como o serviço de certificação processava os envios, em vez de deixar o usuário esperando de pé na frente da tela. Refazer a interface e traduzir o aplicativo, que estava em outro idioma.
As versões foram distribuídas em builds sucessivos ao longo de semanas, e não numa entrega única no fim.
Segunda geração: captura integrada ao Kofax
A segunda geração nasceu de uma pergunta de produto: o que exatamente a e-Safer precisava ter, comparada ao aplicativo de demonstração da plataforma de captura que ela usava?
A resposta virou um estudo formal, tela a tela, mapeando o aplicativo de referência e propondo o equivalente para a operação da e-Safer: entrada, captura de documento, documentos pendentes, assistente, ajuda e sobre.
Desse estudo saiu um aplicativo Android que captura os documentos do processo de crédito, carteira de habilitação, documento do veículo e cédula de crédito, e envia em segundo plano para a plataforma de captura, com um modelo de dados próprio por tipo de documento.
Duas decisões de desenho merecem registro:
- Sem tela de configuração de servidor dentro do aplicativo. Toda a gestão de usuários e de ambiente ficou no back end da e-Safer. O aplicativo em campo não expõe endereço de servidor nem pede que o usuário escolha ambiente. * Envio em segundo plano, para que a captura não ficasse refém do tempo de resposta da plataforma.
O estudo também registrou por escrito o que não estava claro, incluindo comportamentos do aplicativo de referência que precisavam de confirmação do fabricante. Documentar a dúvida evita que ela vire suposição no código.
Terceira geração: a plataforma completa
A terceira frente foi a maior: uma plataforma de financiamento de veículos, com aplicativo, portal web para as financiadoras, painel administrativo e API.
No aplicativo. Cadastro e acesso, marca e modelo do veículo, foto da carteira de habilitação com reconhecimento de texto, foto do documento do veículo com reconhecimento de texto, fotos do veículo em todos os ângulos e os aceites formais do processo.
Na API. Autenticação com token, controle de acesso por papel e permissão, cadastro de clientes e de usuários por financiadora, envio de e-mail, notificação push, integração com o serviço de reconhecimento de documento, armazenamento de imagens em nuvem, e o fluxo de propostas e contrapropostas entre as partes.
Um detalhe de campo mudou o desenho da câmera: a captura da carteira de habilitação ganhou máscara nativa de enquadramento, integrada ao recurso de câmera do sistema. Guiar o enquadramento na hora da foto é mais barato que corrigir depois, porque evita o reenvio.
Stack e práticas
- Primeira geração em Ionic, com distribuição de builds por plataforma de testes. Segunda geração em Android, integrada por SDK à plataforma de captura documental, com chamadas ao serviço da plataforma e alternância de porta conforme o uso de canal seguro. Terceira geração em React Native no aplicativo, incluindo câmera com máscara nativa, e React com Redux no portal web e no painel administrativo. Autenticação com token e controle de acesso por papel e permissão. Serviço externo de reconhecimento de documento encapsulado por uma camada própria, de modo que o fornecedor pudesse mudar sem espalhar alteração pelo sistema. Armazenamento de imagens em nuvem. Notificação push e validação por mensagem de texto.
Cada onda começou por um levantamento escrito, com esforço estimado item a item, antes do desenvolvimento.
Precisa transformar documento em dado?
Captura documental parece um problema de câmera e é, na verdade, um problema de fluxo: o que acontece quando o reconhecimento falha, quem confirma, onde fica a configuração, quanto o usuário espera. A X-Apps constrói esse fluxo inteiro, do enquadramento na tela ao dado que chega estruturado do outro lado.