Liveness
Liveness is an optional face recognition feature that improves security by scanning the face of the user. The process detects the face of a human being using a smart-phone camera, webcam, or any incorporated camera without the need for advanced sensors. It is used to ensure the actor running the journey is a real person, not a photograph or an impersonator. This prevents frauds, and helps process clients efficiently.
How the process works
The detection algorithm captures multiple 2D frames over a short time span, then uses AI to recreate a 3D representation of the person. The process involves capturing 30-90 frontal frames to render a 3D object using a camera. It has a Certified Liveness Check (ISO 30107-3, DEA EPCS).
This is not a selfie, but a video that takes snapshots of a human face from different angles to ensure an exact build of a 3D FaceMap. The algorithms pay attention to human features and how they are presented and ask the person to move closer to the camera to take further photos to confirm the presence of a human being.
The liveness detection is not fooled by:
- photos/ videos
- dolls
- masks
- people who look alike
- projections
Install
You can load sdk/dcs-liveness-component.js and sdk/dcs-liveness-component.js.map in 2 ways:
-
Place them in the custom-on-demand folder and import them using injectScriptAsync method (recommended), for example:
if (window.LivenessComponent == undefined) {
var slash = ebs.getBaseUrl().slice(-1) === "/" ? "" : "/";
await ebs.injectScriptAsync(
ebs.getBaseUrl() +
slash +
"custom-on-demand/components/dcs-liveness-component.js"
);
}
If you're using a Custom Flow that uses ebs.importClientScript, you can not use async/await.
2. Place them in the custom folder. In this case, the script will be imported by default.
How to call constructor Liveness Component
In a custom flow, insert the following JavaScript:
const livenessConfig: ILivenessConfig = {
containerElement: document.getElementById("livenessContainer")
resourcesLocation: "",
localization: {},
uiCustomization: {},
globalState: {},
afterInitCallback: data => {},
maxCounter: 3,
requests: {
getSessionToken: (userAgentString) => {
return
ebs.callActionByNameAsync("FTOS_DCS_Liveness_SessionToken", {
userAgentString: userAgentString
})
},
getServerResponse: (userAgentString, parameters) => {
return
ebs.callActionByNameAsync("FTOS_DCS_Liveness_Check", {
userAgentString: userAgentString,
parameters: parameters
})
},
cancelInFlightRequests: (() => {});
};
};
const liveness = new LivenessComponent(livenessConfig);
How to call the Liveness processor within the Face Recognition processor
Starting with Ecosystem SysPack 2.5.0, in the Face Recognition processor settings, in the settings code editor, add the following parameters to configure liveness detection:
| Setting | JSON Key | Description |
|---|---|---|
| Liveness detection method | livenessCheck | Supports the following values:
|
| Face recognition provider | livenessMatch | Sets the service provider for face recognition comparison to either Microsoft or FaceTec. |
| Audio guidance | livenessAudio | Provides audio guidance for liveness detection by setting the parameter to a numeric value between 0 (for minimal guidance) and 1 (for full guidance). To customize the audio files, overwrite the Vocal_Guidance_Audio_Files folder, but do not change the file names. |
| Keep all snapshots | saveMultipleFacetecImages | Set it to true to save all the snapshots taken during liveness detection instead of saving just the first one. |
In the Face Recognition processor settings, in the settings code editor, insert the key isLiveness : true to enable the feature.
{
"DestinationEntityName": "FTOS_Test_Facetec_Applicant",
"SourceEntityName": "FTOS_Test_Facetec",
"SourceLookupDestinationName": "applicantData",
"FileAttributeName": "pictureOcr",
"MinimumAcceptedConfidence": 3,
"livenessCheck": "Liveness2D",
"livenessMatch": "Facetec",
"DisableSaveBrowserDetails": false,
"DisableLogSDKMessages": false,
"LogLevel": "debug",
"maskNextStepURLSuccess": {
"entity":"FTOS_Test_Facetec",
"form": "FTOS_Test_FacetecFDF",
"section": "Success"
},
"maskNextStepURLFail": {
"entity":"FTOS_Test_Facetec",
"form": "FTOS_Test_FacetecFDF",
"section": "Fail"
},
"businessStatusSuccess": "Face Recognition Valid",
"businessStatusFail": "Face Recognition Failed"
}
{
"CustomUI": "",
"SourceEntityName": "FTOS_Test_Facetec",
"Entities":[
{
"DestinationEntityName":"FTOS_Test_Facetec_Applicant",
"SourceEntityName":"FTOS_Test_Facetec",
"SourceLookupDestinationName":"applicantData"
},
{
"DestinationEntityName":"FTOS_Test_Facetec_ApplicantAddress",
"SourceEntityName":"FTOS_Test_Facetec",
"SourceLookupDestinationName":"applicantAddress"
}
],
"OptionSets":[
{
"OptionSetName":"Gender Liveness",
"MappingName":"sex",
"OptionSetItems":{
"M":"Male",
"F":"Female"
}
}
],
"LookupEntities":[
{
"MappingName":"nationality",
"EntityName":"FTOS_CMB_Country",
"AttributeKey":"code"
}
],
"DisableSaveBrowserDetails": false,
"DisableLogSDKMessages": false,
"LogLevel": "debug",
"maskNextStepURLSuccess": {
"entity":"FTOS_Test_Facetec",
"form": "FTOS_Test_FacetecFDF",
"section": "OCR"
},
"maskNextStepURLFail": {
"entity":"FTOS_Test_Facetec",
"form": "FTOS_Test_FacetecFDF",
"section": "Fail"
},
"maskNextStepURLReview": {
"entity":"FTOS_Test_Facetec",
"form": "FTOS_Test_FacetecFDF",
"section": "Review"
},
"businessStatusSuccess": "Face Recognition Valid",
"businessStatusFail": "Face Recognition Failed",
"businessStatusReview": "Face Recognition In review",
"livenessCheck": "PhotoIdMatching",
"minMatchValue": 3
}
Liveness Configuration
The maxCounter property defines the number of times the user is allowed to retry execution of Liveness. Note that depending on the quality of the picture, alignment, etc., the system will allow for subsequent retries during the Liveness process, until a clear picture is taken.
Starting with v9.2 of liveness SDK, this parameter refers to the number of times the captured data, named FaceScan, is sent to the Liveness server for validation. A FaceScan contains liveness data and still images. The SDK may ask the user to retake the liveness process until the FaceScan captures all needed data at the required quality.
The 3D FaceScan (~350KB) is an encrypted byte blob that contains reverse engineered 3D data from 100+ video frames captured during ~2 second User Selfie. FaceScans are always encrypted and are not human viewable. 3D FaceScans DO contain Liveness Data.
How to change the text and colour
The Liveness feature makes it possible to edit the text and colour of the UI a client will be interacting with.
To do so, access the client library Ftos_dfp_liveness and change the two UI elements using the following JavaScript:
interface ILivenessUi {
// Customize the ZoOm Oval and the ZoOm Progress Spinner animations.
ovalCustomization: ZoomOvalCustomization;
// Customize the ZoOm Feedback Bar.
feedbackCustomization: ZoomFeedbackBarCustomization;
// Customize the ZoOm Frame.
frameCustomization: ZoomFrameCustomization;
// Customize the ZoOm Frame exit animation.
exitAnimationCustomization: ZoomExitAnimationCustomization;
// Customize the ZoOm Cancel Button.
cancelButtonCustomization: ZoomCancelButtonCustomization;
// Customize the time after which the ZoOm Session should timeout.
sessionTimerCustomization: ZoomSessionTimerCustomization;
// Customize the loading Spinner and the text shown to the user while the camera loads.
initialLoadingAnimationCustomization: ZoomInitialLoadingAnimationCustomization;
// Customize the New User Guidance and Retry Screens.
guidanceCustomization: ZoomGuidanceCustomization;
// Customize the ZoOm Overlay, separating the ZoOm Interface from the presenting application context.
overlayCustomization: ZoomOverlayCustomization;
// Customize the Result Screen.
resultScreenCustomization: ZoomResultScreenCustomization;
// Customize the ZoOm Identity Check Screens.
idScanCustomization: ZoomIDScanCustomization;
// Show Camera Permissions Denied Screen.
enableCameraPermissionsHelpScreen: boolean;
// Force the oval stroke to be drawn as opaque.
shouldDrawOvalStrokeOpaque: boolean;
// This function allows special runtime control of the success message shown when the success animation occurs. Please note that you can also customize this string via the standard customization/localization methods provided by ZoOm. Special runtime access is enabled to this text because the developer may wish to change this text depending on ZoOm's mode of operation.Default is in the customizable localization string "zoom_result_success_message"
static setOverrideResultScreenSuccessMessage: (message: string) => void;
}
interface ZoomOvalCustomization {
// Color of the ZoOm Oval outline. Default is white.
strokeColor: string;
// Color of the animated ZoOm Progress Spinner strokes. Default is custom ZoOm color.
progressColor1: string;
progressColor2: string;
// Thickness of the animated ZoOm Progress Spinner strokes. Default is dynamically configured per device at runti
progressStrokeWidth: number;
// Thickness of the ZoOm Oval outline. Default is dynamically configured per device at runtime.
strokeWidth: number;
}
interface ZoomFeedbackBarCustomization {
// Color of the ZoOm Feedback Bar's background. Recommend making this have some transparency.Default is custom ZoOm color.
backgroundColor: string;
// Color of the text displayed within the ZoOm Feedback Bar. Default is white.
textColor: string;
// Font of the text displayed within the ZoOm Feedback Bar.
textFont: string;
// Spacing between the characters of the text displayed within the ZoOm Feedback Bar. Accepts any value assignable to the letterSpacing CSS attribute. Default is 'normal'.
textSpacing: string;
// Corner radius of the ZoOm Feedback Bar. Default is dynamically configured per device at runtime.
cornerRadius: string;
// Shadow displayed behind the ZoOm Feedback Bar. This accepts box-shadow css attribute string values. Default is a custom sized black shadow.
shadow: string;
// Control whether to enable the pulsating-text animation within the ZoOm Feedback Bar. Default is true (enabled).
enablePulsatingText: boolean;
// Control the percent of the available ZoOm Frame width to use for the ZoOm Feedback Bar's width on desktop browsers. Relative width percent is represented in decimal notation, ranging from 0.0 to 1.0. If the value configured is equal to or greater than 1.0, the ZoOm Feedback Bar will be drawn to at max width within the ZoOm Frame. If the value configured results in a width that is less than the minimum width, which is 2x the ZoOm Feedback Bar's height, then the ZoOm Feedback Bar's width will be set at the minimum. Default is dynamically configured per device at runtime.
relativeWidthOnDesktop: string;
// Control the percent of the available ZoOm Frame width to use for the ZoOm Feedback Bar's width on mobile browsers. Relative width percent is represented in decimal notation, ranging from 0.0 to 1.0. If the value configured is equal to or greater than 1.0, the ZoOm Feedback Bar will be drawn to at max width within the ZoOm Frame. If the value configured results in a width that is less than the minimum width, which is 2x the ZoOm Feedback Bar's height, then the ZoOm Feedback Bar's width will be set at the minimum. Default is dynamically configured per device at runtime.
relativeWidth: string;
}
interface ZoomFrameCustomization {
// Shadow displayed behind the ZoOm Frame. This accepts box shadow css attribute string values. Default is none.
shadow: string;
// Color of the ZoOm Frame's border. Default is white.
borderColor: string;
// Corner radius of the ZoOm Frame. Default is dynamically configured per device at runtime.
borderCornerRadius: string;
// Thickness of the ZoOm Frame's border. Default is dynamically configured per device at runtime.
borderWidth: string;
// Color of the background surrounding the oval outline during ZoOm. Default is custom ZoOm color.
backgroundColor: string;
// Applies a blur effect over the background surrounding the oval outline during ZoOm. Default is off.
blurEffectStyle: string;
}
interface ZoomExitAnimationCustomization {
// Customize the transition out animation for a successful ZoOm Session. */
exitAnimationSuccess: 0 | 1 | 2; // None = 0, RippleOut = 1, FadeOutMin = 2
// Customize the transition out animation for an unsuccessful ZoOm Session. */
exitAnimationUnsuccess: 0 | 1 | 2; // None = 0, RippleOut = 1, FadeOutMin = 2
}
interface ZoomCancelButtonCustomization {
// Location, or use, of the ZoOm Cancel Button. Default is ZoomCancelButtonLocation.TopLeft.
location: ZoomCancelButtonLocation;
// The size and location of the cancel button within the current screen's bounds. Configure using the convenience method .setCustomLocation(x:number, y:number, width:number, height:number). Note: In order to use a custom-located cancel button, you MUST set .location to the enum value ZoomCancelButtonLocation.Custom. Default is set at origin 0,0 with a size of 0 by 0.
customLocation: ZoomRect;
// Image displayed on the ZoOm Cancel Button. Default is configured to use image named 'zoom_cancel' located in '/zoomimages/' directory (or custom configured defaul directory for ZoOm images).
customImage: string;
}
interface ZoomSessionTimerCustomization {
maxTimeOverall: number;
maxTimeToDetectFirstFace: number;
maxTimeToDetectFirstFaceInPhaseTwo: number;
maxTimeBeforeCameraPermissionsError: number;
}
interface ZoomInitialLoadingAnimationCustomization {
// HTMLElement displayed while camera is loading. Default is a custom animated loading spinner and text.
element: HTMLElement;
}
interface ZoomGuidanceCustomization {
// Thickness of the action button's border during the New User Guidance and Retry Screens. Default is dynamically configured per device at runtime.
buttonBorderWidth: string;
// Color of the action button's border during the New User Guidance and Retry Screens. Default is transparent.
buttonBorderColor: string;
// Corner radius of the action button's border during the New User Guidance and Retry Screens. Default is dynamically configured per device at runtime.
buttonCornerRadius: string;
// Color of the action button's text during the New User Guidance and Retry Screens. Default is white.
buttonTextNormalColor: string;
// Color of the action button's text when the button is pressed during the New User Guidance and Retry Screens. Default is white.
buttonTextHighlightColor: string;
// Color of the action button's text when the button is disabled during the New User Guidance and Retry Screens. Default is white.
buttonTextDisabledColor: string;
// Color of the action button's background during the New User Guidance and Retry Screens. Default is custom ZoOm color.
buttonBackgroundNormalColor: string;
// Color of the action button's background when the button is pressed during the New User Guidance and Retry Screens. Default is custom ZoOm color.
buttonBackgroundHighlightColor: string;
// Color of the action button's background when the button is disabled during the New User Guidance and Retry Screens. Default is custom ZoOm color.
buttonBackgroundDisabledColor: string;
// Font of the title's text during the New User Guidance and Retry Screens.
headerFont: string;
// Spacing between the characters of the title's text during the New User Guidance and Retry Screens. Accepts any value assignable to the letterSpacing CSS attribute. Default is 'normal'.
headerTextSpacing: string;
// Font of the title's subtext and messages during the New User Guidance and Retry Screens.
subtextFont: string;
// Spacing between the characters of the title's subtext and messages during the New User Guidance and Retry Screens. Accepts any value assignable to the letterSpacing CSS attribute. Default is 'normal'.
subtextTextSpacing: string;
// Font of the title's subtext during the New User Guidance and Retry Screens. Default is a bold system font.
buttonFont: string;
// Spacing between the characters of the action button's text during the New User Guidance and Retry Screens. Accepts any value assignable to the letterSpacing CSS attribute. Default is 'normal'.
buttonTextSpacing: string;
// Control the percent of the available ZoOm Frame width to use for the action button during the New User Guidance and Retry Screens for mobile browsers. Relative width percent is represented in decimal notation, ranging from 0.0 to 1.0. If the value configured is equal to or greater than 1.0, the action button will be drawn to at max width within the ZoOm Frame. If the value configured results in a width that is less than the action button's height, the action button's width will equal its height. Default is dynamically configured per device at runtime.
buttonRelativeWidth: string;
// Control the percent of the available ZoOm Frame width to use for the action button during the New User Guidance and Retry Screens for desktop browsers. Relative width percent is represented in decimal notation, ranging from 0.0 to 1.0. If the value configured is equal to or greater than 1.0, the action button will be drawn to at max width within the ZoOm Frame.If the value configured results in a width that is less than the action button's height, the action button's width will equal its height. Default is dynamically configured per device at runtime.
buttonRelativeWidthOnDesktop: string;
// Color of the background for the New User Guidance and Retry Screens. Default is white.
backgroundColors: string;
// Color of the text displayed on the New User Guidance and Retry Screens (not including the action button text). Default is custom ZoOm color.
foregroundColor: string;
// Color of the Get Ready To ZoOm Screen's oval fill. Default is transparent.
readyScreenOvalFillColor: string;
// Background color of the Get Ready To ZoOm Screen text views during the New User Guidance and Retry Screens. This will only be visible when text is detected as overlapping or too close with the Ready screen oval. Default is a semi-opaque shade of black.
readyScreenTextBackgroundColor: string;
// Background corner radius of the Get Ready To ZoOm Screen text views during the New User Guidance and Retry Screens. This will only be visible when text is detected as overlapping or too close with the Get Ready To ZoOm Screen's oval. Default is dynamically configured per device at runtime.
readyScreenTextBackgroundCornerRadius: string;
// Image displayed as Ideal ZoOm example (right image) during the first Retry Screen. Default is configured to use image named 'zoom_ideal' located in '/zoom-images/' directory (or custom configured defaul directory for ZoOm images).
retryScreenIdealZoomImage: string;
// Images displayed as Ideal ZoOm examples (right image) during the first Retry Screen. When configured to a non-empty array, these images will override the single image configured for imageCustomization.idealZoomImage. Default is an empty array.
retryScreenSlideshowImages: string[];
// Control the time that each image is shown for before transitioning to the next image. Default is 1500ms.
retryScreenSlideshowInterval: string;
// Control whether to allow the slideshow images to appear in a randomized order during each Retry Screen. Default is true (enabled).
enableRetryScreenSlideshowShuffle: boolean;
// Color of the image borders during the first Retry Screen. Default is custom ZoOm color.
retryScreenImageBorderColor: string;
// Thickness of the image borders during the first Retry Screen. Default is dynamically configured per device at runtime.
retryScreenImageBorderWidth: string;
// Corner radius of the image borders during the first Retry Screen. Default is dynamically configured per device at runtime.
retryScreenImageCornerRadius: string;
// Color of the oval's stroke that overlay's the Ideal image example during the first Retry Screen. Default is white.
retryScreenOvalStrokeColor: string;
// Control whether to layout the Retry Screen's instruction messages using bullet-points. Applicable localized instruction message strings include: zoom_retry_instruction_message_1, zoom_retry_instruction_message_2, zoom_retry_instruction_message_3. If enabled, each instruction message will be placed on a new line, proceeded with a bullet-point, and will not extend to multiple lines. If disabled, all instruction messages will be concatenated into a multi-line string. Default is true (enabled).
enableRetryScreenBulletedInstructions: boolean;
// Image displayed on the Camera Permissions Screen. Default is configured to use image named 'zoom_camera' located in '/zoomimages/' directory (or custom configured defaul directory for ZoOm images).
cameraPermissionsScreenImage: string;
}
interface ZoomOverlayCustomization {
// Color of the ZoOm Overlay background. Default is white.
backgroundColor: string;
// Color of the text shown on ZoOm Overlay. This includes the Low Light Mode Toggle's text color, which only applies to desktop browsers. Default is custom ZoOm color.
foregroundColor: string;
// Applies a blur effect over the background of the ZoOm Overlay. Default is off.
blurEffectStyle: string;
// Control whether to show the branding image the ZoOm Frame on top of the ZoOm Overlay.<br> Default is true (shown).
showBrandingImage: boolean;
// Image displayed below the ZoOm Frame on top of the ZoOm Overlay. Default is configured to use image named 'zoom_your_app_logo' located in '/zoom-images/' directory (or custom configured defaul directory for ZoOm images).
brandingImage: string;
}
interface ZoomResultScreenCustomization {
// Color of the Result Screen's background. Default is white.
backgroundColors: string;
// Color of the text displayed on the Result Screen. Default is custom ZoOm color.
foregroundColor: string;
// Color of the result animation's background. Default is custom ZoOm color.
resultAnimationBackgroundColor: string;
// Color of the result animation's accent color. Default is white.
resultAnimationForegroundColor: string;
// Image displayed behind the result foreground animation for success scenarios. If image is configured, default result background animation will be hidden. Default is set to an empty string and will fallback to using the default result background animation, which respects the color assigned to .resultAnimationBackgroundColor.
resultAnimationSuccessBackgroundImage: string;
// Image displayed behind the result foreground animation for unsuccess scenarios. If image is configured, default result background animation will be hidden. Default is set to an empty string and will fallback to using the default result background animation, which respects the color assigned to .resultAnimationBackgroundColor.
resultAnimationUnsuccessBackgroundImage: string;
// Font of the message text displayed on the Result Screen.
messageFont: string;
// Spacing between the characters of the message text displayed on the Result Screen. Accepts any value assignable to the letterSpacing CSS attribute. Default is 'normal'.
messageTextSpacing: string;
// Color of the activity indicator animation shown during server-side work. Default is custom ZoOm color.
activityIndicatorColor: string;
// Image displayed and rotated during server-side work. If image is configured, default activity indicator will be hidden. Default is set to an empty string and will fallback to using default activity indicator animation.
customActivityIndicatorImage: string;
// Control the speed of the rotation for your custom activity indicator image. Only applicable when image is configured for .customActivityIndicatorImage. This value indicates the duration of each full rotation. Default is 1s.
customActivityIndicatorRotationInterval: string;
// Control whether to show or hide the upload progress bar during server-side work. Default is true (shown).
showUploadProgressBar: boolean;
// Color of the upload progress bar's fill. Default is custom ZoOm color.
uploadProgressFillColor: string;
// Color of upload progress bar's track. Default is a semi opaque shade of black.
uploadProgressTrackColor: string;
}
interface ZoomIDScanCustomization {
// Image displayed on the ID Scan Select ID Document page Default is configured to use image named 'zoom_branding_logo_id_check' located in '/zoom-images/' directory (or custom configured defaul directory for ZoOm images).
showSelectionScreenBrandingImage: boolean;
// Color of the text displayed on the Identity Document Type Selection Screen (not including the action button text). Default is off-black.
selectionScreenForegroundColor: string;
// Font of the title during the Identity Document Type Selection Screen.
headerFont: string;
// Spacing between the characters of the title's text during the Identity Document Type Selection Screen. Accepts any value assignable to the letterSpacing CSS attribute. Default is 'normal'.
headerTextSpacing: string;
// Font of the message text during the Identity Document Capture and Review Screens.
subtextFont: string;
// Spacing between the characters of the title's subtext and messages during the Identity Document Capture and Review Screens. Accepts any value assignable to the letterSpacing CSS attribute. Default is 'normal'.
subtextTextSpacing: string;
// Font of the action button's text during the Identity Check Screens.
buttonFont: string;
// Spacing between the characters of the action button's text during the Identity Check Screens. Accepts any value assignable to the letterSpacing CSS attribute. Default is 'normal'.
buttonTextSpacing: string;
// Thickness of the action button's border during the Identity Check Screens Default is dynamically configured per device at runtime.
buttonBorderWidth: string;
// Color of the action button's border during the Identity Check Screens Default is transparent.
buttonBorderColor: string;
// Corner radius of the action button's border during the Identity Check Screens. Default is dynamically configured per device at runtime.
buttonCornerRadius: string;
// Color of the action button's text during the Identity Check Screens. Default is white.
buttonTextNormalColor: string;
// Color of the action button's text when the button is pressed during the Identity Check Screens. Default is white.
buttonTextHighlightColor: string;
// Color of the action button's text when the button is disabled during the Identity Check Screens. Default is white.
buttonTextDisabledColor: string;
// Color of the action button's background during the Identity Check Screens. Default is custom ZoOm color.
buttonBackgroundNormalColor: string;
// Color of the action button's background when the button is pressed during the Identity Check Screens. Default is custom ZoOm color.
buttonBackgroundHighlightColor: string;
// Color of the action button's background when the button is disabled during the Identity Check Screens. Default is custom ZoOm color.
buttonBackgroundDisabledColor: string;
// Control the percent of the available ZoOm Frame width to use for the action button during the Identity Check Screens for mobile browsers. Relative width percent is represented in decimal notation, ranging from 0.0 to 1.0. If the value configured is equal to or greater than 1.0, the action button will be drawn to at max width within the ZoOm Frame. If the value configured results in a width that is less than the action button's height, the action button's width will equal its height. Note: The Identity Document Review Screen action buttons will be drawn at half the configured width. Default is dynamically configured per device at runtime.
buttonRelativeWidth: string;
// Control the percent of the available ZoOm Frame width to use for the action button during the Identity Check Screens for desktop browsers. Relative width percent is represented in decimal notation, ranging from 0.0 to 1.0. If the value configured is equal to or greater than 1.0, the action button will be drawn to at max width within the ZoOm Frame. If the value configured results in a width that is less than the action button's height, the action button's width will equal its height. Note: The Identity Document Review Screen action buttons will be drawn at half the configured width. Default is dynamically configured per device at runtime.
buttonRelativeWidthOnDesktop: string;
// Color of the Identity Document Type Selection Screen background. Default is white.
selectionScreenBackgroundColors: string;
// Applies a blur effect over the background of the Identity Document Type Selection Screen. Default is off.
selectionScreenBlurEffectStyle: string;
// Image displayed on the Identity Document Type Selection Screen. Default is configured to use image named 'zoom_branding_logo_id_check' located in '/zoom-images/' directory (or custom configured defaul directory for ZoOm images).
selectionScreenBrandingImage: string;
// Color of the text displayed on the Identity Document Capture Screen (not including the action button text). Default is white.
captureScreenForegroundColor: string;
// Color of the text view background during the Identity Document Capture Screen. Default is custom ZoOm color.
captureScreenTextBackgroundColor: string;
// Color of the text view background border during the Identity Document Capture Screen. Default is transparent.
captureScreenTextBackgroundBorderColor: string;
// Thickness of the text view background border during the Identity Document Capture Screen. Default is 0.
captureScreenTextBackgroundBorderWidth: string;
// Corner radius of the text view background and border during the Identity Document Capture Screen. Default is dynamically configured per device at runtime.
captureScreenTextBackgroundCornerRadius: string;
// Color of the Identity Document Capture Screen's background. Default is white.
captureScreenBackgroundColor: string;
// Color of the Identity Document Capture Frame's stroke. Default is custom ZoOm color.
captureFrameStrokeColor: string;
// Thickness of the Identity Document Capture Frame's stroke. Default is dynamically configured per device at runtme.
captureFrameStrokeWidth: string;
// Corner radius of the Identity Document Capture Frame. Default is dynamically configured per device at runtime.
captureFrameCornerRadius: string;
// Color of the text displayed on the Identity Document Review Screen (not including the action button text). Default is white.
reviewScreenForegroundColor: string;
// Color of the text view background during the Identity Document Review Screen. Default is custom ZoOm color.
reviewScreenTextBackgroundColor: string;
// Color of the text view background border during the Identity Document Review Screen. Default is transparent.
reviewScreenTextBackgroundBorderColor: string;
// Thickness of the text view background border during the Identity Document Review Screen. Default is 0.
reviewScreenTextBackgroundBorderWidth: string;
// Corner radius of the text view background and border during the Identity Document Review Screen. Default is dynamically configured per device at runtime.
reviewScreenTextBackgroundBorderCornerRadius: string;
// Corner radius of the ID Document Preview image displayed on the Identity Document Review Screen. Default is dynamically configured per device at runtime.
reviewScreenDocumentPreviewCornerRadius: string;
// Color of the Identity Document Review Screen background. Default is white.
reviewScreenBackgroundColors: string;
// Applies a blur effect over the background of the Identity Document Review Screen. Default is off.
reviewScreenBlurEffectStyle: string;
// Image displayed below the ZoOm Frame during Identity Check when the Identity Document Type selected is an ID Card. This image acts as a placeholder to show a status of incomplete for capturing the ID Card's front side. This only applies to desktop browsers. Default is configured to use image named 'zoom_id_card_placeholder_front' located in '/zoom-images/' directory (or custom configured defaul directory for ZoOm images).
captureScreenIDFrontPlaceHolderImage: string;
// Image displayed below the ZoOm Frame during Identity Check when the Identity Document Type selected is an ID Card. This image acts as a placeholder to show a status of incomplete for capturing the ID Card's back side. This only applies to desktop browsers. Default is configured to use image named 'zoom_id_card_placeholder_back' located in '/zoom-images/' directory (or custom configured defaul directory for ZoOm images).
captureScreenIDBackPlaceHolderImage: string;
// Image displayed below the ZoOm Frame during Identity Check when the Identity Document Type selected is a Passport. This image acts as a placeholder to show a status of incomplete for capturing the Passport. This only applies to desktop browsers. Default is configured to use image named 'zoom_passport_placeholder' located in '/zoom-images/' directory (or custom configured defaul directory for ZoOm images).
captureScreenPassportPlaceholderImage: string;
// Image displayed below the ZoOm Frame during Identity Check when the Identity Document Type selected is an ID Card. This image acts as a placeholder to show a status of complete for capturing the ID Card's front side. This only applies to desktop browsers. Default is configured to use image named 'zoom_id_front_checkmark' located in '/zoom-images/' directory (or custom configured defaul directory for ZoOm images).
captureScreenIDFrontCheckmarkImage: string;
// Image displayed below the ZoOm Frame during Identity Check when the Identity Document Type selected is an ID Card. This image acts as a placeholder to show a status of complete for capturing the ID Card's back side. This only applies to desktop browsers. Default is configured to use image named 'zoom_id_back_checkmark' located in '/zoom-images/' directory (or custom configured defaul directory for ZoOm images).
captureScreenIDBackCheckmarkImage: string;
// Image displayed below the ZoOm Frame during Identity Check when the Identity Document Type selected is a Passport. This image acts as a placeholder to show a status of complete for capturing the Passport. This only applies to desktop browsers.Default is configured to use image named 'zoom_passport_checkmark' located in '/zoom-images/' directory (or custom configured defaul directory for ZoOm images).
captureScreenPassportCheckmarkImage: string;
}
It is possible to target the Liveness feature to a specific cultural group by translating the messages from a language to another, setting the dates in a particular manner and complying with local customs.
interface ILivenessLocalization {
zoom_accessibility_cancel_button: string, // 'Anulare'
zoom_feedback_center_face: string, // 'Centrati fata'
zoom_feedback_face_not_found: string, // 'Incadrati fata in chenar',
zoom_feedback_move_phone_away: string, // 'Indepartati-va',
zoom_feedback_move_away_web: string, // 'Indepartati-va',
zoom_feedback_move_phone_closer: string, // 'Apropiati-va',
zoom_feedback_move_phone_to_eye_level: string, // 'Mutati telefonul la nivelul ochilor',
zoom_feedback_move_to_eye_level_web: string, // 'Uitati-va direct in camera',
zoom_feedback_face_not_looking_straight_ahead: string, // 'Uitati-va drept in fata',
zoom_feedback_face_not_upright: string, // 'Tineti capul drept',
zoom_feedback_face_not_upright_mobile: string, // 'Tineti capul drept',
zoom_feedback_hold_steady: string, // 'Stati nemiscat',
zoom_feedback_move_web_closer: string, // 'Apropiati-va',
zoom_feedback_move_web_even_closer: string, // 'Mai aproape',
zoom_feedback_use_even_lighting: string, // 'Iluminati fata uniform',
zoom_instructions_header_ready: string, // 'Pregatiti-va pentru selfi-ul video',
zoom_instructions_message_ready: string, // 'Incadrati-va fata in ovalul mic si dupa in ovalul mare',
zoom_action_im_ready: string, // 'SUNT PREGATIT',
zoom_result_facemap_upload_message: string, // 'Incarcare<br/>Criptata<br/>3D FaceMap',
zoom_result_idscan_upload_message: string, // 'Incarcare<br/>Criptata<br/>ID Document',
zoom_retry_header: string, // 'Hai sa mai incercam',
zoom_retry_subheader_message: string, // 'Dar mai intai, uitati va la selfi-ul dumneavoastra si corectati mediul',
zoom_retry_your_image_label: string, // 'Selfi-ul dumneavoastra',
zoom_retry_ideal_image_label: string, // 'Pozitie ideala',
zoom_retry_instruction_message_1: string, // 'Expresie Neutra, Fara Zambete',
zoom_retry_instruction_message_2: string, // 'Fara stralucire sau iluminare excesiva',
zoom_retry_instruction_message_3: string, // '',
zoom_action_ok: string, // 'OK',
zoom_camera_permission_header: string, // 'Activati Camera',
zoom_camera_permission_message: string, // 'Permisiunile pentru camera sunt dezactivate. Va rugam sa verificati sistemuldumneavoastra de operare si setarile de browser. Pentru mai multe detalii accesati urmatorul link:',
zoom_browser_camera_help_action_link: string, // 'https://dev.zoomlogin.com/zoomsdk/#/browser-camera-help',
zoom_camera_permission_launch_settings: string, // 'Lanseaza Ajutorul de Camera',
zoom_initializing_camera: string, // 'Initializare Camera...',
zoom_idscan_type_selection_header: string, // 'Selecteazar<br>Tipul Documentului',
zoom_action_select_id_card: string, // 'CARTE IDENTITATE',
zoom_action_select_passport: string, // 'PASAPORT',
zoom_idscan_capture_id_card_front_instruction_message: string, // 'Aratati Fata Cartii de Identitate',
zoom_idscan_capture_id_card_back_instruction_message: string, // 'Aratati Spatele Cartii de Identitate',
zoom_idscan_capture_passport_instruction_message: string, // 'Aratati Pagina cu Poza din Pasaport',
zoom_action_take_photo: string, // 'FOTOGRAFIAZA',
zoom_idscan_review_id_card_front_instruction_message: string, // 'Confirmati ca documentul este lizibil',
zoom_idscan_review_id_card_back_instruction_message: string, // 'Confirmati ca documentul este lizibil',
zoom_idscan_review_passport_instruction_message: string, // 'Confirmati ca documentul este lizibil',
zoom_action_accept_photo: string, // 'ACCEPTARE',
zoom_action_retake_photo: string, // 'RELUATI',
zoom_result_idscan_unsuccess_message: string, // 'Poza din Document<br/>Nu se potriveste<br>Cu Selfi-ul',
zoom_result_success_message: string, // 'Succes!',
}