Skip to main content

Liveness (face & palm)

Liveness detection — also called presentation attack detection (PAD) — verifies that a captured face or palm comes from a live subject present at the sensor, not a spoof (printed photo, mask, or replayed video). It is the security gate of any biometric workflow — recognition and unattended enrollment alike.

The Innovatrics SDKs implement the passive approach to liveness: no user action (blink, smile, head turn) is required — a single capture is scored.

How it works​

Liveness typically runs before template extraction and matching, so a spoofed input is never extracted or matched. Depending on the integration it can also run after matching — for example a screening scenario that first identifies a subject and only then spoof-checks the probe. See the security note in Identification (1:N).

Modalities​

ModalitySDK(s)Notes
FaceSFE Toolkit (on-device) · Biometric Identification Service (server)Operating point chosen for the capture framing (distant kiosk/turnstile vs close-range handheld).
PalmSFE Toolkit (on-device) · Biometric Identification Service (server)On-device palm liveness has narrower platform coverage than face.

On the server, passive liveness is available for both face and palm as an add-on.

SFE Toolkit implementation​

On the SFE Toolkit, passive liveness maps to a capability per modality:

ModalitySFE Toolkit capability
FaceFace Liveness
PalmPalm Liveness

Iris has no passive liveness in the SFE Toolkit.

Enrollment SDK implementation​

On the Enrollment SDK, passive liveness maps to a function for the face modality:

ModalityEnrollment SDK function
FaceFaceExecutor::GetPassiveLivenessFast / GetPassiveLivenessAccurate

Iris and fingerprint have no liveness in the Enrollment SDK — face only. Full signatures: API Reference.

What it covers​

Passive liveness addresses presentation attacks — a fake presented to the sensor. Coverage and maturity differ between face and palm, so they are documented and tuned separately.

Face​

The attack types covered by Innovatrics passive face liveness detection

  • Screen replay — faces presented to the camera on a screen.
  • Printed faces — faces printed on paper presented to the camera.
  • 2D masks — faces printed on cardboard with cutouts, worn over a person's face.
  • 3D masks — silicone masks, dolls, and mannequins.

Palm​

The attack types covered by Innovatrics passive palm liveness detection:

  • Screen replay — palms presented to the camera on a screen.
  • Printed palms — palms printed on paper presented to the camera.
  • Photographs — a photograph of a palm presented to the camera.

Not covered (face and palm)​

Passive liveness does not cover attacks on the capture channel or synthetic imagery: video injection (man-in-the-middle) and deepfakes / synthetic faces.

Key considerations​

  • Run liveness before matching by default — abort on failure; never extract or match a spoofed probe. Some integrations deliberately run it after matching instead (e.g. screening against a watchlist first) — make this an explicit design decision, not an accident.
  • Match the operating point to capture conditions — camera distance, attended vs unattended; the right threshold depends on how the subject presents.
  • No single global threshold — liveness scoring is model-specific; tune to your target FMR/FNMR on representative data.
  • Use IR capture where the threat model includes 2D presentation attacks. A phone or tablet screen, or a printed photo, under IR illumination reflects the IR light rather than returning a face-like response — so the detector finds no face and ends the pipeline before liveness or extraction even run. Genuine skin, by contrast, reflects IR characteristically and is detected normally.