Incode Flutter SDK reference

Orientation and routing hub for the Incode Flutter SDK - identity capture, liveness, NFC, and a fully themeable UI.

The Incode Flutter SDK adds end-to-end identity verification to your 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 SDK ships through GitHub, and supports Android and iOS. The SDK is available in multiple variants, depending on the features you need.

This page orients you to what the SDK does and routes you to the page you need next. If you are starting fresh, begin with Getting Started and Common Implementation Patterns.

Start here

If you want to...Go to
Add the SDK to your projectGetting Started
Get an onboarding flow runningCommon Implementation Patterns
Upgrade an existing integrationMigration Guide
Checkout the available modulesModules
Checkout the module resultsResults
Customize colors, fonts, and textCustomization
Browse the full public APIAPI Reference
Solve a build problemKnown Issues

How the SDK fits together

The SDK supports three integration paths. They differ in how much of the UI and orchestration the SDK owns. Start with the path that matches your needs.

Path 1: Online onboarding flow

The simplest path. You build a Flow on the Incode Dashboard, pass its ID to startFlow() or startWorkflow() method, and the SDK owns the UI from the first screen to the last, returning results through a listener. This is the recommended starting point for most integrations.

See Common Implementation Patterns for the quick start.

Path 2: Full onboarding flow

You build a FlowConfig describing the sections you want (ID scan, selfie, NFC, and so on), pass it to startOnboarding(), and the SDK owns the UI from the first screen to the last, returning results through a listener.

See Common Implementation Patterns for the quick start.

Path 3: Section-by-section / split flow

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

See Common Implementation Patterns for the quick start.

Variants

The SDK has multiple variants that you can use depending on the features you need, so you only ship what you use.

VariantDescription
standardVanilla variant of the SDK that doesn't include any additional features.
vcA variant that supports streaming the camera feed during Selfie and/or ID scan,.
nfcA variant that supports NFC scanning (reading data from a passport or ID chip).
lA variant that supports manipulation of locally stored identities.

What the SDK 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 / e-passport - read the chip in passports and supported ID documents.
  • Customization - theming, localization, and custom assets so the experience matches your brand. See Customization.

Need help?

  • Hit a build or runtime error? See the Known Issues page.
  • Looking for a specific class, method, or parameter? See API Reference.
  • Still stuck? Contact your enterprise customer success manager or email [email protected].