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 project | Getting Started |
| Get an onboarding flow running | Common Implementation Patterns |
| Upgrade an existing integration | Migration Guide |
| Checkout the available modules | Modules |
| Checkout the module results | Results |
| Customize colors, fonts, and text | Customization |
| Browse the full public API | API Reference |
| Solve a build problem | Known 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.
| Variant | Description |
|---|---|
| standard | Vanilla variant of the SDK that doesn't include any additional features. |
| vc | A variant that supports streaming the camera feed during Selfie and/or ID scan,. |
| nfc | A variant that supports NFC scanning (reading data from a passport or ID chip). |
| l | A 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].
