Modules

All the modules supported by the SDK are listed here, with their configuration parameters.

Phone

Ask the user to enter a phone number.

  • defaultRegionPrefix(optional): int?. Default region prefix for phone input. If set, will override the current default prefix based on the user's device region selection.
  • otpVerificationEnabled (optional): bool?

FullName

Ask the user to enter a name.

  • No additional parameters

Email

Ask the user to enter an email.

  • otpVerificationEnabled (optional): bool?

IdScan

Ask the user to capture ID or Passport.

  • showTutorials (optional, defaults to true): bool?
  • idType (optional): IdType.id or IdType.passport. If omitted, the app will display a chooser to the user.
  • idCategory (optional): IdCategory.primary or IdCategory.secondary
  • scanStep (otpional): If you wish to separate front and back ID scan, specify ScanStepType.front or ScanStepType.back. ScanStepType.both is the default and will capture both front and back of the ID, and process the ID afterwards. If you specify ScanStepType.front or ScanStepType.back you will have to add ProcessId module after the captures.
  • showRetakeScreenForManualCapture (optional, defaults to true): bool? - Specify false to ommit the photo review screen for manual captures.
  • showRetakeScreenForAutoCapture (optional, defaults to false): bool? - Specify true to show photo review screen for auto captures.
  • enableFrontShownAsBackCheck (optional, defaults to false): bool? - Specify true to show realtime feedback to the user during back ID capture that he should capture the other side of the ID
  • enableBackShownAsFrontCheck (optional, defaults to false): bool? - Specify true to show realtime feedback to the user during front ID capture that he should capture the other side of the ID
  • enableRotationOnRetakeScreen (optional, defaults to true): bool? - Specify false to disable capture image rotation when user enters photo review screen.
  • autocaptureUxMode (deprecated, optional, defaults to IdScanAutocaptureUXMode.holdStill) - This parameter won’t apply in V2, but it is applied in V1. Specify IdScanAutocaptureUXMode.countdown to introduce 3-2-1 timer before ID is auto captured.
  • showIDOverlay (optional, defaults to false): bool? - Specify true to show the ID overlay during ID capture.
  • autoCaptureBestFrameTimeout (optional, defaults to 25) - Timer that starts when ID is detected for the first time, defaults to 25 seconds. Manual capture mode will be activated If ID isn't auto-captured successfully before time runs out.
  • autoCaptureNoIdTimeout (optional, defaults to 60) - Timer that starts when ID scan auto-capture starts, defaults to 60 seconds. Manual capture mode will be activated if no ID is detected before time runs out.
  • streamFrames (optional, defaults to false): boolean. Enables/disables streaming of the camera feed. It requires SDK -vc variant.
  • showIdTypeChooser (optional): bool?. If set to true, the ID type chooser screen will be displayed to the user, allowing them to select their ID type before scanning.

ProcessId

Process the ID in case IdScan was separated to front and back captures (if ScanStepType.front or ScanStepType.back were specified as scanStep for IdScan module) .

  • idCategory (optional): IdCategory.primary or IdCategory.secondary
  • enableIdSummaryScreen (deprecated, optional, defaults to true): bool? - This parameter won’t apply in V2, but it is applied in V1. Specify false to disable ID capture summary screen.
  • Note: Please make sure to call this module only after the both ScanStepType.front and ScanStepType.back IdScans are completed.

SelfieScan

Ask the user to capture a selfie.

  • showTutorials (optional, defaults to true): bool?
  • lensesCheck (optional, defaults to true): bool?. Performs check if user is wearing glasses during Selfie Scan.
  • cameraFacing (optional, defaults to IdScanCameraFacing.front): Specifies which camera will be used during Selfie capture. To use back camera instead, set IdScanCameraFacing.back.
  • faceMaskCheck (optional, defaults to true): bool?. This checks if a person has a face mask on.
  • streamFrames (optional, defaults to false): boolean. Enables/disables streaming of the camera feed. It requires SDK -vc variant.

FaceMatch

Perform a face match between captured ID and Selfie.

  • idCategory (optional, defaults to primary): IdCategory.primary or `IdCategory.secondary
  • faceMatchType (optional): FaceMatchType.idSelfie, FaceMatchType.nfcSelfie or FaceMatchType.nfc3Way
  • showUserExists (optional, defaults to true): boolean
  • Note: has to be specified after IDScan and SelfieScan modules.

Geolocation

Get the information about the users current location.

  • isSkippable - (optional, defaults to false): bool. Allows the geolocation step to be skipped. When set to true, skipping or denying location permission advances the flow instead of ending the session with a permission error.

GovernmentValidation

Perform government validation of the ID.

  • isBackgroundExecuted - (optional, defaults to false): bool?. Specify true to hide the module UI during its execution.

VideoSelfie

Records the device's screen while the user needs to do a selfie, show his ID, answer a couple of questions and verbally confirms that he accept the terms and conditions. The recorded video is then uploaded and stored for later usage.

  • showTutorials (optional, defaults to true): bool?. Show tutorial for video selfie.
  • selfieScanMode (optional, defaults to selfieMatch): SelfieScanMode.selfieMatch or SelfieScanMode.faceMatch; Specify if you would like to do selfie comparison, or comparison with the photo from ID.
  • selfieLivenessCheck (optional, defaults to false): bool?. Check for user liveness during video selfie.
  • enableFrontShownAsBackCheck (optional, defaults to false): bool? - Specify true to show realtime feedback to the user during back ID capture that he should capture the other side of the ID
  • enableBackShownAsFrontCheck (optional, defaults to false): bool? - Specify true to show realtime feedback to the user during front ID capture that he should capture the other side of the ID
  • showIdScan (optional, defaults to true): bool?. Ask for ID scan during video selfie.
  • showDocumentScan (optional, defaults to true): bool?. Ask for Proof of Address during video selfie
  • showVoiceConsent (optional, defaults to true): bool?. Ask for Voice consent during video selfie
  • voiceConsentQuestionsCount (optional, defaults to 3): int?. Choose number of questions for video selfie voice consent steps.
  • showRandomQuestions (optional): bool?.
  • randomQuestionsCount (optional): int?.
  • idScanCameraFacing (optional, defaults to back): IdScanCameraFacing.front or IdScanCameraFacing.back; Specify if you would like to use front or back camera for ID scan

UserScore

Shows the info and scoring for all the steps performed.

  • mode (optional, defaults to accurate): UserScoreFetchMode.accurate or UserScoreFetchMode.fast. If accurate the results will be fetched from server, which may exhibit some latency, but will rely on server-side processing of information, which may be more reliable than on-device processing. If fast, then results based on on-device processing will be shown.

Approve

Based on a score approves the current onboarding session and adds the user to the omni database.

  • forceApproval (optional, defaults to false): bool? - if true the user will be force-approved

Signature

Ask the user to draw a signature.

  • title: (optional) string - Adds optional title to the top of the screen. Contains value of the title string key
  • description: (optional) string - Adds optional description below the title. Contains value of the description string key

DocumentScan

Ask the user to capture a document.

  • showTutorials (optional, defaults to true): bool?. Show tutorial for document scan.
  • showDocumentProviderOptions (optional, defaults to false).
  • documentType (optional, defaults to DocumentType.addressStatement).

Captcha

Ask the user to complete CAPTCHA.

  • no additional parameters

CURP

Validate user's curp from the ID.

  • no additional parameters

OCREdit

Review OCR data.

  • isEditable (optional): defaults to false: bool?

EKYB

Enables a KYB validation step with the business information and an optional source for this information including: business name, addresses, city, state, postal code and bank account number.

  • checkBusinessName (optional): defaults to true: bool?
  • checkAddress (optional): defaults to true: bool?
  • checkTaxId (optional): defaults to true: bool?

EKYC

Enables a KYC validation step with the user's information and an optional source for this information including: data obtained from the id, proof of address, or a manual capture.

  • checkName (optional): defaults to true: bool?
  • checkEmail (optional): defaults to true: bool?
  • checkAddress (optional): defaults to true: bool?
  • checkPhone (optional): defaults to true: bool?
  • checkSsn (optional): defaults to true: bool?
  • checkDob (optional): defaults to true: bool?
  • checkNationality (optional): defaults to true: bool?

MLConsent

Ask the user for Machine Learning consent.

  • type (required): MLConsentType.gdpr or MLConsentType.us

UserConsent

Ask the user for User consent.

  • title: String, title for user consent
  • content: String, content for user consent

CombinedConsent

Ask the user for Data sharing consent.

  • consentId: String, id for combined consent

QRScan

Ask the user for QR scan.

  • showTutorials (optional, defaults to true): bool?. Show tutorial for QR scan.

Antifraud

Gives ability to compare current interview with existing interviews and customers, detecting anomalies that could be signs of fraud.

  • no additional parameters

GlobalWatchlist

This module checks customer identities against sources of Sanctions, Politically Exposed Persons (PEPs), & Watchlists.

  • no additional parameters

CustomWatchlist

This module checks if the user is present inside Incode's watchlist. The watchlist is configured in Incode's dashboard.

  • no additional parameters

Aes

This module enables an advanced electronic signature to ensure legally binding and compliant document signing with enhanced security and authentication measures.

  • uploadDocument (optional, defaults to false): bool?.
  • downloadDocument (optional, defaults to false): bool?.

NFCScan

Ask the user to scan the NFC chip on their document.

  • idType (optional): IdType.id or IdType.passport. Id Type which should be used for NFC scanning. If nothing is set, Id Type will be reused if ID Scan module is enabled. If not, ID chooser screen will be presented so user can choose ID type for NFC scanning.
  • showNFCSymbolConfirmationScreen (optional): defaults to true: bool? If true, a screen asking the user if their document contains an NFC chip will be shown. If disabled, it's recommended to handle this case yourself to prevent a user without an NFC symbol on their passport from getting stuck.
  • showInitialDataConfirmationScreen (optional): defaults to true: bool? If true, Document OCR data confirmation screen will be shown before the first NFC scan.
  • processNFCData (optional): defaults to true: bool? If true, the data read from the NFC chip will be used to validate identity. How it's used depends on how the FaceMatch module is configured.

FaceAuthentication

Performs a selfie scan to authenticate the user as part of the flow or a workflow.

  • showTutorials (optional): defaults to true: bool? If true, a tutorial screen will be shown before starting face authentication.
  • autoCaptureTimeout (optional): defaults to 16: number? Timeout in seconds for automatic face capture. If not set, the default timeout will be used.
  • captureAttempts (optional): defaults to 3: number? Number of allowed face capture attempts before failing the step.
  • eyesClosedCheck (optional): defaults to true: bool? If true, the SDK will check if the user's eyes are closed during authentication.
  • headCoverCheck (optional): defaults to true: bool? If true, the SDK will check for head coverings that may obstruct face recognition.
  • lensesCheck (optional): defaults to true: bool? If true, the SDK will check if the user is wearing lenses glasses.
  • faceMaskCheck (optional): defaults to true: bool? If true, the SDK will check if the user is wearing a face mask.

Modules interdependencies

  • ProcessId module expects IdScan both ScanStepType.front or ScanStepType.back to have executed.
  • FaceMatch module expects IdScan and SelfieScan to have executed, in order to perform the match. In other words, IdScan and SelfieScan must precede FaceMatch.
  • VideoSelfie module expects IdScan in faceMatch mode, or SelfieScan in selfieMatch mode.
  • UserScore module should succeed all other modules (must be at the end).
  • Approve module should succeed all other modules (must be at the end).
  • The UserScore and Approve modules do not depend on each other, so their order can be arbitrary.
  • Aes module expects Phone, IdScan and SelfieScan to precede it.