Skip to main content
If you must keep your own camera screen, you can still run deepidv’s movement liveness check. You capture frames as the user moves closer; deepidv scores them.
The light challenge (flashing colors) needs the SDK’s own screen. If the workflow step is set to it, checkMovementLiveness throws .validation. Use CustomFaceLivenessView instead.

1. Time the capture with faceProbe

faceProbe reads one camera frame on the device (no network) and tells you where the face is.

2. Score it with checkMovementLiveness

  • Pass 3 to 8 frames in capture order. Fewer than 3 throws .validation; more than 8 are evenly reduced to 8.
  • passed is decided by deepidv against the workflow step’s threshold.
  • The replay clip is shown to reviewers in the Admin Console. MovementReplayRecorder.append(_:) can be called from any queue.
Returns FaceLivenessResult.