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

Every entry in flowConfig includes:

  • module (required): string. The module name.
  • enabled (optional, defaults to true): boolean. Explicitly include or skip the module in the flow.

For completion payloads, update events, and module error examples, see Results.

Phone

Ask the user to enter a phone number.

  • otpVerification (optional, defaults to false): boolean. Ask for OTP verification.

DocumentScan

Ask the user to capture a document.

  • showTutorial (optional, defaults to false): boolean. Show the document scan tutorial. Only on iOS.
  • showDocumentProviderScreen (optional, defaults to true): boolean. Specify true to show the document provider screen, or false to go directly to capture.
  • type (optional, defaults to addressStatement): addressStatement, paymentProof, medicalDoc, otherDocument1, otherDocument2, or otherDocument3.

Geolocation

Get information about the user's current location.

  • isSkippable (optional, defaults to false): boolean. 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.

UserConsent

Ask the user for consent.

  • title (required): string. Title shown on the consent screen.
  • content (required): string. Content shown on the consent screen.

CombinedConsent

Ask the user for data-sharing consent.

  • consentId (required): string. ID for the combined consent configured in the dashboard.

Signature

Ask the user to draw a signature.

  • title (optional): string. Optional title shown at the top of the screen.
  • description (optional): string. Optional description shown below the title.
  • descriptionMaxLines (optional): number. Maximum number of description text lines.

This module enables user to add a digital signature by signing on a canvas.

Besides sepcifying title and description keys it is needed to provide texts for Android and iOS in their res/values/strings.xml and Localizable.strings files.

{
  module: 'Signature',
  title: 'onboard_sdk_signature_title',
  description: 'onboard_sdk_signature_description',
  descriptionMaxLines: 2
}

For Android:

<string name="onboard_sdk_signature_title">Example title</string>
<string name="onboard_sdk_signature_description">Description example</string>

For iOS:

"onboard_sdk_signature_title" = "Example title";
"onboard_sdk_signature_description" = "Description example";

VideoSelfie

Record a video selfie flow. Available only for Android API level 21+.

  • showTutorial (optional, defaults to true): boolean. Show the video selfie tutorial.
  • selfieScanMode (optional, defaults to selfieMatch): selfieMatch or faceMatch. Specify whether to compare the selfie directly or compare with the photo from the ID.
  • selfieLivenessCheck (optional, defaults to false): boolean. Check user liveness during video selfie.
  • showIdScan (optional, defaults to true): boolean. Ask for ID scan during video selfie.
  • showDocumentScan (deprecated, optional): boolean. Kept in the TypeScript config for compatibility; the current SDK does not enable document scan from this flag.
  • showVoiceConsent (optional, defaults to true): boolean. Ask for voice consent during video selfie.
  • voiceConsentQuestionsCount (optional, defaults to 3): number. Number of random questions for video selfie voice consent.
  • voiceConsentFR (optional, defaults to false): boolean. Ask for face recognition during voice consent.
  • cameraFacingConfig (optional): CameraFacingConfig. Set the camera for each step using selfieCameraFacing, idFrontCameraFacing, idBackCameraFacing, documentScanCameraFacing, randomQuestionsCameraFacing, and voiceConsentCameraFacing; each value is front or back.
  • questions (optional): VideoSelfieQuestion[]. List of { question: string; answer: string } entries to show in capture-only/random-question mode.

IdScan

Ask the user to capture ID or passport.

  • showTutorial (optional, defaults to true): boolean. Show the ID scan tutorial.
  • idType (optional): id or passport. If omitted, the SDK can show a chooser to the user.
  • showIdTypeChooser (optional, defaults to true): boolean. Specify false to skip the document chooser screen.
  • idCategory (optional, defaults to primary): primary or secondary.
  • showRetakeScreenForManualCapture (optional, defaults to true): boolean. Show the photo review screen for manual captures.
  • showRetakeScreenForAutoCapture (optional, defaults to false): boolean. Show the photo review screen after auto capture.
  • enableFrontShownAsBackCheck (optional, defaults to false): boolean. Show real-time feedback when the front side is shown during back capture.
  • enableBackShownAsFrontCheck (optional, defaults to false): boolean. Show real-time feedback when the back side is shown during front capture.
  • autocaptureUxMode (deprecated, optional, defaults to holdStill): countdown or holdStill. This parameter applies only to V1.
  • showIDOverlay (optional, defaults to false): boolean. Show the ID overlay during capture.
  • streamFrames (optional, defaults to false): boolean. Enables camera frame streaming. Requires the RN SDK -vc variant and the Android com.incode.sdk:video-streaming dependency.

IdScanFront

Ask the user to capture only the front side of an ID.

  • showTutorial (optional, defaults to true): boolean. Show the ID scan tutorial.
  • idType (optional): id or passport.
  • showIdTypeChooser (optional, defaults to true): boolean. Specify false to skip the document chooser screen.
  • idCategory (optional, defaults to primary): primary or secondary.
  • showRetakeScreenForManualCapture (optional, defaults to true): boolean. Show the photo review screen for manual captures.
  • showRetakeScreenForAutoCapture (optional, defaults to false): boolean. Show the photo review screen after auto capture.
  • enableFrontShownAsBackCheck (optional, defaults to false): boolean. Show real-time feedback when the front side is shown during back capture.
  • enableBackShownAsFrontCheck (optional, defaults to false): boolean. Show real-time feedback when the back side is shown during front capture.
  • autocaptureUxMode (deprecated, optional, defaults to holdStill): countdown or holdStill. This parameter applies only to V1.
  • showIDOverlay (optional, defaults to false): boolean. Show the ID overlay during capture.
  • streamFrames (optional, defaults to false): boolean. Enables camera frame streaming. Requires the RN SDK -vc variant and the Android com.incode.sdk:video-streaming dependency.

IdScanBack

Ask the user to capture only the back side of an ID.

  • showTutorial (optional, defaults to true): boolean. Show the ID scan tutorial.
  • idCategory (optional, defaults to primary): primary or secondary.
  • showRetakeScreenForManualCapture (optional, defaults to true): boolean. Show the photo review screen for manual captures.
  • showRetakeScreenForAutoCapture (optional, defaults to false): boolean. Show the photo review screen after auto capture.
  • enableFrontShownAsBackCheck (optional, defaults to false): boolean. Show real-time feedback when the front side is shown during back capture.
  • enableBackShownAsFrontCheck (optional, defaults to false): boolean. Show real-time feedback when the back side is shown during front capture.
  • autocaptureUxMode (deprecated, optional, defaults to holdStill): countdown or holdStill. This parameter applies only to V1.
  • showIDOverlay (optional, defaults to false): boolean. Show the ID overlay during capture.
  • streamFrames (optional, defaults to false): boolean. Enables camera frame streaming. Requires the RN SDK -vc variant and the Android com.incode.sdk:video-streaming dependency.

ProcessId

Process the ID after separated front and back captures.

  • idCategory (optional, defaults to primary): primary or secondary. Applied on Android.
  • enableIdSummaryScreen (deprecated, optional, defaults to true): boolean. This parameter applies only to V1.

Conference

Start a video conference call.

  • disableMicOnStart: boolean. Disable the microphone when the call starts.

SelfieScan

Ask the user to capture a selfie.

  • showTutorial (optional, defaults to true): boolean. Show the selfie scan tutorial.
  • lensesCheck (optional, defaults to true): boolean. Check if the user is wearing glasses.
  • cameraFacing (optional, defaults to front): front or back. Camera used during selfie capture.
  • faceMaskCheck (optional, defaults to true): boolean. Check if the user is wearing a face mask.
  • brightnessThreshold (deprecated, optional, defaults to 50): number. Adjust minimum lighting requirements for face capture.
  • streamFrames (optional, defaults to false): boolean. Enables camera frame streaming. Requires the RN SDK -vc variant and the Android com.incode.sdk:video-streaming dependency.

FaceMatch

Perform a face match between the captured ID/passport and Selfie or NFC data.

  • idCategory (optional, defaults to primary): primary or secondary.
  • matchType (optional): idSelfie, nfcSelfie, or nfc3Way.
  • showUserExists (optional, defaults to true): boolean. Show whether the user already exists.

QrScan

Ask the user to scan a QR code.

  • No additional parameters

Captcha

Ask the user to enter the OTP generated for the current session.

  • No additional parameters

Email

Ask the user to enter an email.

  • otpVerification (optional, defaults to false): boolean. Ask for OTP verification.

Approve

Approve the current onboarding session and add the user to the Omni database.

  • forceApproval (optional, defaults to false): boolean. Force approval when set to true.

UserScore

Show the info and scoring for all performed steps.

  • mode (optional, defaults to accurate): accurate or fast. accurate fetches server-side results and can take longer; fast shows results based on on-device processing.

MLConsent

Ask the user for Machine Learning consent.

  • type (required): gdpr or us.

GovernmentValidation

Perform government validation of the ID.

  • isBackgroundExecuted (optional, defaults to false): boolean. Run the module without showing its UI.

Antifraud

Compare the current interview with existing interviews and customers to detect possible fraud.

  • No additional parameters

GlobalWatchlist

Check customer identities against sanctions, PEP, and watchlist sources.

  • No additional parameters

CustomWatchlist

Check whether the user is present in an Incode Dashboard custom watchlist.

  • No additional parameters

Aes

Enable advanced electronic signature document handling.

  • uploadDocument (optional, defaults to false): boolean. Upload the signed document.
  • downloadDocument (optional, defaults to false): boolean. Download the signed document.

Name

Ask the user to enter a name.

  • No additional parameters

CURP

Validate the user's CURP from the ID.

  • validationEnabled (optional, defaults to true): boolean. Validate the CURP on the server.

OCREdit

Review OCR data.

  • isEditable (optional, defaults to false): boolean. Allow the user to edit OCR data.

eKYB

Run KYB validation with business information.

  • checkBusinessName (optional, defaults to false): boolean. Validate business name.
  • checkAddress (optional, defaults to false): boolean. Validate address.
  • checkTaxId (optional, defaults to false): boolean. Validate tax ID.

eKYC

Run KYC validation with user information.

  • checkName (optional, defaults to false): boolean. Validate name.
  • checkEmail (optional, defaults to false): boolean. Validate email.
  • checkAddress (optional, defaults to false): boolean. Validate address.
  • checkPhone (optional, defaults to false): boolean. Validate phone.
  • checkSsn (optional, defaults to false): boolean. Validate SSN.
  • checkDob (optional, defaults to false): boolean. Validate date of birth.
  • checkNationality (optional, defaults to false): boolean. Validate nationality.

NFCScan

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

  • idType (optional): id or passport. ID type used for NFC scanning. If omitted, the SDK reuses the ID type from ID scan when available; otherwise, it can show a chooser.
  • showNFCSymbolConfirmationScreen (optional, defaults to true): boolean. Show a screen asking whether the document contains an NFC chip.
  • showInitialDataConfirmationScreen (optional, defaults to true): boolean. Show the document OCR data confirmation screen before the first NFC scan.
  • processNFCData (optional, defaults to true): boolean. Use data read from the NFC chip to validate identity.

Please check special integration instructions for iOS that need to be applied on app level https://developer.incode.com/docs/user_guide_nfc_scan#integration

FaceAuthentication

Authenticate an existing user with face recognition.

  • showTutorials (optional, defaults to true): boolean. Show the tutorial before face authentication.
  • autoCaptureTimeout (optional, defaults to 16): number. Timeout in seconds for automatic face capture.
  • captureAttempts (optional, defaults to 3): number. Number of allowed face capture attempts before failing the step.
  • eyesClosedCheck (optional, defaults to true): boolean. Check whether the user's eyes are closed.
  • headCoverCheck (optional, defaults to true): boolean. Check for head coverings that may obstruct face recognition.
  • lensesCheck (optional, defaults to true): boolean. Check whether the user is wearing lenses or glasses.
  • faceMaskCheck (optional, defaults to true): boolean. Check whether the user is wearing a face mask.

Modules interdependencies

The order of modules in flowConfig is the execution order.

  • ProcessId expects IdScanFront and IdScanBack to run before it.
  • FaceMatch expects IdScan and SelfieScan to run before it.
  • VideoSelfie expects IdScan in faceMatch mode, or SelfieScan in selfieMatch mode.
  • Aes expects Phone, IdScan, and SelfieScan to run before it.
  • UserScore should run after all modules that provide scoring inputs.
  • Approve should run after all modules required for the approval decision.
  • UserScore and Approve do not depend on each other, so their relative order can be chosen by the app.