Web release notes

14/05/2026

Web Versão 2.5.0

  • Atualizações importantes de segurança.
  • Atualização de dependências internas.
  • Introdução da interface FortfaceSDKCustomizer, uma API unificada para customização entre plataformas (Face e Documentos).
  • Suporte para renderização em containers menores com a customização Embedded.
  • Novas customizações da tela de instrução, title, noItemsMessage, placeMessage, positionMessage, backgroundIconColor e buttonText.
  • Mudança de identidade visual padrão.

07/05/2026

Web Versão 2.4.4

  • Atualizações importantes de segurança.
  • Melhorias na captura facial.
  • Importação via CDN: o caminho recomendado de integração agora é via bootstrap CDN. Quem ainda usa instalação local via pnpm/npm deve consultar as páginas legadas: biometria, capdoc.

Arquivo: fortface-sdk-v2.4.4.tgz

02/04/2026

Web Versão 2.4.3

  • Atualizações importantes de segurança.
  • Atualização de dependências internas.

18/03/2026

Web Versão 2.4.2-CSP

  • Atualizações importantes de segurança.
  • Versão 2.4.2 com adequações para funcionamento de CSP.
    Acesso página CSP

18/03/2026

Web Versão 2.4.2

  • Atualizações importantes de segurança.

05/03/2026

Web Versão 2.4.1-CSP

05/03/2026

Web Versão 2.4.1

  • Atualizações importantes de segurança.
  • Atualização de dependências internas.
  • Novas customizações na tela de instrução, através dos seguintes parâmetros:
    • IFortfaceInstructions.title;
    • IFortfaceInstructions.noItemsMessage;
    • IFortfaceInstructions.placeMessage;
    • IFortfaceInstructions.expressionMessage;
    • IFortfaceInstructions.positionMessage;
    • IFortfaceInstructions.backgroundIconColor;
    • IFortfaceInstructions.buttonText;

11/11/2025

Web Versão 2.4.0

  • Atualização de dependências internas.
  • Melhoria na experiência de captura de documentos em desktop e telas maiores, com layout otimizado para dispositivos não móveis.
  • Melhoria no tratamento de câmeras desconectadas durante a captura de biometria facial.
  • Correção de um bug visual na troca de mensagens de posicionamento do rosto, que poderia transmitir a impressão de lentidão na captura.
  • BREAKING CHANGE: Alteração no fluxo de solicitação de permissão da câmera e validação do navegador.
    • Anteriormente, SDK solicitava a permissão de acesso à câmera e realizava a validação do navegador no início da execução dos métodos start ou startDoc.
    • Agora, essas etapas foram movidas para os métodos startSession e startSessionDoc, garantindo um escopo mais preciso: a permissão da câmera é solicitada somente quando a captura realmente será iniciada.
  • BREAKING CHANGE: Novos erros lançados nos métodos start, startDoc e startDocUpload.
    • Anteriormente, o SDK lançava o erro FortfaceError.FORTFACE_START_ERROR para qualquer falha durante a execução do método start, startDoc e startDocUpload.
    • Agora, o erro genérico foi descontinuado e substituído por erros específicos:
      • FortfaceError.FORTFACE_INSECURE_PROTOCOL: O SDK está sendo executado em um ambiente não seguro (por exemplo, via HTTP).
      • FortfaceError.FORTFACE_GENERATE_DEVICE_REQUEST_INFO_ERROR: Falha ao gerar o deviceRequestInfo, necessário para o handshake.
      • FortfaceError.FORTFACE_INTERNAL_SETUP_ERROR: Falha na inicialização de recursos internos obrigatórios para iniciar a sessão.
      • FortfaceError.FORTFACE_UNEXPECTED_START_ERROR: Erro inesperado ocorrido durante a execução do método start.
    • Confira todos os erros que deixaram de ser lançados:
      • FortfaceError.FORTFACE_START_ERROR.
      • FortfaceError.FORTFACE_BROWSER_UNSUPPORTED.
      • FortfaceError.FORTFACE_CAMERA_ACCESS.
  • BREAKING CHANGE: Lançamento de novos códigos de erros nos métodos startSession, startSessionDoc e startSessionDocUpload.
    • FortfaceSessionErrorCode.notInitialized: O método startSession (ou startSessionDoc ou startSessionDocUpload) foi chamado antes do método start (ou startDoc ou startDocUpload, respectivamente) ter sido executado.
    • FortfaceSessionErrorCode.cameraDisconnected: A câmera foi desconectada durante a captura e a customização showPreviewModalIfError (para escolher outra câmera) está desativada.
    • FortfaceSessionErrorCode.noCompatibleVideoDevice: Nenhuma câmera compatível foi encontrada.
    • FortfaceSessionErrorCode.cameraPermissionDenied: O usuário negou a permissão de acesso à câmera.
    • FortfaceSessionErrorCode.cameraUnavailable: A câmera está indisponível (bloqueada por outro recurso ou pelo sistema).
    • FortfaceSessionErrorCode.cameraAccessPolicyRestricted: Acesso negado por políticas de segurança, geralmente ao executar o SDK dentro de um iframe.
    • FortfaceSessionErrorCode.cameraAccessUnexpectedError: Ocorreu um erro inesperado ao acessar a câmera.
    • FortfaceSessionErrorCode.browserUnsupported: O navegador não é compatível com a captura de biometria facial.
    • FortfaceSessionErrorCode.browserValidationUnexpectedError: Ocorreu um erro inesperado ao validar o navegador.
  • Documentação atualizada: Uma nova seção de tratamento de erros foi adicionada à documentação. Inclui explicações detalhadas e exemplos de código para lidar com os novos erros introduzidos nesta versão.

14/10/2025

Web Versão 2.3.1

  • Atualizações de dependências internas.
  • Otimização de tempo para cancelar a captura de biometria facial.
  • Implementação do campo imgPreview na interface IFortfaceData para captura de documentos:
    • A imagem é fornecida como um JPEG no formato base64, mantendo a orientação original.
    • Atualmente, o campo imgPreview não está disponível para upload de documentos.
  • Aprimoramento no tratamento de PDFs inválidos durante o upload de documentos:
  • PDFs protegidos por senha ou sem páginas são agora detectados, retornando o novo código de erro FortfaceSessionErrorCode.fileInvalid no finishedSessionEngine.
  • PDFs corrompidos continuam sendo rejeitados com o erro FortfaceSessionErrorCode.fileCorrupted.
  • Novo requisito de segurança:
    • Agora é necessário que o ambiente de execução suporte criptografia HTTPS, caso contrário, o SDK não inicializará e lançará o erro FortfaceError.FORTFACE_INSECURE_PROTOCOL.
    • Exceções são aplicáveis a ambientes de desenvolvimento (localhost ou 127.0.0.1).

03/10/2025

Web Versão 2.3.0

  • Atualização de dependências internas.
  • Introdução de alertas de baixa ou alta luminosidade no rosto durante o posicionamento na captura facial.
    • A customização destes novos elementos de luminosidade estão disponíveis na interface IFortfaceCamera.brightnessEvaluation.
  • Possibilidade de abertura da câmera traseira ao iniciar a captura facial através do parâmetro useBackCamera na interface IFortfaceSessionDetails.
    • Por padrão, o valor do parâmetro useBackCamera é false e a câmera frontal é usada.
  • Possibilidade de coleta de coordenadas geográficas do dispositivo para reforço nos mecanismos antifraude através do parâmetro getGeolocation na interface IFortfaceSessionDetails.
    • Por padrão, o valor do parâmetro getGeolocation é false.
    • Caso ativado, o SDK solicitará ao usuário a permissão de coleta de localização.
    • Em caso de negativa do usuário, a captura da biometria facial continua normalmente sem coleta de localização.
  • Nova customização para sempre exibir o botão que abre o modal de seleção de câmera, através do parâmetro IFortfaceCamera.switchCameraButtonVisible.
    • Por padrão, o valor do parâmetro switchCameraButtonVisible é false e o botão que abre o modal de seleção de câmera não é exibido, apenas ao ocorrer uma falha na abertura da câmera.
  • Nova customização para não exibir os frames ao redor das mensagens de posicionamento na captura facial, através do parâmetro IFortfaceCamera.frameTextVisible.
    • Por padrão, o valor do parâmetro frameTextVisible é true e os frames ao redor das mensagens de posicionamento são exibidos.
  • Nova customização para não exibir o modal de seleção de câmera, através do parâmetro IFortfaceCameraPreview.showPreviewModalIfError.
    • Por padrão, o valor do parâmetro showPreviewModalIfError é true e o modal de seleção de câmera é exibido.
  • Adicionada validação para sessionKey inválido, retornando o novo erro FortfaceSessionErrorCode.invalidSessionKey no finishedSessionEngine
    • Retornado imediatamente ao chamar startSession, startSessionDoc ou startUploadDocUpload.
    • Impede a abertura do SDK e evita crash ao final da captura.
  • A funcionalidade de upload de documentos agora suporta o envio de arquivos no formato PDF.
    • Caso o navegador não suporte a exibição de PDFs, uma mensagem diferente é exibida ao usuário, solicitando para confirmar o nome e tamanho do arquivo antes do envio. O título e subtitulo da mensagem são personalizáveis através da propriedade de customização IFortfaceDocUpload.pdfPreviewUnavailable.
  • Melhorias de acessibilidade:
    • Aumento da área clicável dos botões de cancelamento.
    • A propriedade de customização noFaceRoll foi descontinuada e substituída pelas propriedades direcionais específicas: faceRollLeft e faceRollRight, facilitando o correto posicionamento de pessoas com deficiência visual durante a captura biométrica.
    • A propriedade faceNoCenter foi descontinuada e substituída pelas propriedades direcionais específicas: faceCenterLeft, faceCenterRight, faceCenterUp e faceCenterDown.
    • As propriedades neutralColor e startMessage foram descontinuadas. De agora em diante, o SDK inicia a captura de biometria facial com a cor alertColor no oval e nos frames das mensagens de posicionamento.
  • BREAKING CHANGE: Alteração na função de retorno applyPolyfills.
    • Anteriormente, a função applyPolyfills era retornado dentro do pacote fortface-sdk/loader.
      import { defineCustomElements, applyPolyfills } from 'fortface-sdk/loader';
      applyPolyfills().then(() => defineCustomElements(window));
    • Agora, a função applyPolyfills não será retornada com isso não há necessidade dessa configuração que será feita de forma automática.
      import { defineCustomElements } from 'fortface-sdk/loader';
      defineCustomElements(window);

23/09/2025

Web Versão 2.2.5

  • Melhorias de estabilidade geral.
  • Redução significativa no tempo de abertura da câmera para captura de biometria facial.

17/09/2025

Web Versão 2.2.4

  • BREAKING CHANGE: Atualização no comportamento do SDK ao detectar alteração de foco durante a captura da biometria facial (ex: cliques fora da tela, troca de aba, minimização do navegador).
  • Antes: O SDK emitia a action FortfaceActionEnum.ERROR e o erro FortfaceSessionErrorCode.cameraError nessas situações, interrompendo a captura.
  • Agora: A captura é pausada e um novo modal é exibido ao usuário, oferecendo as opções de retomar ou cancelar a captura.
    • Se o usuário optar por retomar, o SDK reabre a câmera e continua o fluxo normalmente, simplificando a integração para os clientes.
    • Se o usuário cancelar, o SDK emite a action FortfaceActionEnum.CANCEL, assim como ocorre ao fechar a captura pelo ícone de X.
    • Se não houver interação com o modal por 1 minuto, o SDK emitirá a action FortfaceActionEnum.TIMEOUT.
  • O erro FortfaceSessionErrorCode.cameraError não é mais emitido e foi removido do enum FortfaceSessionErrorCode.

09/09/2025

Web Versão 2.2.3

  • Correção no processo de detecção dos pontos faciais em dispositivos Android, em especial os da fabricante Samsung.

05/09/2025

Web Versão 2.2.2

  • Correção na detecção da versão do navegador e do sistema operacional em dispositivos iOS.
    • Em alguns cenários, principalmente quando a visualização em modo desktop estava ativada no navegador, o SDK interpretava incorretamente a versão do dispositivo e do navegador. Isso fazia com que dispositivos compatíveis fossem rejeitados mesmo estando acima da versão mínima exigida.
  • Correção no processo de detecção dos pontos faciais em dispositivos iOS entre as versões 15.4 e 17.
    • Nesses casos, o SDK não conseguia identificar corretamente a posição do rosto para a captura da biometria, impactando a usabilidade.
  • Com essas correções, o SDK volta a oferecer suporte completo a dispositivos iOS a partir da versão 15.4.

28/07/2025

Web Versão 2.2.1

  • Correção no comportamento em webviews de terceiros que exigem interação do usuário para iniciar vídeos (como webviews embutidas em aplicativos de terceiros / in-app browsers).
    • Nesses cenários, quando a configuração padrão setMediaPlaybackRequiresUserGesture da webview está ativa (true), o SDK agora apresenta um botão para que o usuário inicie manualmente a transmissão da câmera, garantindo o consentimento necessário para a exibição do vídeo de posicionamento facial.
  • Novo argumento opcional do tipo IFortfaceSessionDetails no método startSession.
    • Esse objeto permite adicionar outros controles de usabilidade à sessão.
    • A primeira opção disponível é o campo returnMetrics, que quando definido como true faz com que o callback fortfaceFinishSession retorne, além do resultado da sessão, um conjunto de métricas sobre o processo em fortfaceSessionResult.sessionDetails.metrics. Caso não seja habilitado, esse campo será undefined.
    • Esse objeto está em constante evolução, recebendo novos parâmetros à medida que funcionalidades são adicionadas ao SDK.

15/07/2025

Web Versão 2.2.0

  • Upload de documentos.

  • Customização de elementos da tela de upload de documentos.

  • Nova tela de seleção de câmera preview ao identificar erro na abertura.

  • BREAKING CHANGE: Alteração na estrutura de erro do resultado da sessão.

    • A forma de identificar qual erro ocorreu foi modificada, mas a detecção de que um erro aconteceu continua a mesma: verifique se action, da interface IFortfaceSessionResult é igual a FortfaceActionEnum.ERROR.

    • Anteriormente, as informações específicas sobre o erro eram retornadas no campo error dentro do objeto data, conforme exemplo:

      interface IFortfaceSessionResult {
      action: FortfaceActionEnum;
      data: IFortfaceData;
      }

      interface IFortfaceData {
      encryptData?: {
      data: string;
      imgData?: string;
      key: string;
      };
      imgPreview?: string;
      error?: {
      code: string;
      message: string;
      };
      }
    • Agora, essa informação é retornada no campo opcional sessionDetails.errorCode diretamente no objeto IFortfaceSessionResult, e o campo error foi removido de IFortfaceData:

      interface IFortfaceSessionResult {
      action: FortfaceActionEnum;
      data: IFortfaceData;
      sessionDetails?: {
      errorCode?: FortfaceSessionErrorCode;
      };
      }

      interface IFortfaceData {
      encryptData?: {
      data: string;
      imgData?: string;
      key: string;
      };
      imgPreview?: string;
      }
    • Impacto para integradores:

      • O campo error de IFortfaceData não existe mais. Qualquer lógica que dependia dele precisa ser atualizada.
      • Para identificar o erro ocorrido, utilize agora sessionDetails.errorCode em IFortfaceSessionResult, quando o campo action for FortfaceActionEnum.ERROR.
  • Avaliação de anomalias na coloração do rosto.

  • Novas customizações da tela de instruções.

    • O campo IFortfaceInstruction.titleColor permite a customização da cor do texto do título da tela de instruções.
    • O campo IFortfaceInstruction.textColor permite a customização da cor do texto das instruções.
    • O antigo campo IFortfaceInstruction.textColor foi depreciado. Atualize o seu código para utilizar os novos campos pois em versões futuras ele será removido.
  • Aumento da área de clique dos ícones de fechar para maior facilidade de uso.

  • Correção do posicionamento da bandeira indicativa do modo DEBUG quando o modo modal está ativo.

13/03/2025

Web Versão 2.1.0

  • Captura manual de documentos.
  • Customização de elementos da tela de captura de documentos.
  • Correção de tratamento ao dar erro em abertura de câmera.

05/02/2025

Web Versão 2.0.0

  • Redução no tempo necessário para a abertura da câmera.
  • Novo estado timeout_ready, indicando quando o SDK não conseguiu estar pronto para captura dentro do tempo configurado.
  • Melhoria na obtenção de dados do dispositivo, com captura da label da câmera utilizada para mapear dispositivos.
  • Aumento da cobertura de testes unitários para maior estabilidade.
  • Correção para usar a fonte Poppins como padrão e fallback para fontes sem serifa em caso de falha no carregamento.
  • Suporte ao modo modal para maior flexibilidade de exibição.
  • Adição do payload Metrics para os eventos de cancelamento, timeout e timeout_ready.