# Features
APIs perform local checks, auto-capture the photo when conditions are met and return the captured photo through a callback.

API calls are completely decoupled (can be called in any order and any number of times) and don't perform any network operations.

The diagram below visualizes the recommended data flow when using `CAPTURE_ONLY` mode and the following modules: `IdScan`, `SelfieScan`, `DocumentScan` and `VideoSelfie`.

## Supported modules:
- `Intro`
- `Name`
- `Phone`
- `Email`
- `IdScan` (ID or Passport, selected via `IdScan.Builder.setIdType`)
- `NfcScan`
- `DocumentScan`
- `SelfieScan`
- `Geolocation`
- `Signature`
- `VideoSelfie`

# 1. Initialize Welcome SDK
Let's get started by initializing the Welcome SDK!

Add the following line of code to your class that extends the `Application` class:

```kotlin
override fun onCreate() {
    super.onCreate()
    ...
    IncodeWelcome.Builder(this)
        .setLoggingEnabled(loggingEnabled) // enable/disable logcat logs. logs are enabled by default
        .setSdkMode(SdkMode.CAPTURE_ONLY) // enable CAPTURE_ONLY mode
        .build()
    ...
}
```

```java
@Override
public void onCreate() {
    super.onCreate();
    ...
    new IncodeWelcome.Builder(this)
        .setLoggingEnabled(loggingEnabled) // enable/disable logcat logs. logs are enabled by default
        .setSdkMode(SdkMode.CAPTURE_ONLY) // enable CAPTURE_ONLY mode
        .build();
    ...
}
```

Let's take a look at what is happening in this code:

- We create an `IncodeWelcome` object using the `Builder` class and `build()` method.
- Make sure to set SDK mode to `SdkMode.CAPTURE_ONLY`.
- Optionally disable logs.
- Call the `build()` method to create the `IncodeWelcome` singleton object.
- You can use the following API calls only after the SDK has been initialized using the `build()` method.
- Review the [API Javadoc](https://incode-technologies-example-repos.github.io/Incode-Welcome-Android-example/) for complete specification of `IncodeWelcome.Builder` class.

# 2. Perform capture SDK calls

### IdScan
```kotlin
IncodeWelcome.getInstance().setSdkMode(SdkMode.CAPTURE_ONLY)
try {
    val idScan: IdScan = IdScan.Builder()
        .setShowIdTutorials(true)
        .build()

val flowConfig: FlowConfig = FlowConfig.Builder()
        .setFlowTag("ID scan section")
        .addID(idScan)
        .build()

IncodeWelcome.getInstance()
        .startOnboardingSection(activityContext, flowConfig, object : OnboardingListener() {
            override fun onIdProcessed(idProcessResult: IdProcessResult) {
                // Use idProcessResult to read the result photos
            }

override fun onError(error: Throwable) {}

override fun onUserCancelled() {}

override fun onOnboardingSectionCompleted(flowTag: String) {
                // ID scan section complete
            }
        })
} catch (e: ModuleConfigurationException) {
    e.printStackTrace()
}
```

```java
IncodeWelcome.getInstance().setSdkMode(com.incode.welcome_sdk.SdkMode.CAPTURE_ONLY);
try {
    IdScan idScan = new IdScan.Builder()
        .setShowIdTutorials(true)
        .build();

FlowConfig flowConfig = new FlowConfig.Builder()
        .setFlowTag("ID scan section")
        .addID(idScan)
        .build();

IncodeWelcome.getInstance()
        .startOnboardingSection(activityContext, flowConfig, new IncodeWelcome.OnboardingListener() {
            @Override
            public void onIdFrontCompleted(@NonNull IdScanResult frontIdScanResult) {}

@Override
            public void onIdBackCompleted(@NonNull IdScanResult backIdScanResult) {}

@Override
            public void onError(@NonNull Throwable error) {}

@Override
            public void onUserCancelled() {}

@Override
            public void onOnboardingSectionCompleted(@NonNull String flowTag) {
                // ID scan section complete
            }
        });
} catch (ModuleConfigurationException e) {
    e.printStackTrace();
}
```

### SelfieScan
```kotlin
IncodeWelcome.getInstance().setSdkMode(SdkMode.CAPTURE_ONLY)
try {
    val selfieScan = SelfieScan.Builder()
        .setShowTutorials(true)
        .build()

val flowConfig: FlowConfig = FlowConfig.Builder()
        .setFlowTag("Selfie scan section")
        .addSelfieScan(selfieScan)
        .build()

IncodeWelcome.getInstance()
        .startOnboardingSection(activityContext, flowConfig, object : OnboardingListener() {
            override fun onSelfieScanCompleted(selfieScanResult: SelfieScanResult) {
                // Use selfieScanResult to read the result photo
            }

override fun onError(error: Throwable) {}

override fun onUserCancelled() {}

override fun onOnboardingSectionCompleted(flowTag: String) {
                // Selfie scan section complete
            }
        })
} catch (e: ModuleConfigurationException) {
    e.printStackTrace()
}
```

```java
IncodeWelcome.getInstance().setSdkMode(com.incode.welcome_sdk.SdkMode.CAPTURE_ONLY);
try {
    SelfieScan selfieScan = new SelfieScan.Builder()
        .setShowTutorials(true)
        .build();

FlowConfig flowConfig = new FlowConfig.Builder()
        .setFlowTag("Selfie scan section")
        .addSelfieScan(selfieScan)
        .build();

IncodeWelcome.getInstance()
        .startOnboardingSection(activityContext, flowConfig, new IncodeWelcome.OnboardingListener() {
            @Override
            public void onSelfieScanCompleted(@NonNull SelfieScanResult selfieScanResult) {
                // Use selfieScanResult to read the result photo
            }

@Override
            public void onError(@NonNull Throwable error) {}

@Override
            public void onUserCancelled() {}

@Override
            public void onOnboardingSectionCompleted(@NonNull String flowTag) {
                // Selfie scan section complete
            }
        });
} catch (ModuleConfigurationException e) {
    e.printStackTrace();
}
```

# 3. Important: Call deleteUserLocalData() when you're done
Because the Incode SDK has multiple ways to exit the flow, make sure to call `IncodeWelcome.getInstance().deleteUserLocalData()` to delete all the local user data generated during the flow when you are done.

It is recommended to call `deleteUserLocalData()` in the following callbacks:

```kotlin
fun onSuccess()
fun onError()
fun onUserCancelled()
```

```java
public void onSuccess()
public void onError()
public void onUserCancelled()
```

# 4. Supported API configurations

## FlowConfig
```kotlin
val flowConfig = FlowConfig.Builder()
    .setFlowTag(...)
    .addIntro(...)
    .addName()
    .addPhone(...)
    .addEmail(...)
    .addID(...)
    .addNfcScan(...)
    .addDocumentScan(...)
    .addSelfieScan(...)
    .addGeolocation()
    .addSignature(...)
    .addVideoSelfie(...)
    .build()
```

```java
FlowConfig flowConfig = new FlowConfig.Builder()
    .setFlowTag(...)
    .addIntro(...)
    .addName()
    .addPhone(...)
    .addEmail(...)
    .addID(...)
    .addNfcScan(...)
    .addDocumentScan(...)
    .addSelfieScan(...)
    .addGeolocation()
    .addSignature(...)
    .addVideoSelfie(...)
    .build();
```

## CommonConfig
```kotlin
val commonConfig = CommonConfig.Builder()
    .setIdGlareThreshold(...)
    .setIdBlurThreshold(...)
    .setShowCloseButton(...)
    .setShowExitConfirmation(...)
    .setLocalizationLanguage(...)
    .setThemeConfiguration(...)
    .build()
```

```java
CommonConfig commonConfig = new CommonConfig.Builder()
    .setIdGlareThreshold(...)
    .setIdBlurThreshold(...)
    .setShowCloseButton(...)
    .setShowExitConfirmation(...)
    .setLocalizationLanguage(...)
    .setThemeConfiguration(...)
    .build();
```

## ID Scan Module
```kotlin
val idScan = IdScan.Builder()
    .setShowIdTutorials(...)
    .setWaitForTutorials(...)
    .setEnableFrontShownAsBackCheck(...)
    .setEnableBackShownAsFrontCheck(...)
    .setIdType(...)
    .setIdCategory(...)
    .setScanStep(...)
    .setShowRetakeScreen(...)
    .setEnableRotationOnRetakeScreen(...)
    .setAutocaptureUXMode(...)
    .setAutoCaptureTimeout(...)
    .build()
```

```java
IdScan idScan = new IdScan.Builder()
    .setShowIdTutorials(...)
    .setWaitForTutorials(...)
    .setEnableFrontShownAsBackCheck(...)
    .setEnableBackShownAsFrontCheck(...)
    .setIdType(...)
    .setIdCategory(...)
    .setScanStep(...)
    .setShowRetakeScreenForAutoCapture(...)
    .setShowRetakeScreenForManualCapture(...)
    .setEnableRotationOnRetakeScreen(...)
    .setAutocaptureUXMode(...)
    .setAutoCaptureTimeout(...)
    .build();
```

## Document Scan Module
```kotlin
val documentScan = DocumentScan.Builder()
    .setDocumentType(...)
    .setShowTutorials(...)
    .setWaitForTutorials(...)
    .setShowDocumentProviderOptions(...)
    .build()
```

```java
documentScan = new DocumentScan.Builder()
    .setDocumentType(...)
    .setShowTutorials(...)
    .setWaitForTutorials(...)
    .setShowDocumentProviderOptions(...)
    .build();
```

## Selfie Scan Module
```kotlin
val selfieScan = SelfieScan.Builder()
    .setShowTutorials(...)
    .setWaitForTutorials(...)
    .setCameraFacing(...)
    .setBrightnessThreshold(...)
    .setLensesCheckEnabled(...)
    .setMaskCheckEnabled(...)
    .setAssistedOnboardingEnabled()
    .setAutoCaptureTimeout(...)
    .setVideoLivenessRecordingEnabled(...)
    .build()
```

```java
SelfieScan selfieScan = new SelfieScan.Builder()
    .setShowTutorials(...)
    .setWaitForTutorials(...)
    .setCameraFacing(...)
    .setBrightnessThreshold(...)
    .setLensesCheckEnabled(...)
    .setMaskCheckEnabled(...)
    .setAssistedOnboardingEnabled()
    .setAutoCaptureTimeout(...)
    .setVideoLivenessRecordingEnabled(...)
    .build();
```

## VideoSelfie Module
```kotlin
val videoSelfie = VideoSelfie.Builder()
    .setShowTutorials(...)
    .setWaitForTutorials(...)
    .setMinVideoLengthRequired(...)
    .setLivenessEnabled(...)
    .setLensesCheckEnabled(...)
    .setMaskCheckEnabled(...)
    .setSelfieCameraFacing(...)
    .setIdScanEnabled(...)
    .setEnableBackShownAsFrontCheck(...)
    .setEnableFrontShownAsBackCheck(...)
    .setRandomQuestionsEnabled(...)
    .setRandomQuestions(...)
    .setVoiceConsentEnabled(...)
    .setConsent(...)
    .setMaxVideoLength(...)
    .setDisableAudio(...)
    .setSelfieMode(...)
    .build()
```

```java
VideoSelfie videoSelfie = new VideoSelfie.Builder()
    .setShowTutorials(...)
    .setWaitForTutorials(...)
    .setMinVideoLengthRequired(...)
    .setLivenessEnabled(...)
    .setLensesCheckEnabled(...)
    .setMaskCheckEnabled(...)
    .setSelfieCameraFacing(...)
    .setIdScanEnabled(...)
    .setEnableBackShownAsFrontCheck(...)
    .setEnableFrontShownAsBackCheck(...)
    .setRandomQuestionsEnabled(...)
    .setRandomQuestions(...)
    .setVoiceConsentEnabled(...)
    .setConsent(...)
    .setMaxVideoLength(...)
    .setDisableAudio(...)
    .setSelfieMode(...)
    .build();
```

# 5. Customizable Strings

```xml
<string name="onboard_sdk_dialog_camera_permissions_mandatory_title">Incode Welcome needs\nCamera access to work</string>
<string name="onboard_sdk_dialog_location_permissions_mandatory_title">Incode Welcome needs\nLocation access to work</string>
<string name="onboard_sdk_dialog_microphone_permissions_mandatory_title">Incode Welcome needs\nMicrophone access to work</string>
<string name="onboard_sdk_dialog_camera_permissions_mandatory_subtitle">Please open Settings, go to\nApp Permissions and enable Camera</string>
<string name="onboard_sdk_dialog_location_permissions_mandatory_subtitle">Please open Settings, go to\nApp Permissions and enable Location</string>
<string name="onboard_sdk_dialog_microphone_permissions_mandatory_subtitle">Please open Settings, go to\nApp Permissions and enable Microphone</string>

<string name="onboard_sdk_dialog_permission_btn_open_settings">Open settings</string>
<string name="onboard_sdk_btn_continue">Continue</string>
<string name="onboard_sdk_ok">OK</string>
<string name="onboard_sdk_btn_skip">Skip</string>
<string name="onboard_sdk_btn_quit">Quit</string>
<string name="onboard_sdk_btn_next">Next</string>
<string name="onboard_sdk_btn_start">Start</string>
<string name="onboard_sdk_bullet_point" translatable="false">\u2022</string>

<!-- Generic -->
<string name="onboard_sdk_loader_preparing_camera">Preparing camera</string>
<string name="onboard_sdk_input_field_required_state_voice_over">Required field</string>
<string name="onboard_sdk_input_field_clear_selection_voice_over">Clear selection</string>
<string name="onboard_sdk_dropdown_hint">Select an option</string>
<string name="onboard_sdk_dropdown_voice_over_expanded">Expanded</string>
<string name="onboard_sdk_dropdown_voice_over_collapsed">Collapsed</string>
<string name="onboard_sdk_dropdown_selected">Selected</string>
<string name="onboard_sdk_dropdown_not_selected">Not selected</string>
<string name="onboard_sdk_dropdown_search_no_results">No results</string>

<!-- IntroActivity -->
<string name="onboard_sdk_intro_title">For this process you will need:</string>
<string name="onboard_sdk_intro_check_id">Valid ID</string>
<string name="onboard_sdk_intro_check_passport">Valid Passport</string>
<string name="onboard_sdk_intro_check_id_or_passport">Valid ID or Passport</string>
<string name="onboard_sdk_intro_check_address">Recent Proof of Address</string>
<string name="onboard_sdk_intro_check_selfie">To take a Selfie</string>
<string name="onboard_sdk_intro_check_medical_doc">Valid Medical Document</string>
<string name="onboard_sdk_intro_check_other_doc">Valid Document</string>
<string name="onboard_sdk_intro_data_protected_label">Your data is protected by Incode</string>
<string name="onboard_sdk_intro_data_protected_highlighted_text">Incode</string>
<string name="onboard_sdk_intro_confirm_btn">I Confirm</string>
<string name="onboard_sdk_intro_btn_continue">@string/onboard_sdk_btn_continue</string>

<!-- PhoneNumberActivity -->
<string name="onboard_sdk_enter_phone_number">Enter phone number</string>
<string name="onboard_sdk_error_unknown_error">Unknown error</string>
<string name="onboard_sdk_phone_number_check_box_description">Yes, I’d like to receive important messages from %1$s on my phone</string>
<string name="onboard_sdk_phone_number_btn_continue">@string/onboard_sdk_btn_continue</string>

<!-- PhoneNumberActivity: Accessibility - Search Country dropdown -->
<string name="onboard_sdk_phone_country_dropdown_a11y_label">Country code, %1$s, %2$s</string>
<string name="onboard_sdk_phone_country_list_a11y_label">Country list</string>
<string name="onboard_sdk_phone_country_row_a11y_label">%1$s, %2$s</string>

<!-- PhoneNumberActivity: Accessibility - Pane title announced when the screen loads or when focus returns -->
<string name="onboard_sdk_phone_screen_pane_title_a11y">Phone number verification</string>

<!-- PhoneNumberActivity: Accessibility - Label for the search field  -->
<string name="onboard_sdk_phone_country_search_a11y_label">Search countries</string>

<!-- PhoneNumberActivity: Phone field -->
<string name="onboard_sdk_phone_number_a11y_label">Phone number</string>

<!-- PhoneNumberActivity: Accessibility - Continue button -->
<string name="onboard_sdk_phone_continue_loading_a11y">Submitting, please wait</string>

<!-- PhoneNumberActivity: Accessibility - Empty state announcement for country search results -->
<string name="onboard_sdk_phone_country_results_empty_a11y">No countries found</string>

<!-- EmailAddressActivity -->
<string name="onboard_sdk_enter_email_address">Enter your email</string>
<string name="onboard_sdk_enter_email_input_placeholder">Email</string>
<string name="onboard_sdk_email_format_not_valid_message">Invalid email format</string>
<string name="onboard_sdk_email_address_btn_continue">@string/onboard_sdk_btn_continue</string>

<!-- NameActivity -->
<string name="onboard_sdk_enter_name">Enter your name</string>

<!-- Common SelectSourceActivity -->
<string name="onboard_sdk_select_document_source_photo_library">Photo Library</string>
<string name="onboard_sdk_select_document_source_take_photo">Take Photo</string>
<string name="onboard_sdk_select_document_source_browse">Browse…</string>
<string name="onboard_sdk_select_document_source_error_opening_file">Error opening file</string>
<string name="onboard_sdk_select_document_source_error">No app available to select content</string>

<!-- DocumentCaptureActivity (V2) -->
<string name="onboard_sdk_document_capture_chooser_title">Verify your document</string>
<string name="onboard_sdk_document_capture_chooser_subtitle">Take a photo or upload a PDF, JPG or PNG.</string>
<string name="onboard_sdk_document_capture_chooser_subtitle_no_pdf">Take a photo or upload a JPG or PNG.</string>
<string name="onboard_sdk_document_capture_only_subtitle">Take a photo of your document to continue.</string>
<string name="onboard_sdk_document_capture_upload_only_subtitle">Upload a PDF, JPG or PNG.</string>
<string name="onboard_sdk_document_capture_upload_only_subtitle_no_pdf">Upload a JPG or PNG.</string>
<string name="onboard_sdk_document_capture_btn_capture">Capture document</string>
<string name="onboard_sdk_document_capture_btn_upload">Upload document</string>
<string name="onboard_sdk_document_capture_btn_skip">Skip this step</string>
<string name="onboard_sdk_document_capture_source_take_photo">Take photo</string>
<string name="onboard_sdk_document_capture_source_camera_roll">Choose from camera roll</string>
<string name="onboard_sdk_document_capture_source_choose_file">Choose file</string>
<string name="onboard_sdk_document_capture_camera_title">Show your full document</string>
<string name="onboard_sdk_document_capture_camera_subtitle">Make sure it’s fully visible and press the button</string>
<string name="onboard_sdk_document_capture_review_btn_replace">Replace</string>
<string name="onboard_sdk_document_capture_review_pdf_subtitle">Make sure you’ve selected the correct file before you continue the verification process.</string>
<string name="onboard_sdk_document_capture_success_title">Successfully processed!</string>
<string name="onboard_sdk_document_capture_common_issues_title">Common issues</string>
<string name="onboard_sdk_document_capture_common_issues_out_of_frame_title">Document is too far or out of frame</string>
<string name="onboard_sdk_document_capture_common_issues_out_of_frame_subtitle">Make sure all edges are visible on screen.</string>
<string name="onboard_sdk_document_capture_common_issues_folded_title">Document is folded</string>
<string name="onboard_sdk_document_capture_common_issues_folded_subtitle">Flatten your document and make sure it’s fully open and straight.</string>
<string name="onboard_sdk_document_capture_common_issues_shadows_title">Shadows on the document</string>
<string name="onboard_sdk_document_capture_common_issues_shadows_subtitle">Move to a brighter area and avoid casting shadows over your document.</string>
<string name="onboard_sdk_document_capture_common_issues_lens_title">Camera lens is dirty</string>
<string name="onboard_sdk_document_capture_common_issues_lens_subtitle">Clean your camera lens for a sharper image.</string>
<string name="onboard_sdk_document_capture_common_issues_btn_try_again">Try again</string>
<string name="onboard_sdk_document_capture_analyzing_title">Analyzing…</string>
<string name="onboard_sdk_document_capture_uploading_title">Uploading…</string>
<string name="onboard_sdk_document_capture_error_title">Document needs to be recaptured</string>
<string name="onboard_sdk_document_capture_error_subtitle">Some pages were unclear or incomplete. Recapture all document pages to continue.</string>
<string name="onboard_sdk_document_capture_error_btn_recapture">Recapture document</string>
<string name="onboard_sdk_document_capture_no_connection_btn_refresh">Refresh</string>
<string name="onboard_sdk_document_capture_exhausted_title">Unable to process</string>
<string name="onboard_sdk_document_capture_exhausted_subtitle">Maximum number of attempts reached.</string>
<string name="onboard_sdk_document_capture_exhausted_btn_continue">Continue</string>

<!-- SelectAddressStatementSourceActivity -->
<string name="onboard_sdk_select_address_statement_source_title">Upload a document to verify your identity</string>
<string name="onboard_sdk_select_address_statement_source_subtitle">This can be any legal documentation that proves your address.</string>
<string name="onboard_sdk_select_address_statement_source_bottom_text">Take a photo or upload a PDF, JPG, or PNG</string>
<string name="onboard_sdk_select_address_statement_source_btn_continue">@string/onboard_sdk_btn_continue</string>
<string name="onboard_sdk_select_address_statement_source_btn_skip">Skip this step</string>

<!-- SelectPaymentProofSourceActivity -->
<string name="onboard_sdk_select_payment_proof_source_title">Upload your proof of payment</string>
<string name="onboard_sdk_select_payment_proof_source_subtitle">This can be a document from your bank or electronic invoice that shows a specific transaction.</string>
<string name="onboard_sdk_select_payment_proof_source_bottom_text">Take a photo or upload JPG, PNG</string>
<string name="onboard_sdk_select_payment_proof_source_btn_continue">@string/onboard_sdk_btn_continue</string>
<string name="onboard_sdk_select_payment_proof_source_btn_skip">Skip this step</string>

<!-- SelectMedicalDocSourceActivity -->
<string name="onboard_sdk_select_medical_doc_source_title">Upload your medical document</string>
<string name="onboard_sdk_select_medical_doc_source_subtitle">This can be a document that shows you are medically insured.</string>
<string name="onboard_sdk_select_medical_doc_source_bottom_text">Take a photo or upload JPG, PNG</string>
<string name="onboard_sdk_select_medical_doc_source_btn_continue">@string/onboard_sdk_btn_continue</string>
<string name="onboard_sdk_select_medical_doc_source_btn_skip">Skip this step</string>

<!-- SelectOtherDocument1SourceActivity -->
<string name="onboard_sdk_select_other_document_1_source_title">Upload a document to verify your identity</string>
<string name="onboard_sdk_select_other_document_1_source_subtitle">This can be any legal documentation that proves your identity.</string>
<string name="onboard_sdk_select_other_document_1_source_bottom_text">Take a photo or upload JPG, PNG</string>
<string name="onboard_sdk_select_other_document_1_source_btn_continue">@string/onboard_sdk_btn_continue</string>
<string name="onboard_sdk_select_other_document_1_source_btn_skip">Skip this step</string>

<!-- SelectOtherDocument2SourceActivity -->
<string name="onboard_sdk_select_other_document_2_source_title">Upload a document to verify your identity</string>
<string name="onboard_sdk_select_other_document_2_source_subtitle">This can be any legal documentation that proves your identity.</string>
<string name="onboard_sdk_select_other_document_2_source_bottom_text">Take a photo or upload JPG, PNG</string>
<string name="onboard_sdk_select_other_document_2_source_btn_continue">@string/onboard_sdk_btn_continue</string>
<string name="onboard_sdk_select_other_document_2_source_btn_skip">Skip this step</string>

<!-- SelectOtherDocument3SourceActivity -->
<string name="onboard_sdk_select_other_document_3_source_title">Upload a document to verify your identity</string>
<string name="onboard_sdk_select_other_document_3_source_subtitle">This can be any legal documentation that proves your identity.</string>
<string name="onboard_sdk_select_other_document_3_source_bottom_text">Take a photo or upload JPG, PNG</string>
<string name="onboard_sdk_select_other_document_3_source_btn_continue">@string/onboard_sdk_btn_continue</string>
<string name="onboard_sdk_select_other_document_3_source_btn_skip">Skip this step</string>

<!-- TutorialDocumentScanActivity -->
<string name="onboard_sdk_tutorial_document_scan_title">Place your document within the frame and take the photo</string>
<string name="onboard_sdk_tutorial_document_btn_continue">@string/onboard_sdk_btn_continue</string>

<!-- TutorialSelfieActivity -->
<string name="onboard_sdk_tutorial_selfie_title">Let’s take a selfie</string>
<string name="onboard_sdk_tutorial_selfie_subtitle">Keep a neutral expression, find balanced light, and remove any glasses or hats</string>
<string name="onboard_sdk_tutorial_selfie_animation_content_description">Place your phone an arm’s distance in front of your face. The image will be taken automatically.</string>
<string name="onboard_sdk_age_verification_selfie_title">Age verification</string>
<string name="onboard_sdk_age_verification_selfie_subtitle">Please take a selfie to estimate your age, your data is private, your face is not stored or shared</string>
<string name="onboard_sdk_age_verification_selfie_instructions">@string/onboard_sdk_tutorial_selfie_subtitle</string>

<!-- TutorialSelfieV2 -->
<string name="onboard_sdk_tutorial_selfie_v2_title">Take a selfie</string>
<string name="onboard_sdk_tutorial_selfie_v2_subtitle">Keep a neutral expression, find balanced light and remove any glasses and hats</string>
<string name="onboard_sdk_tutorial_selfie_v2_instructions">Stay still, photo will be taken automatically</string>
<string name="onboard_sdk_tutorial_selfie_v2_button_text">Take selfie</string>
<string name="onboard_sdk_age_verification_selfie_v2_title">Take a selfie to verify your age</string>
<string name="onboard_sdk_age_verification_selfie_v2_subtitle">Your image will not be stored or shared with any third-party to protect your privacy</string>
<string name="onboard_sdk_age_verification_selfie_v2_instructions">Stay still, selfie will be taken automatically</string>
<string name="onboard_sdk_age_verification_selfie_v2_button_text">Verify age</string>

<!-- IDTypeChooserActivity -->
<string name="onboard_sdk_id_type_chooser_title">Select what document you want to scan</string>
<string name="onboard_sdk_btn_id">Driver License\nID Card\nResident Card</string>
<string name="onboard_sdk_btn_passport">Passport\nVisa</string>

<!-- TutorialFrontActivity -->
<string name="onboard_sdk_tutorial_front_1_title">Place your\nID inside the frame</string>
<string name="onboard_sdk_tutorial_front_2_title">Avoid\nshadows and glare </string>
<string name="onboard_sdk_tutorial_front_3_title">Make sure\nthe photo is sharp</string>
<string name="onboard_sdk_tutorial_front_4_title">Make sure\ninfo is readable</string>
<string name="onboard_sdk_tutorial_front_voice_over">Place your ID up to the back camera of your phone and slowly move the ID while holding your phone in position. The capture will happen automatically.</string>

<!-- TutorialPassportActivity -->
<string name="onboard_sdk_tutorial_passport_1_title">Place your Passport inside the\nframe and take a photo</string>
<string name="onboard_sdk_tutorial_passport_2_title">Avoid\nshadows and glare </string>
<string name="onboard_sdk_tutorial_passport_3_title">Make sure\nthe photo is sharp</string>
<string name="onboard_sdk_tutorial_passport_4_title">Make sure\ninfo is readable</string>
<string name="onboard_sdk_tutorial_passport_voice_over">@string/onboard_sdk_tutorial_front_voice_over</string>

<!-- TutorialBackActivity -->
<string name="onboard_sdk_tutorial_back_title">Now show the\nback side of your ID</string>
<string name="onboard_sdk_tutorial_back_title_highlighted_part">back side</string>
<string name="onboard_sdk_tutorial_back_subtitle_1">Avoid shadows and glare</string>
<string name="onboard_sdk_tutorial_back_subtitle_2">The photo will be taken automatically</string>
<string name="onboard_sdk_tutorial_back_btn_continue">@string/onboard_sdk_btn_continue</string>
<string name="onboard_sdk_tutorial_back_voice_over">@string/onboard_sdk_tutorial_front_voice_over</string>

<!-- IdValidationFeedback -->
<string name="onboard_sdk_validation_autocapture_hold_still">Don’t move!\nTaking photo…</string>
<string name="onboard_sdk_validation_fill_rectangle_with_id">Fill the rectangle\nwith your ID</string>
<string name="onboard_sdk_validation_fill_rectangle_with_passport">Fill the rectangle\nwith your Passport</string>
<string name="onboard_sdk_validation_warn_show_front">Show the front of the ID</string>
<string name="onboard_sdk_validation_warn_show_back">Show the back of the ID</string>
<string name="onboard_sdk_validation_manual_capture_instructions">1. Put ID in the frame\n2. Press capture button</string>
<string name="onboard_sdk_validation_warn_id_too_dark">Too dark</string>
<string name="onboard_sdk_validation_warn_id_out_of_focus">ID out of focus</string>
<string name="onboard_sdk_validation_warn_id_glare_detected">Glare detected</string>
<string name="onboard_sdk_validation_warn_passport_too_dark">Too dark</string>
<string name="onboard_sdk_validation_warn_passport_out_of_focus">Passport out of focus</string>
<string name="onboard_sdk_validation_warn_passport_glare_detected">Glare detected</string>
<string name="onboard_sdk_validation_success">All good!</string>
<string name="onboard_sdk_validation_voice_over_back_camera_started">Back camera has started</string>
<string name="onboard_sdk_validation_voice_over_warn_id_glare_detected">Glare on ID</string>
<string name="onboard_sdk_validation_voice_over_id_too_close">Move phone further from the ID</string>
<string name="onboard_sdk_validation_voice_over_id_too_far">Move phone closer to the ID</string>
<string name="onboard_sdk_validation_voice_over_autocapture_capturing">Capturing</string>
<string name="onboard_sdk_validation_voice_over_autocapture_success">Capture success</string>
<string name="onboard_sdk_validation_voice_over_enter_manual_mode">Double tap on the screen to capture, or bottom right button if you need help with capturing</string>
<string name="onboard_sdk_voice_over_shutter_button">Take photo</string>
<string name="onboard_sdk_validation_id_type_not_digital_id">Please try with a different document</string>
<string name="onboard_sdk_validation_digital_id_file_size_error_title">File is too large</string>
<string name="onboard_sdk_validation_digital_id_file_size_error_subtitle">The selected file is larger than 5MB, please upload a smaller one</string>
<string name="onboard_sdk_validation_btn_choose_another_file">Choose another file</string>

<!-- IdValidationActivity -->
<string name="onboard_sdk_validation_show_front">Show the front of the ID</string>
<string name="onboard_sdk_validation_show_front_secondary_text">@string/onboard_sdk_validation_show_front</string>
<string name="onboard_sdk_validation_show_back">Show the back of the ID</string>
<string name="onboard_sdk_validation_show_back_secondary_text">@string/onboard_sdk_validation_show_back</string>
<string name="onboard_sdk_validation_show_passport">Show passport page with photo</string>
<string name="onboard_sdk_id_scan_help_btn">Help</string>
<string name="onboard_sdk_id_scan_close_btn">Close</string>
<string name="onboard_sdk_id_scan_help_common_issue_1">ID too far or out of frame</string>
<string name="onboard_sdk_id_scan_help_common_issue_subtext_1"></string>
<string name="onboard_sdk_id_scan_help_common_issue_2">Glare or shadows on ID</string>
<string name="onboard_sdk_id_scan_help_common_issue_subtext_2"></string>
<string name="onboard_sdk_id_scan_help_common_issue_3">Camera lens dirty</string>
<string name="onboard_sdk_id_scan_help_common_issue_subtext_3"></string>
<string name="onboard_sdk_id_scan_help_btn_ok">OK, try again</string>
<string name="onboard_sdk_id_scan_help_btn_manual_capture">I prefer to capture the photo manually</string>
<string name="onboard_sdk_document_scan_help_common_issues">Common issues</string>
<string name="onboard_sdk_document_scan_help_common_issue_1">Document is too far or out of frame</string>
<string name="onboard_sdk_document_scan_help_common_issue_subtext_1"></string>
<string name="onboard_sdk_document_scan_help_common_issue_2">Document is folded</string>
<string name="onboard_sdk_document_scan_help_common_issue_subtext_2"></string>
<string name="onboard_sdk_document_scan_help_common_issue_3">Glare or shadows on the document</string>
<string name="onboard_sdk_document_scan_help_common_issue_subtext_3"></string>
<string name="onboard_sdk_document_scan_help_common_issue_4">Camera lens is dirty</string>
<string name="onboard_sdk_document_scan_help_common_issue_subtext_4"></string>
<string name="onboard_sdk_document_scan_help_btn_ok">OK, try again</string>

<!-- ReviewActivity -->
<string name="onboard_sdk_review_your_photo">Review your photo</string>
<string name="onboard_sdk_review_your_photo_hint1">Ensure that the text on the ID is readable</string>
<string name="onboard_sdk_review_your_photo_hint2">The ID photo must be sharp and without glare</string>
<string name="onboard_sdk_review_your_photo_btn_scan_again">@string/onboard_sdk_validation_address_btn_scan_again</string>
<string name="onboard_sdk_validation_address_btn_scan_again">"&lt;   Retake photo"</string> <!-- Remove! -->
<string name="onboard_sdk_review_your_photo_btn_continue">@string/onboard_sdk_btn_continue</string>

<!-- ReviewActivity - Proof of Address -->
<string name="onboard_sdk_review_your_document">Review your document</string>
<string name="onboard_sdk_review_your_document_hint">Make sure that entire document fits the view, and that the text is readable.</string>

<!-- IdDocumentSelection -->
<string name="onboard_sdk_id_capture_title">ID capture</string>
<string name="onboard_sdk_id_document_selection_identity_card">Identity Card</string>
<string name="onboard_sdk_id_document_selection_identity_card_subtitle">National Identity Card,\nor Driver’s License</string>
<string name="onboard_sdk_id_document_selection_passport">Passport</string>
<string name="onboard_sdk_id_document_selection_passport_subtitle">Your country Passport</string>
<string name="onboard_sdk_id_document_selection_footer">verified by</string>
<string name="onboard_sdk_id_document_selection_title_compact">Select how to verify</string>
<string name="onboard_sdk_id_document_selection_digital_id">Upload Digital ID</string>

<!-- IdCaptureIntro -->
<string name="onboard_sdk_id_capture_tutorial_title">Show the front of your ID</string>
<string name="onboard_sdk_id_capture_tutorial_subtitle">Ensure your ID is readable</string>
<string name="onboard_sdk_id_capture_tutorial_hint">The capture will happen automatically</string>
<string name="onboard_sdk_id_capture_lets_scan">Let's scan</string>
<string name="onboard_sdk_id_capture_barcode_tutorial_title">Show the back of your ID</string>
<string name="onboard_sdk_id_capture_back_side_tutorial_title">Show the back of your ID</string>

<string name="onboard_sdk_id_capture_intro_title_passport">Scan your Passport</string>
<string name="onboard_sdk_id_capture_intro_subtitle_passport">Ensure your Passport is readable</string>

<string name="onboard_sdk_id_capture_intro_title_digital_id">Upload Digital ID</string>
<string name="onboard_sdk_id_capture_intro_subtitle_digital_id">A government-issued PDF file with your details, picture and a QR code</string>

<!--  ReviewDigitalIdScreen  -->
<string name="onboard_sdk_digital_id_review_title">Review document</string>
<string name="onboard_sdk_digital_id_review_subtitle">Make sure this is the correct file before you continue verification process.</string>
<string name="onboard_sdk_digital_id_review_replace_file">Replace file</string>

<!--  DigitalIdUploadSuccessScreen  -->
<string name="onboard_sdk_digital_id_lets_continue">Let's continue</string>

<!-- PermissionOnboarding -->
<string name="onboard_sdk_permission_not_granted_generic_title">Mandatory permission not granted</string>
<string name="onboard_sdk_permission_allow">Allow permission</string>
<string name="onboard_sdk_permission_quit">Quit process</string>
<string name="onboard_sdk_permission_intro_title">Camera permission is required</string>
<string name="onboard_sdk_permission_intro_subtitle">This lets you take a photo of your ID and face for verification purposes.</string>
<string name="onboard_sdk_btn_allow">Allow</string>
<string name="onboard_sdk_btn_do_not_allow">Don’t allow</string>

<string name="onboard_sdk_permission_camera_rationale_title">Camera permission is required</string>
<string name="onboard_sdk_permission_rationale_p1">We only use the camera to capture your ID for secure verification</string>
<string name="onboard_sdk_permission_rationale_p2">It helps verify document authenticity and prevent identity fraud</string>
<string name="onboard_sdk_permission_rationale_p3">We protect your data, and it is only used for verification</string>
<string name="onboard_sdk_permission_rationale_p4">This is required to verify your identity</string>

<string name="onboard_sdk_permission_open_setting_camera_title">Allow Incode to access your camera</string>
<string name="onboard_sdk_permission_open_setting_camera_subtitle">This lets you capture your documents in order to complete the process.</string>
<string name="onboard_sdk_permission_open_setting_action">Open settings</string>
<string name="onboard_sdk_permission_allow_permission_action">Allow permission</string>

<!-- IdCaptureCamera -->
<string name="onboard_sdk_id_capture_box_hint_id_not_aligned">ID is not aligned</string>
<string name="onboard_sdk_id_capture_box_hint_id_not_aligned_subtitle">Center your ID inside the frame</string>

<string name="onboard_sdk_id_capture_box_hint_id_blurry">ID too blurry</string>
<string name="onboard_sdk_id_capture_box_hint_id_blurry_subtitle">Zoom in and out, or tap on the ID</string>

<string name="onboard_sdk_id_capture_box_hint_id_glare">ID with glare</string>
<string name="onboard_sdk_id_capture_box_hint_id_glare_subtitle">Find a better lighting to avoid reflections</string>

<string name="onboard_sdk_id_capture_box_hint_id_too_dark">Image too dark</string>
<string name="onboard_sdk_id_capture_box_hint_id_too_dark_subtitle">Find a place with better lighting</string>

<string name="onboard_sdk_id_capture_fill_the_frame_id">Frame the front of your ID</string>
<string name="onboard_sdk_id_capture_fill_the_frame_passport">Fill the frame with your passport</string>
<string name="onboard_sdk_id_capture_fill_the_frame_back_id">Frame the back of your ID</string>
<string name="onboard_sdk_id_capture_manual_capture_instructions">1. Fill the frame with your ID\n2. Press the button</string>
<string name="onboard_sdk_id_capture_manual_capture_voice_over">Now using manual capture mode. Use manual capture button to capture ID.</string>
<string name="onboard_sdk_selfie_manual_capture_voice_over">Now using manual capture mode. Use manual capture button to capture selfie.</string>
<string name="onboard_sdk_manual_capture_btn">Manual capture</string>

<string name="onboard_sdk_id_capture_box_hint_wrong_id_side_front">Show the front of ID</string>
<string name="onboard_sdk_id_capture_box_hint_wrong_id_side_front_subtitle">Flip your ID to show its front side</string>

<string name="onboard_sdk_id_capture_box_hint_wrong_id_side_back">Show the back of ID</string>
<string name="onboard_sdk_id_capture_box_hint_wrong_id_side_back_subtitle">Flip your ID to show its reverse side</string>

<string name="onboard_sdk_id_capture_hint_photo_will_be_taken">The capture will happen automatically</string>

<string name="onboard_sdk_id_capture_hint_taking_photo">Taking photo…</string>
<string name="onboard_sdk_id_capture_hint_do_not_move">Don’t move your ID for a few seconds</string>

<string name="onboard_sdk_id_capture_review_photo_title">Review your photo</string>
<string name="onboard_sdk_id_capture_review_photo_subtitle">Ensure that the text on the ID is readable and that the photo is sharp and without glare.</string>
<string name="onboard_sdk_id_capture_review_photo_btn_retake">Retake</string>
<string name="onboard_sdk_id_capture_review_photo_btn_continue">@string/onboard_sdk_btn_continue</string>

<string name="onboard_sdk_id_capture_successfully_processed">Successfully processed!</string>
<string name="onboard_sdk_id_capture_successfully_captured">Successfully captured!</string>
<string name="onboard_sdk_id_capture_now_capture_back">Now let’s capture the back</string>
<string name="onboard_sdk_id_capture_now_capture_front">Now let’s capture the front</string>
<string name="onboard_sdk_id_capture_now_capture_continue">Let’s continue</string>
<string name="onboard_sdk_id_capture_show_the_back">Show the back of your ID</string>

<string name="onboard_sdk_id_capture_common_issues_title">Common issues</string>
<string name="onboard_sdk_id_capture_common_issues_glare_title">Glare present</string>
<string name="onboard_sdk_id_capture_common_issues_glare_subtitle">Tilt the ID slightly up or down to minimize the reflection</string>
<string name="onboard_sdk_id_capture_common_issues_blur_title">Blur present</string>
<string name="onboard_sdk_id_capture_common_issues_blur_subtitle">Move ID further away or closer to your phone until the image is focused</string>
<string name="onboard_sdk_id_capture_common_issues_info_not_readable_title">Info is not readable</string>
<string name="onboard_sdk_id_capture_common_issues_info_not_readable_subtitle">Minimize camera shake by holding your phone steady</string>
<string name="onboard_sdk_id_capture_common_issues_try_again_button">@string/onboard_sdk_try_again</string>

<string name="onboard_sdk_id_capture_analyzing">Analyzing…</string>
<string name="onboard_sdk_id_capture_processing">Processing…</string>
<string name="onboard_sdk_id_capture_uploading">Uploading…</string>

<string name="onboard_sdk_id_capture_scan_the_front">Scan the front</string>
<string name="onboard_sdk_id_capture_scan_the_back">Scan the back</string>
<string name="onboard_sdk_id_capture_retake_scan">Try again</string>

<!-- GeolocationActivity -->
<string name="onboard_sdk_determine_location">We need to determine\nyour location</string>
<string name="onboard_sdk_current_location_label">You are currently in:</string>
<string name="onboard_sdk_location_unavailable">Location not\ndetermined</string>
<string name="onboard_sdk_btn_finish">Finish</string>
<string name="onboard_sdk_geolocation_btn_continue">@string/onboard_sdk_btn_continue</string>

<!-- TutorialAgeAssurance -->
<string name="onboard_sdk_tutorial_age_assurance_title">Age verification</string>
<string name="onboard_sdk_tutorial_age_assurance_subtitle">We need to scan your ID to know your age</string>
<string name="onboard_sdk_tutorial_age_assurance_label_1">Show your ID and scan it</string>
<string name="onboard_sdk_tutorial_age_assurance_label_2">We only use the date of birth information</string>
<string name="onboard_sdk_tutorial_age_assurance_label_3">The rest of your information will be deleted to ensure your privacy</string>
<string name="onboard_sdk_tutorial_age_assurance_btn_continue">@string/onboard_sdk_btn_continue</string>

<!-- SelfieActivity -->
<string name="onboard_sdk_face_scan_custom_message"> </string>
<string name="onboard_sdk_face_scan_manual_capture_instructions">Align your face within the silhouette and press the button to capture</string>
<string name="onboard_sdk_face_scan_not_operational">Face scan not ready</string>
<string name="onboard_sdk_face_scan_get_ready">Get ready…</string>
<string name="onboard_sdk_face_scan_low_image_quality">Ensure your face is clearly visible with no obstructions</string>
<string name="onboard_sdk_face_scan_face_occlusion_detected">Remove anything covering your face</string>
<string name="onboard_sdk_face_scan_warn_selfie_too_dark">Too dark</string>
<string name="onboard_sdk_mask_check_info">Put on your\nface mask</string>
<string name="onboard_sdk_feedback_remove_lenses">Take off your glasses</string>
<string name="onboard_sdk_feedback_face_mask_detected">Face mask detected</string>
<string name="onboard_sdk_feedback_open_eyes">Keep your eyes open</string>
<string name="onboard_sdk_feedback_remove_head_cover">Remove head coverings such as hats and caps</string>
<string name="onboard_sdk_feedback_multiple_faces_detected">Make sure you are the only person in the frame</string>
<string name="onboard_sdk_feedback_position_your_face">Look at the camera</string>
<string name="onboard_sdk_feedback_position_your_face_for_age_estimation">Look at the camera to estimate your age</string>
<string name="onboard_sdk_feedback_face_tilted">Don’t tilt your head</string>
<string name="onboard_sdk_feedback_face_rotated_left">Turn right</string>
<string name="onboard_sdk_feedback_face_rotated_right">Turn left</string>
<string name="onboard_sdk_feedback_align_face">Align your face within the silhouette and look at the camera</string>
<string name="onboard_sdk_feedback_blurred_crop">Too blurry.\nClean the camera and hold still.</string>
<string name="onboard_sdk_feedback_face_too_far">Move closer</string>
<string name="onboard_sdk_feedback_face_too_close">Move away</string>
<string name="onboard_sdk_feedback_taking_photo">Don’t move!\nTaking photo…</string>
<string name="onboard_sdk_processing">Processing…</string>
<string name="onboard_sdk_spoof_detected">Poor conditions for selfie. Try in another place.</string>
<string name="onboard_sdk_voice_over_feedback_camera_activated">Front camera activated</string>
<string name="onboard_sdk_voice_over_feedback_blurred_crop">Image not focused, adjust</string>
<string name="onboard_sdk_voice_over_feedback_face_too_close">Move phone further, please.</string>
<string name="onboard_sdk_voice_over_feedback_face_too_far">Move phone closer to you, please.</string>
<string name="onboard_sdk_voice_over_feedback_open_eyes">Keep your eyes open</string>
<string name="onboard_sdk_voice_over_feedback_remove_head_cover">Remove head coverings such as hats and caps</string>
<string name="onboard_sdk_voice_over_feedback_remove_lenses">Take off your glasses</string>
<string name="onboard_sdk_voice_over_feedback_face_mask_detected">Take off your face mask</string>
<string name="onboard_sdk_voice_over_feedback_face_tilted">Don’t tilt your head</string>
<string name="onboard_sdk_voice_over_feedback_face_rotated_left">Turn right a bit</string>
<string name="onboard_sdk_voice_over_feedback_face_rotated_right">Turn left a bit</string>
<string name="onboard_sdk_voice_over_feedback_align_face">Hold phone in front of your face</string>
<string name="onboard_sdk_voice_over_feedback_multiple_faces_detected">@string/onboard_sdk_feedback_multiple_faces_detected</string>
<string name="onboard_sdk_voice_over_feedback_face_scan_not_operational">@string/onboard_sdk_face_scan_not_operational</string>
<string name="onboard_sdk_voice_over_feedback_too_dark">@string/onboard_sdk_validation_warn_id_too_dark</string>
<string name="onboard_sdk_voice_over_face_scan_enter_manual_mode">Double tap anywhere on the screen to capture</string>
<string name="onboard_sdk_voice_over_face_scan_get_ready">Get ready…</string>
<string name="onboard_sdk_voice_over_face_scan_low_image_quality">Ensure your face is clearly visible with no obstructions</string>
<string name="onboard_sdk_voice_over_face_scan_face_occlusion_detected">Make sure nothing is covering your face</string>
