> 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/caf-sdk/caf-sdk-pt-br/ios/getting-started-with-the-sdk-4.md).

# Registro de alterações

## Notas de versão

Últimas alterações para **CafSDK iOS**, ordenadas da mais nova para a mais antiga.

### Data de lançamento

* 07/30/2026

### v7.4.1

#### Atualizações

* Atualizou a dependência do iProov para **13.2.0** em `CafFaceLiveness`.
* **Alteração no iProov SP:** O fluxo de liveness agora segue o iProov SP fornecido pelo backend. Alteração no lado do servidor — nenhuma alteração de integração é necessária.

### v7.4.0

{% hint style="warning" %}
**Alteração incompatível — dependência de Fingerprint**

A partir de **v7.3.1**, `CafFingerprintProvider` é um módulo separado, **opcional** e não é mais incluído automaticamente com o Face Liveness. Se a sua integração depende de fingerprinting do dispositivo durante o fluxo de liveness, agora você precisa adicionar o módulo explicitamente.

**CocoaPods** — adicione o subspec ao seu `Podfile`, junto com a instalação do Face Liveness já existente:

{% code overflow="wrap" %}

```
pod 'CafSDKiOS/CafFaceLiveness'pod 'CafSDKiOS/CafFingerprintProvider'   # habilita fingerprinting
```

{% endcode %}

**Swift Package Manager** — adicione o `CafFingerprintProvider` produto ao seu target (ele é exposto independentemente de `CafFaceLiveness`):

{% code overflow="wrap" %}

```
.product(name: "CafFaceLiveness",        package: "CafSDKiOS"),.product(name: "CafFingerprintProvider", package: "CafSDKiOS")   
```

{% endcode %}
{% endhint %}

### Atualizações

* **Atualização do SDK de Fingerprint**: O SDK FingerprintJS Pro subjacente foi atualizado da versão 2.7.0 para 2.16.0

### v7.0.0

#### Segurança

* Atualizou o **PayFace** provedor para a versão mais recente, fortalecendo a segurança do fluxo Face Liveness.

### v6.4.2

#### Melhorias

* As cargas úteis de analytics agora incluem metadados mais ricos e padronizados em todos os fluxos de captura.

#### Segurança

* Adicionou a `securityEnabled: Bool = false` propriedade a `CafSDKConfiguration`, permitindo que a imposição de segurança seja alternada programaticamente. Quando definido como `true`, o SDK realiza validação rigorosa de segurança durante a inicialização e a execução; se uma violação de segurança for detectada, o SDK lança uma `securityException` e encerra o fluxo.

  ```swift
  let sdkConfig = CafSDKConfiguration(
      presentationOrder: [.faceLiveness, .documentDetector],
      securityEnabled: true
  )
  ```
* Removeu a `CAFEnforceSecurity` `Info.plist` flag. A imposição de segurança agora é controlada exclusivamente pela nova `securityEnabled` propriedade em `CafSDKConfiguration`. As integrações existentes que dependem do flag do Info.plist devem migrar para definir `securityEnabled` programaticamente.

#### Correções

* Corrigiu problemas que afetavam o fluxo de captura de documento RG em `DocumentDetector`.

### v6.3.0

#### Melhorias

* Removeu a `KMP/CafSolutions` dependência da pilha do provedor de liveness.
* Melhorou a qualidade das cargas úteis de analytics com metadados mais ricos e padronizados.

### v6.2.0

{% hint style="warning" %}
Versões anteriores a `6.2.0` faziam o iProov Liveness parar de funcionar após 12 de março de 2026. Use `6.2.0` ou posterior.
{% endhint %}

#### Alterações incompatíveis

* A versão mínima compatível do iOS agora é **15.0+**.

#### Melhorias

* Atualizou a dependência do iProov para **13.1.0**.
* Adicionou novos `CafFailureType` casos:
  * `eyewear`
  * `faceNotFound`
  * `framesBlurry`
  * `lightingIssues`
  * `motionIssue`
  * `backgroundIssue`
  * `deviceIssue`
  * `deviceRestart`
  * `systemError`
  * `rejected`
  * `timeout`
  * `userNotFound`
  * `processingFault`

#### Importante

* O suporte a reverse proxy será removido em uma versão futura.
* É necessária uma atualização relacionada ao iProov para evitar problemas de certificado.
* Após **15 de março de 2026**, **Face Liveness** e **Face Auth** os serviços poderão ficar indisponíveis.

### v6.1.0

#### Melhorias

* Atualizou a implementação de analytics.

### v6.0.0

#### Alterações incompatíveis

* Renomeou `CafInstructionsConfiguration` as propriedades para oferecer suporte às telas de instruções de captura e envio:
  * `título` → `captureTitle`
  * `texto da descrição` → `captureDescriptionText`
  * `etapas` → `captureSteps`
  * `título do botão` → `captureButtonTitle`
  * `imagem do cabeçalho` → `captureHeaderImage`
* Adicionou novas propriedades de instruções de envio:
  * `uploadTitle`
  * `uploadDescriptionText`
  * `uploadSteps`
  * `uploadButtonTitle`
  * `uploadHeaderImage`

#### Segurança

* Adicionou verificações de proteção em tempo de execução para instrumentação dinâmica e ameaças relacionadas.
* Adicionou `securityException` a `CafErrorType`.
* O SDK agora encerra o fluxo quando detecta uma violação de segurança durante a inicialização ou execução.

### v5.7.0

#### Novos recursos

* Adicionou `loadSession()` a `CafSDKProvider` para pré-carregamento de sessão do Face Liveness.
* Enquanto o pré-carregamento é executado, o callback unificado emite `.loading` e `.loaded`.

#### Melhorias

* Adicionou campos de analytics para melhor visibilidade da captura de documentos.
* `CafDocumentDetectorConfig.flow` agora falha rapidamente com `libraryException` quando vazio.
* A validação de atestado e de token agora distingue entre erros de rede, tokens inválidos e respostas inválidas.

#### Mudanças de comportamento

* `manualCaptureTime` em `CafDocumentDetectorConfig` agora tem valor padrão de `0` segundos.
* A captura manual continua configurável por meio de `manualCaptureEnabled` e `manualCaptureTime`.

### v5.6.2

#### Novos recursos

* Adicionou `faceAuthentication` a `CafErrorType` para erros do backend quando `executeFaceAuth` está ativado.

#### Melhorias

* Melhorou a validação de analytics.

### v5.5.1

#### Correções

* Corrigiu o `CafFaceLiveness` fluxo de tentar novamente.

#### Atualizações

* Fez downgrade do Fingerprint de `2.7.0` a `2.6.0` devido a problemas de compatibilidade.

### v5.5.0

#### Novos recursos

* Adicionou suporte opcional ao **PayFace (Fortface)** provedor:
  * produto do Swift Package Manager: `FortfaceProvider`
  * subspec do CocoaPods: `CafSDKiOS/FortfaceProvider`
* Adicionou `flCustomizations` a `CafFaceLivenessConfig`.
* Adicionou `CafFLPayFaceCustomization` para personalização de texto e fonte do PayFace.
* Adicionou sufixos laterais localizados automáticos para `customTitles` em `CafSelectDocumentConfig`.

#### Documentação

* Atualizou os exemplos de primeiros passos para incluir `FortfaceProvider` e `flCustomizations`.

### v5.4.4

#### Novos recursos

* Adicionou substituições de título e descrição por documento na tela de seleção de documento por meio de:
  * `CafSelectDocumentConfig.customTitles`
  * `CafSelectDocumentConfig.customDescriptions`
* Essas substituições afetam tanto a lista de seleção quanto os rótulos de etapa gerados.

### v5.4.3

#### Melhorias

* Normalizou as mensagens de erro e falha para uma saída de callback mais limpa.
* As telas de falha agora abrem em tela cheia para melhor consistência.

### v5.4.2

#### Correções

* Melhorou a confiabilidade da conclusão quando nenhum modal é apresentado.
* Os provedores agora garantem callbacks mesmo quando as telas de instrução ou transição estão desativadas.
* Melhorou a lógica de encerramento no Face Liveness e no Document Detector para evitar fluxos travados e callbacks perdidos.

### v5.4.1

#### Melhorias

* Melhorou a validação de envio de PDF com mensagens mais claras para arquivos criptografados, bloqueados ou ilegíveis.
* Tornou o comportamento de cancelamento mais consistente durante o envio de documentos.

#### Correções

* Corrigiu a conclusão do fluxo quando as telas de transição estão desativadas.
* Corrigiu a entrega de callbacks nos modos em lote e fora de lote.
* A seleção de documentos agora preserva a ordem configurada ao confirmar seleções múltiplas.

### v5.4.0

#### Novos recursos

* Adicionou `enableTransitionScreens` a `CafSDKConfiguration`.
  * `true`: mostra telas de transição entre módulos.
  * `false`: executa os módulos sequencialmente sem telas intermediárias.
* Melhorou o tratamento e a padronização de erros entre os módulos.
* Melhorou os analytics de erros, sessões e pontos de entrada.

#### Melhorias

* Melhorou as mensagens de validação de token para tokens vazios e IDs de pessoa.

### v5.3.0

#### Novos recursos

* Adicionou cores de personalização de diálogo a `CafColorConfiguration`:
  * `dialogBackgroundColor`
  * `dialogBorderColor`

### v5.2.0

#### Novos recursos

* Fluxos de documentos digitais para **RG Digital** e **CNH Digital** agora:
  * força o modo de envio,
  * pula a tela de seleção da origem da foto,
  * vai direto para o fluxo de envio.

#### Melhorias

* `CafUploadSettings.enable` agora tem valor padrão de `true`.
* Melhorou a lógica de seleção de RG e CNH quando estão disponíveis documentos de frente/verso e completos.
* As opções de documentos digitais agora têm prioridade nas telas de seleção.

#### Correções

* Corrigiu um problema no fluxo de envio causado por seleção incorreta de documento.

### v5.1.0

#### Melhorias

* Adicionou melhorias de segurança ao Document Detector e ao `CafFaceLiveness`.
* Adicionou `maxRetryAttempts` ao Document Detector para controle de repetição de erros do servidor.
* Valor padrão: `2`.

#### Correções

* `CafSDKProvider` a inicialização agora exige corretamente ambos `mobileToken` e `personId`.

### v5.0.2

#### Atualizações

* Atualizou a versão de build do Xcode de `16.2` a `16.4`.

### v5.0.1

#### Melhorias

* Atualizou `iProov` de `12.3.0` a `12.3.1`.

#### Novos recursos

* Moveu `reverseProxyConfig: CafReverseProxyConfig` para `CafFaceLivenessConfig`.
* Consolidou `authBaseUrl`, `livenessBaseUrl`, e `certificados` em `CafFaceLivenessConfig`.
* Adicionou `executeFaceAuth`.
* Adicionou `maxRetryAttempts` a `CafFaceLivenessConfig`.

### v4.1.1

#### Melhorias

* Melhorou os analytics híbridos para **Flutter** e **React Native** integrações.

### v4.1.0

#### Novos recursos

* Adicionou `customLocalization: String?` nos builders do Face Liveness.
* Adicionou novos tipos de personalização do Document Detector:
  * `CafUploadMessagesCustomization`
  * `CafFailedPhotoCustomization`

### v4.0.0

#### Alterações incompatíveis

* `CafUnifiedResponse` agora expõe apenas `signedResponse: String`.
* Removeu a `[String: Any]` dicionário de resultados.
* Adicionou `invalidResponseException` a `CafErrorType`.
* Adicionou suporte a nova tentativa para envios de documentos interrompidos ou lentos.

#### Notas de migração

1. Atualize a dependência:
   * Swift Package Manager: `from: "4.0.0"`
   * CocoaPods: `pod 'CafSDKiOS', '~> 4.0.0'`
2. Atualize o tratamento de sucesso para usar `signedResponse`.
3. Remova todos os usos de `response.result`.
4. Adicione tratamento para `.invalidResponseException`.
5. Se você dependia do antigo dicionário de resultados, migre para analisar o JWT em `signedResponse`.

```swift
case .success(let responses):
    responses.forEach { response in
        print("Module: \(response.moduleName) SignedResponse: \(response.signedResponse)")
    }
```

### v3.0.0

#### Novos recursos

* Melhorou os analytics.
* Adicionou tratamento detalhado para `.failure` a `CafUnifiedEvent`.
* Adicionou `CafDDCustomization` e tipos de personalização relacionados:
  * `CafPreviewCustomization`
  * `CafDDUploadCustomization`
  * `CafMessageCustomization`
* Adicionou `customMessage` e `customOkButtonTitle` a `CafDocumentDetectorStep`.

#### Melhorias

* Melhorou a diferenciação entre falhas operacionais e erros gerais de execução.
* O Document Detector agora herda seu tema principalmente do global `CafColorConfiguration`.

#### Alterações incompatíveis

* `.failure` agora usa `CafFailureType`.
* `.error` agora usa `CafErrorType`.
* `CafDocumentDetectorConfig` não oferece mais suporte a:
  * `previewTitle`
  * `previewSubtitle`
  * `previewConfirmLabel`
  * `previewRetryLabel`
  * `messageSettings`
* `CafDocumentDetectorLayout` não oferece mais suporte a:
  * `primaryColor`
  * `uploadBackGroundColor`
  * `previewBackGroundColor`

#### Notas de migração

1. Atualizar `.failure` tratamento:

```swift
case .failure(response: String?, type: CafFailureType, description: String?)
```

2. Atualizar `.error` tratamento:

```swift
case .error(type: CafErrorType, description: String)
```

3. Substitua as configurações removidas de pré-visualização e mensagem por `ddCustomizations`.
4. Substitua as substituições do popup de etapa por `customMessage` e `customOkButtonTitle`.
5. Mova a personalização de cor do Document Detector para o global `CafColorConfiguration`.

### v2.0.0

#### Novos recursos

* `CafSDKConfiguration(waitForAllServices: true)` agora agrupa todas as respostas dos módulos em uma única `.success`.
* `.success` agora sempre retorna um array de respostas.

#### Alterações incompatíveis

* `CafUnifiedEvent.success` alterado para `success(responses: [CafUnifiedResponse])`.

#### Notas de migração

1. Atualizar para `v2.0.0` ou posterior.
2. Altere o tratamento de sucesso para esperar um array:

```swift
case .success(let responses):
    responses.forEach { response in
        // Trate a resposta de cada módulo
    }
```

### v1.4.0

#### Novos recursos

* Introduzido `CafSDKProvider` como o ponto de entrada unificado para Face Liveness e Document Detector.
* Adicionou `CafSDKProvider.Builder` para configuração modular e segura em termos de tipos.
* Adicionou `CafSDKConfiguration` para ordem de execução e tema de interface compartilhado.
* Autenticação, ambiente e logs unificados entre os módulos.

#### Documentação

* Guias de integração do Swift Package Manager e CocoaPods revisados.
* Adicionados exemplos detalhados para `CafFaceLivenessConfig` e `CafDocumentDetectorConfig`.

#### Melhorias de configuração

* Face Liveness:
  * personalização de instruções com `CafInstructionsConfiguration`
  * endpoints de proxy reverso com `authBaseUrl` e `livenessBaseUrl`
* Document Detector:
  * fluxo de captura em várias etapas com `[CafDocumentDetectorStep]`
  * personalização da UI com `CafDocumentDetectorLayout` e `CafMessageSettings`
  * suporte a proxy com `CafProxySettings`

#### Alterações incompatíveis

* Adicionado o novo módulo de integração: `CafSDK`
* Módulos renomeados:
  * `FaceLiveness` → `CafFaceLiveness`
  * `DocumentDetector` → `CafDocumentDetector`
* Ferramentas mínimas atualizadas:
  * Xcode `16.2+`
  * iOS `13.0+`

#### Notas de migração

1. Substitua os inicializadores de módulo independentes por `CafSDKProvider`.
2. Atualize os casos do enum para minúsculas, por exemplo `.CNH_FRONT` → `.cnhFront`.
3. Use `CafDocumentDetectorStep(stepType:)` em vez de construtores legados.


---

# 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 dynamically by asking a question.

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

```
GET https://docs.caf.io/caf-sdk/caf-sdk-pt-br/ios/getting-started-with-the-sdk-4.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
