Active Liveness Check

Active liveness check is the process of determining whether the presented face is a real person, by requiring the user to follow an object displayed on the screen with their eyes (also called eye gaze check).

This check is recommended for applications, where the security is in the first place and is recommended as an additional step after performing the passive liveness check.

Active Liveness Check

Mobile app libraries provide the active liveness check UI component.

Core server can also provide active liveness check on a set of uploaded images.

Active Liveness steps

Active liveness check is a UI component that collects the required data and calculates the active liveness score. It displays instructions to the user and requires to proper positioning. Object is displayed on the screen and when it starts moving, user must follow this movement with their eyes. This process is completed when sufficient number of frames have been collected and liveness score can be evaluated. It is terminated when face tracking has been lost and must be restarted.

Active liveness threshold

The final decision if the face is a real, or a spoof, is determined by the active liveness score and the threshold. If the score is above the threshold, this can be interpreted as accepted, if the score is below the threshold it is rejected.

FAR levelsFAR [%]FRR [%]Score threshold
1:10105.60.9671
1:2058.30.9985
1:50210.20.9994
1:100117.60.9999
eer7.9558.30.9900

Maximum security is reached when threshold at FAR 1:100 is selected (0.9999).


Best Practices

  • It is recommended to generate object movement instructions randomly on your application server, send these instructions to the client, collect the data and use it along with generated instructions to DOT Core Server for evaluation.

  • When performing active liveness check in a browser, additional runtime checks are not performed. Object is rendered on the screen, face data is captured and sent to the DOT Core Server for evaluation with a single call.

  • Active liveness check should be always combined with matching if possible. Active liveness ensures the presented face is real, but it must also be checked whether it belongs to the person we are expecting. This applies for onboarding but also login use cases.

  • For additional security and as measure against more sophisticated attacks, passive liveness check can be also evaluated on the frames captured by active liveness check and this way use both liveness checks at the same time.