Tipos de Erro
O SDK categoriza erros em tipos específicos para facilitar o tratamento:Estrutura do Erro
Tratamento de Erros
Usando Callback
Usando try/catch
Mensagens Amigáveis
Converta erros técnicos em mensagens compreensíveis para o usuário:Content Security Policy (CSP)
Se a sua aplicação utiliza Content Security Policy, você precisará permitir as seguintes origens para que o SDK funcione corretamente:Boas Práticas
Segurança
API Key
Nunca exponha a API Key no código frontend em produção. Use variáveis de
ambiente ou carregue de um endpoint seguro.
Arquivo CEK
Mantenha o CEK em um endpoint com autenticação. Considere carregá-lo
dinamicamente quando necessário.
HTTPS
O SDK requer conexão segura em produção. A API
getUserMedia só funciona em
contextos seguros (HTTPS ou localhost).Validação
Valide os resultados no seu backend antes de confiar neles.
Performance
1
Pré-carregue o CEK
Carregue o CEK antes do usuário iniciar a verificação para evitar delays.
2
Container com dimensões fixas
Defina dimensões fixas no container para evitar reflows durante a
renderização.
3
Cleanup na API Avançada
Se estiver usando a API Avançada (
init / startLivenessCheck / teardown),
sempre chame teardown() em um bloco finally. Na API Simples (run()),
o cleanup é automático.Experiência do Usuário
Feedback Visual
Use os callbacks
onProgress para mostrar feedback ao usuário durante cada
etapa.Mensagens Claras
Traduza os erros técnicos em mensagens compreensíveis para o usuário final.
Instruções Claras
Personalize as instruções para seu público-alvo usando
hubOptions.strings.Ambiente Adequado
Oriente o usuário sobre iluminação e posicionamento antes de iniciar a
verificação.
Integração com Frameworks
Serviço Reutilizável
Checklist de Verificação
Antes de reportar um problema, verifique os itens abaixo:1
SDK Carregado
Confirme que o script do SDK foi carregado corretamente (
ValidHub está
disponível globalmente).2
HTTPS
A página está sendo servida via HTTPS (obrigatório para acesso à câmera).
Em desenvolvimento,
localhost é aceito.3
Navegador Compatível
Verifique se o navegador suporta WebCrypto API e
getUserMedia
(Chrome 60+, Firefox 55+, Safari 14.1+, Edge 79+).4
CEK Válido
O CEK está acessível e não expirou.
5
Credenciais
API Key está correta e o ambiente (
env) está configurado corretamente.6
Container
O elemento container existe no DOM antes de chamar
hub.run().7
Permissões
O navegador tem permissão para acessar a câmera.
8
CSP
Se a sua aplicação usa Content Security Policy, verifique se as origens
necessárias estão permitidas (veja seção CSP acima).
Referências
Instalação
Revise os requisitos e configurações
Implementação
Veja exemplos de código