For the complete documentation index, see llms.txt. This page is also available as Markdown.

FAQ


1. What is the CafFaceLivenessLite SDK and what is its main functionality?

Answer:

The Lite SDK provides a smaller, streamlined face liveness verification flow. It detects spoofing attempts to secure onboarding and authentication.


2. What are the system requirements for the Lite SDK on iOS?

Answer:

Supports iOS 15.0+, Xcode 26.0+, and Swift 6.3+. See the Requirements.


3. What permissions are required to use the Lite SDK?

Answer:

  • Camera access (NSCameraUsageDescription in Info.plist)

  • Internet access (ATS exceptions if necessary)


4. How do I integrate the Lite SDK into my iOS project?

Answer:

Use SPM or CocoaPods to add dependencies, then instantiate CafFaceLivenessLiteSDK, set its delegate, and call startSDK. See Installation and Start SDK.


5. How do I start the Face Liveness verification process?

Answer:

  1. Set the delegate.

  2. Call startSDK with viewController, mobileToken, and personId.

  3. Handle callbacks in CafFaceLivenessLiteDelegate.


6. What errors and failures should I handle?

Answer:

Handle didFinishWithError(type:description:) for execution errors (camera, network, token) and didFinishWithFailure(type:description:signedResponse:) for business failures (lighting, alignment). See Result Reference.


7. Can I customize texts or localization?

Answer:

Yes. Pass customLocalization (strings table name, omit .strings) to startSDK. If the strings live outside the main app bundle, also pass customLocalizationBundle (for example Bundle(for: CafFaceLivenessLiteSDK.self)). See iProov Localization.


8. Can I chain FaceAuth after liveness?

Answer:

No. From 2.0.0, executeFaceAuth was removed — Face Auth is out of scope for the async Lite flow. Use the full Face Liveness / Face Auth products if you need authentication after liveness.


9. What does signedResponse mean in 2.0.0?

Answer:

After capture, the SDK calls the async route and returns only an opaque signedResponse JWT via didFinishWithSuccess / didFinishWithFailure. Your backend must resolve the final liveness result (isAlive, images) out-of-band. The SDK does not poll.


10. What is the enableSecurity parameter and when should I disable it?

Answer:

enableSecurity is a constructor parameter (default: true) that activates security monitoring — jailbreak detection, dylib monitoring, and instrumentation detection. When a violation is detected, didFinishWithError is called with CafErrorType.securityException.

Disable it (enableSecurity: false) only in automated UI testing environments where the test runner triggers false positives. Keep it enabled in production builds.

Last updated