> For the complete documentation index, see [llms.txt](https://docs.caf.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.caf.io/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/faq.md).

# FAQ

<details>

<summary>O que é o SDK CafFaceLivenessLite e qual é sua funcionalidade principal?</summary>

O SDK Lite fornece um fluxo menor e simplificado de verificação de vivacidade facial. Ele detecta tentativas de spoofing para proteger o onboarding e a autenticação.

</details>

<details>

<summary>Quais são os requisitos do sistema para o SDK Lite no iOS?</summary>

Compatível com iOS 15.0+, Xcode 26.0+ e Swift 6.3+. Veja o [Requisitos](/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/requirements.md).

</details>

<details>

<summary>Quais permissões são necessárias para usar o SDK Lite?</summary>

* Acesso à câmera (`NSCameraUsageDescription` em `Info.plist`)
* Acesso à internet (exceções ATS, se necessário)

</details>

<details>

<summary>Como integro o SDK Lite ao meu projeto iOS?</summary>

Use SPM ou CocoaPods para adicionar as dependências, depois instancie `CafFaceLivenessLiteSDK`, defina seu delegate, chame `setup` com suas credenciais e chame `startSDK`. Veja [Instalação](/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/installation.md) e [Iniciar SDK](/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/start-sdk.md).

</details>

<details>

<summary>Como inicio o processo de verificação de Face Liveness?</summary>

{% stepper %}
{% step %}

## Defina o delegate

{% endstep %}

{% step %}

## Chame `setup`

Chame `setup` com `mobileToken` e `personId`.
{% endstep %}

{% step %}

## Opcionalmente, chame `prewarm()`

Opcionalmente, chame `prewarm()` para solicitar a sessão com antecedência.
{% endstep %}

{% step %}

## Chame `startSDK`

Chame `startSDK` com `viewController`.
{% endstep %}

{% step %}

## Trate os callbacks

Trate os callbacks em `CafFaceLivenessLiteDelegate`.
{% endstep %}
{% endstepper %}

Veja [Iniciar SDK](/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/start-sdk.md).

</details>

<details>

<summary>Quais erros e falhas devo tratar?</summary>

Trate `didFinishWithError(type:description:)` para erros de execução (câmera, rede, token) e `didFinishWithFailure(type:description:signedResponse:)` para falhas de negócio (iluminação, alinhamento). Veja [Referência do Resultado](/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/result-reference.md), [Tratamento de Erros](/sdk-lite/sdk-lite-english-pt-br/tratamento-de-erros/ios/handling-errors.md) e [Motivos da Falha e Orientações ao Usuário](/sdk-lite/sdk-lite-english-pt-br/tratamento-de-falhas/mobile/handling-failures.md).

</details>

<details>

<summary>Posso personalizar textos ou a localização?</summary>

Sim. Passe `customLocalization` (nome da tabela de strings, omita `.strings`) para `setup`. Se as strings estiverem fora do bundle principal do app, passe também `customLocalizationBundle` (por exemplo `Bundle(for: CafFaceLivenessLiteSDK.self)`). Veja [Localização do iProov](https://github.com/iProov/ios/wiki/Localization).

</details>

<details>

<summary>Posso encadear FaceAuth após a vivacidade?</summary>

Não. De **2.0.0**, `executeFaceAuth` foi removido — Face Auth está fora do escopo do fluxo assíncrono Lite. Use os produtos completos Face Liveness / Face Auth se precisar de autenticação após a vivacidade.

</details>

<details>

<summary>O que <code>signedResponse</code> significa e quando ele é entregue?</summary>

O `signedResponse` é um JWT opaco emitido quando a sessão de vivacidade é criada. De **3.1.0**, ele é entregue no momento em que a captura é concluída, por meio de `didFinishWithSuccess` e também por meio de `didFinishWithFailure`, onde ele está sempre presente. Seu backend o valida e recupera o resultado final de vivacidade (`isAlive`, imagens) fora de banda, conforme descrito em [Configuração do backend](/sdk-lite/sdk-lite-english-pt-br/configuracao/backend/setup.md). O SDK não faz polling.

</details>

<details>

<summary>O que é o parâmetro <code>enableSecurity</code> e quando devo desativá-lo?</summary>

`enableSecurity` é um parâmetro do construtor (padrão: `true`) que ativa o monitoramento de segurança — detecção de jailbreak, monitoramento de dylib e detecção de instrumentação. Quando uma violação é detectada, `didFinishWithError` é chamado com `CafErrorType.securityException`.

Desative-o (`enableSecurity: false`) somente em ambientes de teste de UI automatizados em que o runner de testes gera falsos positivos. **Mantenha-o ativado em builds de produção.**

```swift
// Produção
let sdk = CafFaceLivenessLiteSDK(enableSecurity: true)

// Somente testes de UI
let sdk = CafFaceLivenessLiteSDK(enableSecurity: false)
```

</details>

<details>

<summary>O que <code>prewarm()</code> faz e quando devo chamá-lo?</summary>

`prewarm()` realiza a solicitação da sessão com antecedência para que `startSDK` possa abrir a câmera sem esperar pela rede. Chame-o após `setup`, em um momento em que o usuário já esteja ocupado — uma tela de instruções, uma etapa de consentimento, um formulário — para que a ida e volta ocorra durante o tempo de leitura dele.

Ele é totalmente opcional. Uma sessão pré-aquecida é válida por **90 segundos** e é consumida pela próxima chamada de `startSDK` . Se ela estiver ausente, expirada ou tiver sido criada com credenciais diferentes, `startSDK` faz fallback silenciosamente para solicitar a sessão inline, então o prewarming nunca pode quebrar uma captura. Se você nunca o chamar, o fluxo se comporta exatamente como antes da versão 3.0.0.

`prewarm()` não retorna nada — não tem manipulador de conclusão e nunca chama o delegate. Observe que no caminho pré-aquecido nenhum `loading()` / `loaded()` é emitido para a solicitação da sessão.

```swift
sdk.setup(mobileToken: "your_mobile_token", personId: "your_person_id")
sdk.prewarm()                       // por exemplo, quando a tela de instruções aparece
sdk.startSDK(viewController: self)  // consome a sessão pré-aquecida
```

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.caf.io/sdk-lite/sdk-lite-english-pt-br/configuracao/ios/faq.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
