Liveness Settings
Keyless SDK provides three officially-supported configurations for the liveness detection (antispoofing component), listed below from the lowest to the highest level of security:
PASSIVE_STANDALONE_MEDIUM
- for testing purposes onlyPASSIVE_STANDALONE_HIGH
- for most production use (SDK default)PASSIVE_STANDALONE_HIGHEST
- for higher security production use
Increasing the security level increases the ability of the system to reject spoof attempts (true positive rate, or TPR). A higher security level also increases the genuine reject rate (false positive rate, or FPR) and the time required by the anti-spoofing module to make a decision.
For most production scenarios, Keyless recommends the use of PASSIVE_STANDALONE_HIGH
. This setting offers a good tradeoff between TPR, FPR, and time-to-decision. For scenarios that require a higher security level, we recommend increasing this setting to PASSIVE_STANDALONE_HIGHEST
.
To customize the liveness detection call .withLivenessSettings(livenessConfiguration)
when initializing any configuration.
// Authentication Configuration
val authenticationConfiguration = AuthenticationConfiguration.builder
.withLivenessSettings(livenessConfiguration: livenessConfiguration)
//...
.build()
// Enrollment Configuration
val enrollmentConfiguration = EnrollmentConfiguration.builder
.withLivenessSettings(livenessConfiguration: livenessConfiguration)
//...
.build()
// De-Enrollment Configuration
val deEnrollmentConfiguration = DeEnrollmentConfiguration.builder
.withLivenessSettings(livenessConfiguration: livenessConfiguration)
//...
.build()
The liveness timeout customization has been deprecated in both Android and iOS SDKs. If you’re still using it, please note that it’s no longer effective.
Last updated
Was this helpful?