> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.idenfy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# iOS SDK Additional Features

> Enable NFC reading, document blur and glare detection, localization, and other advanced features in the iDenfy iOS SDK verification flow.

## Automatic Country and Document Detection

This feature skips the country and document selection step without requiring data in the token. The system automatically detects your user's country via IP address and displays the accepted documents for that location. The captured document is also detected by the automated system.

<img alt="New Country & Document selection" width="250" src="https://mintcdn.com/idenfy/5qhBgHm1UiZRPBZg/images/mobile/migrations/9.0.0/auto_country_document_detection.png?fit=max&auto=format&n=5qhBgHm1UiZRPBZg&q=85&s=a658706fff5221010e8df048d4fc0ac3" data-path="images/mobile/migrations/9.0.0/auto_country_document_detection.png" />

<Note>
  Contact our tech support via [**Jira customer portal**](https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1/group/-1) for enabling this feature.
</Note>

## Realtime Document Blur Glare Detection

This feature provides real-time document blur and glare detection. A warning alert notifies users when blur or glare is detected in the camera feed. An additional warning also appears in the photo result view.

<img alt="Document Blur Glare" width="250" src="https://mintcdn.com/idenfy/DOV0bfUXhnltF6lA/images/tutorials/mobile/gifs/realtime_blur_glare_detection.gif?s=f9f0d5da692f400708f4105e2d4cdada" data-path="images/tutorials/mobile/gifs/realtime_blur_glare_detection.gif" />

### Adding the Document Blur Glare Detection Dependency

Add the following line to your Podfile with the **latest version**. The latest version is accessible from the [changelog](/sdks/ios/migration-guide).

```ruby theme={"system"}
pod 'iDenfySDK/iDenfyBlurGlareDetection', '9.0.0'
```

<Note>
  **iDenfySDK/iDenfyBlurGlareDetection** module also includes **Liveness detection**.
</Note>

<Note>
  Contact tech support via the [Jira customer portal](https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1) to enable this feature.
</Note>

## Trusted Service

This feature requires users to rotate their document according to templates in a random sequence before capturing the document, in order to detect any inconsistencies:

<img alt="Trusted Service" width="250" src="https://mintcdn.com/idenfy/DOV0bfUXhnltF6lA/images/tutorials/mobile/gifs/trusted_service.gif?s=1cd3529527d6f06bffeaa49c01407a51" data-path="images/tutorials/mobile/gifs/trusted_service.gif" />

<Note>
  Contact tech support via the [Jira customer portal](https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1) to enable this feature.
</Note>

## Document Recognition

This feature provides real-time document recognition. Documents shown in FRONT and BACK steps will be automatically detected and captured, allowing for a better picture of the document.

<img alt="Document Recognition" width="250" src="https://mintcdn.com/idenfy/5qhBgHm1UiZRPBZg/images/tutorials/mobile/gifs/ios/document_recognition.gif?s=732ffe1cae7265b010304d1b532659bb" data-path="images/tutorials/mobile/gifs/ios/document_recognition.gif" />

To seek a better result, documents that are **not fully visible** or **do not match** the selected **country** and **document type** will **NOT** be recognized and captured. As a result, the final verification status will be more accurate.

<img alt="Document Recognition Failure" width="250" src="https://mintcdn.com/idenfy/DOV0bfUXhnltF6lA/images/tutorials/mobile/document_recognition_failure_ios.png?fit=max&auto=format&n=DOV0bfUXhnltF6lA&q=85&s=67ba8b195bd9a63e42e003fe14460bb7" data-path="images/tutorials/mobile/document_recognition_failure_ios.png" />

If a document cannot be recognized within a certain period of time (10 seconds), the SDK will fall back to regular photo capturing.

<img alt="Document Recognition Fallback" width="250" src="https://mintcdn.com/idenfy/DOV0bfUXhnltF6lA/images/tutorials/mobile/gifs/ios/document_recognition_fallback.gif?s=55997e4d41277ea1ef48cadeb39af76c" data-path="images/tutorials/mobile/gifs/ios/document_recognition_fallback.gif" />

<Warning>
  This feature is still in an early stage. Minor bugs might occur.
</Warning>

### Adding the Document Recognition Dependency

Add the following line to your Podfile with the **latest version**:

```ruby theme={"system"}
pod 'iDenfySDK/iDenfyRecognition', '9.0.0'
```

<Note>
  **iDenfySDK/iDenfyRecognition** module also includes **Liveness detection**.
</Note>

<Note>
  To enable Document Recognition, contact technical support via the [Jira customer portal](https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1).
</Note>

## Face Detection

While taking a regular face photo, you can enable the face detection feature, which requires users to place their face into the marked area before taking a photo. For better success rate, faces that are far away from the camera will not pass.

<img alt="Face detection" width="250" src="https://mintcdn.com/idenfy/DOV0bfUXhnltF6lA/images/tutorials/mobile/gifs/face-detection.gif?s=b807a221bcc156bd6211db91b9a3ba3c" data-path="images/tutorials/mobile/gifs/face-detection.gif" />

<Note>
  Contact tech support via the [Jira customer portal](https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1) to enable this feature. Face detection will apply to **both** KYC verification and face authentication flows.
</Note>

## Face Auto Capture

While taking a regular face photo, you can enable the face auto capture feature, which requires users only to place their face into the marked area. The face photo is then automatically captured. For better success rate, faces that are too close or far away from the camera will not pass.

<img alt="Face auto capture" width="250" src="https://mintcdn.com/idenfy/DOV0bfUXhnltF6lA/images/tutorials/mobile/gifs/face_auto_capture.gif?s=9b23ef9fc3bb35a9ca1ad7fb579b525f" data-path="images/tutorials/mobile/gifs/face_auto_capture.gif" />

<Note>
  Contact tech support via the [Jira customer portal](https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1) to enable this feature.
</Note>

## Advanced Liveness Detection

<img alt="Liveness" width="250" src="https://mintcdn.com/idenfy/DOV0bfUXhnltF6lA/images/tutorials/mobile/gifs/ios/liveness_ios.gif?s=5a3e949611122214788da977e0f68e01" data-path="images/tutorials/mobile/gifs/ios/liveness_ios.gif" />

The SDK provides an advanced liveness recognition feature.

<Warning>
  The new major liveness version is released every 6-12 months. Your app must update the liveness module after every major release. If the SDK is not updated, it can lead to **runtime crashes**.
</Warning>

If you already have installed `iDenfySDK/iDenfyLiveness`, you only need to configure localization.

To use a localized version of the liveness feature, add FaceTec.strings to your app module.

Strings are located in **../Pods/iDenfySDK/iDenfySDK/IdenfyAssets/IdenfyStrings** folder or at the following [URL](https://s3-eu-west-1.amazonaws.com/prod-ivs-sdk.builds/ios-sdk/9.0.0/spm/IdenfyAssets/IdenfyAssets.zip).

<Note>
  Contact tech support via the [dashboard](https://admin.idenfy.com/auth/login) to enable the liveness feature.
</Note>

## NFC Support

The SDK provides NFC enhanced identity verification.

For more integration details and potential advantages, contact tech support via the [dashboard](https://admin.idenfy.com/auth/login).

<img alt="NFC Reading" width="250" src="https://mintcdn.com/idenfy/DOV0bfUXhnltF6lA/images/tutorials/mobile/gifs/ios/nfc_reading_ios.gif?s=433c6f6c69427814bdbf6fe1df8cbda3" data-path="images/tutorials/mobile/gifs/ios/nfc_reading_ios.gif" />

After NFC is enabled for your client settings, follow these integration details:

### Adding the NFC Reading Dependency

Add the following line to your Podfile with the **latest version**:

```ruby theme={"system"}
pod 'iDenfySDK/iDenfyNFCReading', '9.0.0'
```

### Add Near Field Communication Tag Reading Capability

Add the Near Field Communication Tag Reading capability to your app target.

### Update Info.plist File

Add the following lines to the **Info.plist** file:

```xml theme={"system"}
<dict>
  ...
  <key>NFCReaderUsageDescription</key>
  <string>This app uses NFC to scan passports</string>
  <key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
  <array>
    <string>A0000002471001</string>
    <string>A0000002472001</string>
    <string>00000000000000</string>
  </array>
</dict>
```

### NFC Required

If the NFC required feature is enabled, devices that do not support NFC will immediately fail verification. This is a security feature that ensures a person does not change devices **just to perform verification**.

To enable verifications for **all devices**, your app can handle this scenario:

1. Create two different accounts: with NFC enabled and without.
2. Check if the device supports NFC before creating a verification session.
3. If the device supports NFC, create a verification session with the NFC-enabled account's credentials. If NFC is not supported, use the other account's credentials.

### NFC Optional

If the NFC optional feature is enabled, the user is asked to perform document NFC reading **ONLY** if the **device** and **selected document** type support NFC chip reading. Otherwise, a regular identity verification will be performed.

## Bank Verification Feature

Use this feature to confirm the authenticity of your customer's bank account during the account verification process. This step requires your customer to provide personal information, ensuring the financial institution interacts with a legitimate individual rather than someone using forged documents or stolen data.

<img alt="Bank Verification" width="250" src="https://mintcdn.com/idenfy/DOV0bfUXhnltF6lA/images/tutorials/mobile/gifs/ios/bank_verification.gif?s=c04c869fb4797f0c54b6ab3d6ec7f82f" data-path="images/tutorials/mobile/gifs/ios/bank_verification.gif" />

<Note>
  To enable Bank Verification, contact technical support via the [Jira customer portal](https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1).
</Note>

## Custom KYC Questionnaire

This feature allows you to create a custom questionnaire that users must fill in at the beginning of every identity verification process. The questionnaire can contain **required** or **optional** questions and a variety of **question types**.

<img alt="KYC Questionnaire" width="250" src="https://mintlify.s3.us-west-1.amazonaws.com/idenfy/images/tutorials/mobile/gifs/ios/custom_questionnaire.gif" />

<Note>
  To enable the custom KYC questionnaire feature, contact technical support via the [Jira customer portal](https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1).
</Note>

### Custom KYC Questionnaire Conditions

Questionnaires can be created using conditions, based on answers to previous questions:

<img alt="KYC Questionnaire conditions" width="250" src="https://mintcdn.com/idenfy/DOV0bfUXhnltF6lA/images/tutorials/mobile/gifs/ios/ios_questionnaire_conditions.gif?s=b28bfd1821e2876e2ad92d05dc7e25c7" data-path="images/tutorials/mobile/gifs/ios/ios_questionnaire_conditions.gif" />

## Custom Privacy Policy

This feature allows you to create a custom privacy policy that users must agree to at the beginning of every identity verification process. Along with the iDenfy privacy policy, an additional sentence is added with an alert dialog, that shows your privacy policy as an HTML that can be fully customized.

<div style={{ display: 'flex', gap: '10px' }}>
  <img width="250" src="https://mintcdn.com/idenfy/5qhBgHm1UiZRPBZg/images/tutorials/mobile/custom_privacy_policy.png?fit=max&auto=format&n=5qhBgHm1UiZRPBZg&q=85&s=d6d9b0361d4dd4e04c03ef8372ea7850" data-path="images/tutorials/mobile/custom_privacy_policy.png" />

  <img width="250" src="https://mintcdn.com/idenfy/5qhBgHm1UiZRPBZg/images/tutorials/mobile/custom_privacy_policy_alert.png?fit=max&auto=format&n=5qhBgHm1UiZRPBZg&q=85&s=5f2d05cd30c2dfbc196fe2b0fe493372" data-path="images/tutorials/mobile/custom_privacy_policy_alert.png" />
</div>

<Note>
  To enable the custom privacy policy feature, contact technical support via the [Jira customer portal](https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1).
</Note>

## Email Verification

This feature requires users to verify their email address before their identity verification.

<div style={{ display: 'flex', gap: '10px' }}>
  <img width="250" src="https://mintcdn.com/idenfy/DOV0bfUXhnltF6lA/images/tutorials/mobile/email_verification.png?fit=max&auto=format&n=DOV0bfUXhnltF6lA&q=85&s=9591bb83cf4d1ee9dc172bbedca0ab47" data-path="images/tutorials/mobile/email_verification.png" />

  <img width="250" src="https://mintcdn.com/idenfy/DOV0bfUXhnltF6lA/images/tutorials/mobile/email_verification_1.png?fit=max&auto=format&n=DOV0bfUXhnltF6lA&q=85&s=7b3c20d26b1a23f41e37b5431caef679" data-path="images/tutorials/mobile/email_verification_1.png" />
</div>

<Note>
  To enable the email verification feature, contact technical support via the [Jira customer portal](https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1).
</Note>

## Phone Number Verification

This feature requires users to verify their phone number before their identity verification.

<div style={{ display: 'flex', gap: '10px' }}>
  <img width="250" src="https://mintcdn.com/idenfy/aMmsrDpzQlHq3f58/images/tutorials/mobile/phone_number_verification.png?fit=max&auto=format&n=aMmsrDpzQlHq3f58&q=85&s=ca1f8bf547b3307f01d08849b70cccf7" data-path="images/tutorials/mobile/phone_number_verification.png" />

  <img width="250" src="https://mintcdn.com/idenfy/aMmsrDpzQlHq3f58/images/tutorials/mobile/phone_number_verification_1.png?fit=max&auto=format&n=aMmsrDpzQlHq3f58&q=85&s=76d621a42dd3bc23ba5b3c7068a1b928" data-path="images/tutorials/mobile/phone_number_verification_1.png" />
</div>

<Note>
  To enable the phone number verification feature, contact technical support via the [Jira customer portal](https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1).
</Note>
