Web Release Notes

14/05/2026

Web Version 2.5.0

  • Important security updates.
  • Internal dependency updates.
  • Introduction of the FortfaceSDKCustomizer interface, a unified API for cross-platform customization (Face and Documents).
  • Support for rendering in smaller containers using the Embedded customization.
  • New instruction screen customizations: title, noItemsMessage, placeMessage, positionMessage, backgroundIconColor, and buttonText.
  • Change in standard visual identity.

07/05/2026

Web Version 2.4.4

  • Important security updates.
  • Improvements in face capture.
  • CDN Import: the recommended integration path is now via bootstrap CDN. If you are still using local installation via pnpm/npm, refer to the legacy pages: biometrics, capdoc.

File: fortface-sdk-v2.4.4.tgz

02/04/2026

Web Version 2.4.3

  • Important security updates.
  • Internal dependency updates.

18/03/2026

Web Version 2.4.2-CSP

  • Important security updates.
  • Version 2.4.2 with adjustments for CSP compatibility.
    Access CSP page

18/03/2026

Web Version 2.4.2

  • Important security updates.

05/03/2026

Web Version 2.4.1-CSP

05/03/2026

Web Version 2.4.1

  • Important security updates.
  • Internal dependency updates.
  • New instruction screen customizations with the following parameters:
    • IFortfaceInstructions.title;
    • IFortfaceInstructions.noItemsMessage;
    • IFortfaceInstructions.placeMessage;
    • IFortfaceInstructions.expressionMessage;
    • IFortfaceInstructions.positionMessage;
    • IFortfaceInstructions.backgroundIconColor;
    • IFortfaceInstructions.buttonText;

11/11/2025

Web Version 2.4.0

  • Internal dependency updates.
  • Enhanced document capture experience on desktop and larger screens, with an optimized layout for non-mobile devices.
  • Improved handling of disconnected cameras during face biometrics capture.
  • Fixed a visual bug when switching face positioning messages, which could give the impression of slowness during capture.
  • BREAKING CHANGE: Changed the flow for camera permission requests and browser validation.
    • Previously, the SDK requested camera access permission and performed browser validation at the start of start or startDoc methods.
    • Now, these steps have been moved to the startSession and startSessionDoc methods, ensuring a more precise scope: camera permissions are requested only when capture is actually about to begin.
  • BREAKING CHANGE: New errors thrown by the start, startDoc, and startDocUpload methods.
    • Previously, the SDK would throw FortfaceError.FORTFACE_START_ERROR for any failure during the execution of start, startDoc, or startDocUpload.
    • Now, the generic error has been discontinued and replaced with specific errors:
      • FortfaceError.FORTFACE_INSECURE_PROTOCOL: The SDK is running in an insecure environment (e.g., via HTTP).
      • FortfaceError.FORTFACE_GENERATE_DEVICE_REQUEST_INFO_ERROR: Failure to generate the deviceRequestInfo needed for the handshake.
      • FortfaceError.FORTFACE_INTERNAL_SETUP_ERROR: Failure to initialize required internal resources to start the session.
      • FortfaceError.FORTFACE_UNEXPECTED_START_ERROR: Unexpected error during execution of the start method.
    • See all errors that are no longer thrown:
      • FortfaceError.FORTFACE_START_ERROR.
      • FortfaceError.FORTFACE_BROWSER_UNSUPPORTED.
      • FortfaceError.FORTFACE_CAMERA_ACCESS.
  • BREAKING CHANGE: New error codes returned by the startSession, startSessionDoc, and startSessionDocUpload methods.
    • FortfaceSessionErrorCode.notInitialized: The startSession (or startSessionDoc or startSessionDocUpload) method was called before the corresponding start (or startDoc or startDocUpload) method had been executed.
    • FortfaceSessionErrorCode.cameraDisconnected: The camera was disconnected during capture and the customization showPreviewModalIfError (to choose another camera) is disabled.
    • FortfaceSessionErrorCode.noCompatibleVideoDevice: No compatible camera found.
    • FortfaceSessionErrorCode.cameraPermissionDenied: The user denied permission to access the camera.
    • FortfaceSessionErrorCode.cameraUnavailable: The camera is unavailable (blocked by another app or system).
    • FortfaceSessionErrorCode.cameraAccessPolicyRestricted: Access denied by security policies, usually when running the SDK inside an iframe.
    • FortfaceSessionErrorCode.cameraAccessUnexpectedError: An unexpected error occurred while accessing the camera.
    • FortfaceSessionErrorCode.browserUnsupported: The browser is not compatible with facial biometrics capture.
    • FortfaceSessionErrorCode.browserValidationUnexpectedError: An unexpected error occurred while validating the browser.
  • Updated documentation: A new error handling section was added to the documentation. It provides detailed explanations and code examples for handling the new errors introduced in this version.

14/10/2025

Web Version 2.3.1

  • Internal dependency updates.
  • Optimized time to cancel facial biometrics capture.
  • Implementation of the imgPreview field in the IFortfaceData interface for document capture:
    • The image is provided as a JPEG in base64, maintaining the original orientation.
    • Currently, the imgPreview field is not available for document upload.
  • Improved handling of invalid PDFs during document upload:
  • Password-protected or page-less PDFs are now detected, returning the new error code FortfaceSessionErrorCode.fileInvalid in finishedSessionEngine.
  • Corrupted PDFs continue to be rejected with the error FortfaceSessionErrorCode.fileCorrupted.
  • New security requirement:
    • The runtime environment must now support HTTPS encryption, otherwise the SDK will not initialize and throw the error FortfaceError.FORTFACE_INSECURE_PROTOCOL.
    • Exceptions apply to development environments (localhost or 127.0.0.1).

03/10/2025

Web Version 2.3.0

  • Internal dependency updates.
  • Introduction of low/high brightness alerts on the face during pose positioning in face capture.
    • The customization of these new brightness elements is available via the interface IFortfaceCamera.brightnessEvaluation.
  • Option to open the rear camera when starting face capture via the useBackCamera parameter in the IFortfaceSessionDetails interface.
    • By default, useBackCamera is false and the front camera is used.
  • Option to collect device geolocation for antifraud purposes via the getGeolocation parameter in the IFortfaceSessionDetails interface.
    • By default, getGeolocation is false.
    • If enabled, the SDK will request user permission to collect location.
    • If the user denies permission, the facial biometrics capture resumes normally without location collection.
  • New customization to always display the button that opens the camera selection modal, via the parameter IFortfaceCamera.switchCameraButtonVisible.
    • By default, switchCameraButtonVisible is false and the button is shown only if there is a failure opening the camera.
  • New customization to hide frames around positioning messages during face capture, via the parameter IFortfaceCamera.frameTextVisible.
    • By default, frameTextVisible is true and frames are displayed around positioning messages.
  • New customization to not display the camera selection modal, via IFortfaceCameraPreview.showPreviewModalIfError.
    • By default, showPreviewModalIfError is true and the camera selection modal is shown.
  • Added validation for invalid sessionKey, returning the new error FortfaceSessionErrorCode.invalidSessionKey in finishedSessionEngine.
    • Returned immediately when calling startSession, startSessionDoc or startUploadDocUpload.
    • Blocks SDK initialization and avoids crash at the end of capture.
  • The document upload feature now supports sending PDF files.
    • If the browser does not support PDF preview, a different message is shown to the user, asking to confirm the filename and size before sending. The title and subtitle for this message can be customized via IFortfaceDocUpload.pdfPreviewUnavailable.
  • Accessibility improvements:
    • Increased clickable area for cancel buttons.
    • The noFaceRoll customization property was discontinued and replaced by new direction-specific properties: faceRollLeft and faceRollRight, facilitating correct positioning for visually impaired users during biometric capture.
    • The faceNoCenter property was discontinued and replaced by faceCenterLeft, faceCenterRight, faceCenterUp, and faceCenterDown.
    • Properties neutralColor and startMessage were discontinued. Now the SDK starts facial biometrics with the alertColor for the oval and positioning message frames.
  • BREAKING CHANGE: Change in applyPolyfills function usage.
    • Previously, the function was returned from the fortface-sdk/loader package:
      import { defineCustomElements, applyPolyfills } from 'fortface-sdk/loader';
      applyPolyfills().then(() => defineCustomElements(window));
    • Now, applyPolyfills is not returned anymore and this setup is done automatically:
      import { defineCustomElements } from 'fortface-sdk/loader';
      defineCustomElements(window);

23/09/2025

Web Version 2.2.5

  • General stability improvements.
  • Significant reduction in camera opening time for face biometrics capture.

17/09/2025

Web Version 2.2.4

  • BREAKING CHANGE: Update in SDK behavior when detecting loss of focus during face biometrics capture (e.g., clicks outside the screen, tab change, browser minimization).
  • Before: The SDK emitted the action FortfaceActionEnum.ERROR and the error FortfaceSessionErrorCode.cameraError in those situations, interrupting capture.
  • Now: Capture is paused and a new modal is shown to the user, offering options to resume or cancel the capture.
    • If the user chooses to resume, the SDK reopens the camera and continues as normal, simplifying integration for clients.
    • If canceled, the SDK emits the action FortfaceActionEnum.CANCEL, as occurs when closing capture with the X icon.
    • If there is no interaction with the modal for 1 minute, the SDK emits the action FortfaceActionEnum.TIMEOUT.
  • The error FortfaceSessionErrorCode.cameraError is no longer emitted and has been removed from the FortfaceSessionErrorCode enum.

09/09/2025

Web Version 2.2.3

  • Fixed face landmark detection process for Android devices, especially Samsung.

05/09/2025

Web Version 2.2.2

  • Fixed detection of browser and OS version on iOS devices.
    • In some cases, especially when desktop view mode was activated in the browser, the SDK incorrectly interpreted the device and browser versions, causing compatible devices to be rejected even when above the minimum required.
  • Fixed face point detection process on iOS devices between versions 15.4 and 17.
    • In these cases, the SDK could not correctly identify the face position for biometrics capture, impacting usability.
  • With these corrections, the SDK once again fully supports iOS devices from version 15.4 onwards.

28/07/2025

Web Version 2.2.1

  • Fixed behavior in third-party webviews that require user interaction to start videos (such as embedded webviews in third-party apps / in-app browsers).
    • In these scenarios, when the default setting setMediaPlaybackRequiresUserGesture of the webview is enabled (true), the SDK now displays a button so that the user can manually start the camera stream, ensuring the necessary consent for video display.
  • New optional argument of type IFortfaceSessionDetails to the startSession method.
    • This object allows you to add additional usability controls to the session.
    • The first available option is the returnMetrics field, which when set to true makes the fortfaceFinishSession callback return, in addition to the session result, a set of metrics about the process in fortfaceSessionResult.sessionDetails.metrics. If not enabled, this field will be undefined.
    • This object is constantly evolving, getting new parameters as new features are added to the SDK.

15/07/2025

Web Version 2.2.0

  • Document upload.

  • Customization of elements on the document upload screen.

  • New camera preview selection screen when detecting failure to open.

  • BREAKING CHANGE: Change to the error structure of the session result.

    • The way to identify which error occurred has changed, but the detection of an error occurred remains the same: check if action in the IFortfaceSessionResult is equal to FortfaceActionEnum.ERROR.

    • Previously, specific error info was returned in the error field inside the data object, as shown:

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

      interface IFortfaceData {
      encryptData?: {
      data: string;
      imgData?: string;
      key: string;
      };
      imgPreview?: string;
      error?: {
      code: string;
      message: string;
      };
      }
    • Now, this info is returned in the optional field sessionDetails.errorCode directly in IFortfaceSessionResult, and the error field has been removed from IFortfaceData:

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

      interface IFortfaceData {
      encryptData?: {
      data: string;
      imgData?: string;
      key: string;
      };
      imgPreview?: string;
      }
    • Impact for integrators:

      • The error field in IFortfaceData no longer exists. Any logic depending on it needs to be updated.
      • To identify the occurred error, now use sessionDetails.errorCode in IFortfaceSessionResult, when the action field is FortfaceActionEnum.ERROR.
  • Evaluation of anomalies in face coloration.

  • New instruction screen customizations.

    • The IFortfaceInstruction.titleColor field allows customizing the instruction screen title text color.
    • The IFortfaceInstruction.textColor field allows customizing the instruction text color.
    • The old IFortfaceInstruction.textColor field is now deprecated. Update your code to use the new fields as it will be removed in future versions.
  • Increased clickable area of close icons for easier usability.

  • Correct position for the DEBUG mode flag when modal mode is enabled.

13/03/2025

Web Version 2.1.0

  • Manual document capture.
  • Customization of elements on the document capture screen.
  • Fixed handling for errors when opening the camera.

05/02/2025

Web Version 2.0.0

  • Reduced time required for camera opening.
  • New timeout_ready state, indicating when the SDK could not be ready for capture within the configured time.
  • Improved device data collection, capturing the camera label used for device mapping.
  • Increased unit test coverage for greater stability.
  • Fixed Poppins font as the default, with fallback to sans-serif in case of loading failure.
  • Support for modal mode for more flexible display.
  • Added Metrics payload for cancellation, timeout, and timeout_ready events.