Web Release Notes
14/05/2026
Web Version 2.5.0
- Important security updates.
- Internal dependency updates.
- Introduction of the
FortfaceSDKCustomizerinterface, a unified API for cross-platform customization (Face and Documents). - Support for rendering in smaller containers using the
Embeddedcustomization. - New instruction screen customizations:
title,noItemsMessage,placeMessage,positionMessage,backgroundIconColor, andbuttonText. - 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
- Version 2.4.1 with adjustments for CSP compatibility.
Access CSP page
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
startorstartDocmethods. - Now, these steps have been moved to the
startSessionandstartSessionDocmethods, ensuring a more precise scope: camera permissions are requested only when capture is actually about to begin.
- Previously, the SDK requested camera access permission and performed browser validation at the start of
- BREAKING CHANGE: New errors thrown by the
start,startDoc, andstartDocUploadmethods.- Previously, the SDK would throw
FortfaceError.FORTFACE_START_ERRORfor any failure during the execution ofstart,startDoc, orstartDocUpload. - 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 thedeviceRequestInfoneeded 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 thestartmethod.
- See all errors that are no longer thrown:
FortfaceError.FORTFACE_START_ERROR.FortfaceError.FORTFACE_BROWSER_UNSUPPORTED.FortfaceError.FORTFACE_CAMERA_ACCESS.
- Previously, the SDK would throw
- BREAKING CHANGE: New error codes returned by the
startSession,startSessionDoc, andstartSessionDocUploadmethods.FortfaceSessionErrorCode.notInitialized: ThestartSession(orstartSessionDocorstartSessionDocUpload) method was called before the correspondingstart(orstartDocorstartDocUpload) method had been executed.FortfaceSessionErrorCode.cameraDisconnected: The camera was disconnected during capture and the customizationshowPreviewModalIfError(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.
- See: Error handling.
14/10/2025
Web Version 2.3.1
- Internal dependency updates.
- Optimized time to cancel facial biometrics capture.
- Implementation of the
imgPreviewfield in theIFortfaceDatainterface for document capture:- The image is provided as a JPEG in base64, maintaining the original orientation.
- Currently, the
imgPreviewfield 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.fileInvalidinfinishedSessionEngine. - 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 (
localhostor127.0.0.1).
- The runtime environment must now support HTTPS encryption, otherwise the SDK will not initialize and throw the error
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.
- The customization of these new brightness elements is available via the interface
- Option to open the rear camera when starting face capture via the
useBackCameraparameter in theIFortfaceSessionDetailsinterface.- By default,
useBackCameraisfalseand the front camera is used.
- By default,
- Option to collect device geolocation for antifraud purposes via the
getGeolocationparameter in theIFortfaceSessionDetailsinterface.- By default,
getGeolocationisfalse. - 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.
- By default,
- New customization to always display the button that opens the camera selection modal, via the parameter
IFortfaceCamera.switchCameraButtonVisible.- By default,
switchCameraButtonVisibleisfalseand the button is shown only if there is a failure opening the camera.
- By default,
- New customization to hide frames around positioning messages during face capture, via the parameter
IFortfaceCamera.frameTextVisible.- By default,
frameTextVisibleistrueand frames are displayed around positioning messages.
- By default,
- New customization to not display the camera selection modal, via
IFortfaceCameraPreview.showPreviewModalIfError.- By default,
showPreviewModalIfErroristrueand the camera selection modal is shown.
- By default,
- Added validation for invalid
sessionKey, returning the new errorFortfaceSessionErrorCode.invalidSessionKeyinfinishedSessionEngine.- Returned immediately when calling
startSession,startSessionDocorstartUploadDocUpload. - Blocks SDK initialization and avoids crash at the end of capture.
- Returned immediately when calling
- 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.
- 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
- 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/loaderpackage:import { defineCustomElements, applyPolyfills } from 'fortface-sdk/loader';
applyPolyfills().then(() => defineCustomElements(window)); - Now,
applyPolyfillsis not returned anymore and this setup is done automatically:import { defineCustomElements } from 'fortface-sdk/loader';
defineCustomElements(window);
- Previously, the function was returned from the
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.ERRORand the errorFortfaceSessionErrorCode.cameraErrorin 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.cameraErroris no longer emitted and has been removed from theFortfaceSessionErrorCodeenum.
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
setMediaPlaybackRequiresUserGestureof 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.
- In these scenarios, when the default setting
- New optional argument of type
IFortfaceSessionDetailsto thestartSessionmethod.- This object allows you to add additional usability controls to the session.
- The first available option is the
returnMetricsfield, which when set totruemakes thefortfaceFinishSessioncallback return, in addition to the session result, a set of metrics about the process infortfaceSessionResult.sessionDetails.metrics. If not enabled, this field will beundefined. - 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
actionin theIFortfaceSessionResultis equal toFortfaceActionEnum.ERROR. -
Previously, specific error info was returned in the
errorfield inside thedataobject, 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.errorCodedirectly inIFortfaceSessionResult, and theerrorfield has been removed fromIFortfaceData:interface IFortfaceSessionResult {
action: FortfaceActionEnum;
data: IFortfaceData;
sessionDetails?: {
errorCode?: FortfaceSessionErrorCode;
};
}
interface IFortfaceData {
encryptData?: {
data: string;
imgData?: string;
key: string;
};
imgPreview?: string;
} -
Impact for integrators:
- The
errorfield inIFortfaceDatano longer exists. Any logic depending on it needs to be updated. - To identify the occurred error, now use
sessionDetails.errorCodeinIFortfaceSessionResult, when theactionfield isFortfaceActionEnum.ERROR.
- The
-
-
Evaluation of anomalies in face coloration.
-
New instruction screen customizations.
- The
IFortfaceInstruction.titleColorfield allows customizing the instruction screen title text color. - The
IFortfaceInstruction.textColorfield allows customizing the instruction text color. - The old
IFortfaceInstruction.textColorfield is now deprecated. Update your code to use the new fields as it will be removed in future versions.
- The
-
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.