# Mobile SDK Reference

- [UI Customization](https://docs.keyless.io/consumer/mobile-sdk-reference/ui-customization.md): The Keyless SDK can be customised in order to provide a more familiar UX when integrated in any custom app.
- [Error handling](https://docs.keyless.io/consumer/mobile-sdk-reference/error-handling.md): Common errors, what they mean and recommended next steps.
- [Lockout Policy](https://docs.keyless.io/consumer/mobile-sdk-reference/lockout-policy.md): This pages explains how the Lockout Policy works, what the implications are for users and how it is set.
- [Liveness Settings](https://docs.keyless.io/consumer/mobile-sdk-reference/liveness-settings.md)
- [Logging](https://docs.keyless.io/consumer/mobile-sdk-reference/logging.md): This page explains how customers can leverage the option to log additional data from the mobile SDK for the purpose of performance monitoring, issue investigation and analytics
- [JWT signing](https://docs.keyless.io/consumer/mobile-sdk-reference/jwt-signing.md)
- [JWT Verification best practise](https://docs.keyless.io/consumer/mobile-sdk-reference/jwt-signing/jwt-verification-best-practise.md): To use a jwks.json endpoint for JWT verification and seamless key rotation, follow this technical workflow.
- [PIN authentication](https://docs.keyless.io/consumer/mobile-sdk-reference/pin-authentication.md): Use a PIN to perform specific operations when biometric authentication is not necessary
- [Introduce Keyless to Users](https://docs.keyless.io/consumer/mobile-sdk-reference/introduction-screen.md)
- [Photo Enrollment](https://docs.keyless.io/consumer/mobile-sdk-reference/photo-enrollment.md): Use a photo (from an identity document) to enroll the initial biometric data of the user
- [Generating client state via the Mobile SDK](https://docs.keyless.io/consumer/mobile-sdk-reference/generating-client-state-via-the-mobile-sdk.md): This page explains how to create a client state during a Keyless Enrollment or Authentication, which can then be leveraged for binding a user on a new device.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keyless.io/consumer/mobile-sdk-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
