SDK reference · Cordova SDK

Incode Cordova SDK

The Incode Onboarding Cordova Plugin adds end-to-end identity verification to your Cordova, Capacitor, or Ionic app: document and ID capture with OCR, selfie and video-selfie liveness, face match, and NFC e-passport reading. The UI is fully themeable, so onboarding looks and feels like your product. The plugin is distributed via the CordovaPluginReleases GitHub repository. Cordova apps install with the Cordova CLI; Capacitor and Ionic apps install via npm from the same repository, then sync native projects. Standard and NFC variants are available.

Start here

If you want to... Go to
Add the plugin to your project Installation
Get an onboarding flow running Common Implementation Patterns
Authenticate a returning user Face Login
Browse available modules Modules
See the result payloads modules return Results
Customize colors, fonts, and text Customization
Browse the full public API API Reference
Solve a build problem Known Issues

Platform support

Platform Requirement
Cordova Node.js 18+, Cordova CLI 11+
Ionic + Cordova Node.js 18+, Ionic CLI, Cordova CLI
Ionic + Capacitor / Capacitor Node.js 18+, @capacitor/cli 7+
Android API 21+, compileSdk 35, Java 11+
iOS iOS 13+

Quick install

Standard variant:

cordova plugin add "https://github.com/Incode-Technologies-Example-Repos/CordovaPluginReleases.git#release/[VERSION]"
cordova plugin add cordova-plugin-camera        # required (ID and face capture)
cordova plugin add cordova-plugin-geolocation   # only if using the geolocation module
npm install github:Incode-Technologies-Example-Repos/CordovaPluginReleases#release/[VERSION]
npm install @capacitor/camera                   # required (ID and face capture)
npm install @capacitor/geolocation              # only if using the geolocation module
npx cap sync
ionic cordova plugin add "https://github.com/Incode-Technologies-Example-Repos/CordovaPluginReleases.git#release/[VERSION]"
ionic cordova plugin add cordova-plugin-camera        # required (ID and face capture)
ionic cordova plugin add cordova-plugin-geolocation   # only if using the geolocation module

NFC variant (NFC-capable hardware required):

cordova plugin add "https://github.com/Incode-Technologies-Example-Repos/CordovaPluginReleases.git#release/[VERSION]-nfc"
cordova plugin add cordova-plugin-camera        # required (ID and face capture)
cordova plugin add cordova-plugin-geolocation   # only if using the geolocation module
npm install github:Incode-Technologies-Example-Repos/CordovaPluginReleases#release/[VERSION]-nfc
npm install @capacitor/camera                   # required (ID and face capture)
npm install @capacitor/geolocation              # only if using the geolocation module
npx cap sync
ionic cordova plugin add "https://github.com/Incode-Technologies-Example-Repos/CordovaPluginReleases.git#release/[VERSION]-nfc"
ionic cordova plugin add cordova-plugin-camera  # required (ID and face capture)
ionic cordova plugin add cordova-plugin-geolocation   # only if using the geolocation module

Android and iOS require additional per-platform setup.

Info

Capacitor note

Cordova install hooks do not run. You must manually configure the Android Maven repository and iOS Podfile sources. See Installation for details.

How the SDK fits together

The plugin supports three integration patterns. They differ in where the flow is defined and how much control your app keeps while the flow runs.

Pattern 1: Configure flows locally and run end to end

You build a flowConfig in app code describing the modules you want (ID scan, selfie, face match, and so on) and pass it to startOnboarding(). The SDK owns the UI from the first screen to the last and returns the aggregated result in the success callback. Use this pattern when you want the simplicity of a single SDK call and your app doesn't need to intervene between modules.

See Configure Flows Locally and Run End to End for the details.

Pattern 2: Configure flows locally and run step by step

You run modules in named sections and return control to your app between sections. The SDK still owns each module screen (camera UI, capture experience, on-device guidance), but your app owns the shell around them: navigation, your own intro and transition screens, and when each section launches. Use this pattern when you need to interleave Incode steps with your own screens or run only part of a flow.

See Configure Flows Locally and Run Step by Step for the details.

Pattern 3: Run Flows configured online

You build a Flow or Workflow on the Incode Dashboard and pass its configurationId to startFlow() or startWorkflow(). The SDK owns the UI from the first screen to the last and returns the result in the success callback. Use this pattern when you want to update flow behavior from the Dashboard without redeploying your app.

See Run Flows Configured Online for the details.

Variants

The plugin has two variants, so you only ship what you use.

Variant Description
Standard Default variant. Covers all modules except NFC.
-nfc Adds NFC chip reading for ePassports and eIDs. Requires NFC-capable hardware.

See Installation for how to install each variant.

What the plugin can do

  • Identity capture: ID scan, document capture, and OCR data extraction.
  • Liveness and biometrics: selfie capture, video selfie, liveness detection, and face match.
  • NFC and e-passport: reads the chip in passports and supported ID documents (-nfc variant only).
  • Authentication: standalone Face Login for returning users. See Face Login.
  • Customization: theming, localization, and custom assets so the experience matches your brand. See Customization.

Need help?


Was this page helpful?