SDK reference · Android SDK

Incode Android SDK Reference

The Incode Android SDK adds end-to-end identity verification (IDV) to your app. The UI supports custom themes, so IDV looks and feels like your product. The Android SDK ships as AAR artifacts through Gradle or Maven, organized into modules that are versioned together through the Incode Bill of Materials (BOM). You only manage one version number. This page explains what the SDK can do and how it works.


Capabilities

The Incode Android SDK supports:

  • Identity capture: ID scan, document capture, and OCR data extraction.
  • Liveness and biometrics: Selfie capture, video selfie, liveness detection, and face match.
  • NFC: Data extraction from NFC chips in passports and supported ID documents.
  • Compliance and risk: Government validation, watchlist screening, and antifraud analysis.
  • Data collection: Consents, electronic signatures, phone and email, geolocation, and custom forms.
  • Wallets: IDV with a Google Wallet Digital ID.
  • Customization: Theming, localization, and custom assets so the IDV experience matches your brand.

Integration Approaches

The SDK supports three integration paths, each offering a different level of UI control. Start with the simplest path that meets your requirements.

  • Full Onboarding Flow: The SDK owns the full UI from start to finish.
  • Split Flow: You own the order of modules and the screens between them.
  • Capture-Only: You own the UI before and after capture; Incode owns only the capture UI. See Capture-Only Mode.

For Paths 1 and 2, there is a further decision: how the flow is configured and executed. See Common Integration Approaches for the full breakdown of paths and patterns.


Runtime Modes

The mode controls when and whether captured data is sent to Incode for processing. Regardless of the integration path you choose, the SDK runs in one of three modes:

  • Standard: Sends captured data to Incode for processing as IDV runs.
  • Capture-Only: Captures on-device without sending anything to Incode. You submit from your back end.
  • Delayed: Captures offline and syncs once connected.

See SDK Modes for how to select a mode.


Dependencies

The SDK is modular. There are no build variants; it is a single distribution. Add only the dependencies your integration requires. Use the BOM to pin all dependencies to compatible versions from a single version number. See BOM Version Mapping.

Dependency Type Description
welcome Required Core dependency; contains all core SDK functionality.
core-light Required Contains image-processing libraries used throughout the SDK.
bom Recommended Bill of Materials that pins all Incode dependencies to compatible versions from a single version number.
extensions Optional Required for custom theme configuration, dynamic localization, and runtime localization.
nfc Optional Required for the NFC Scan module.
video-streaming Optional Required by the Conference module and the streamFrames feature in the ID Scan and Selfie Scan modules.
model-face-recognition Optional Required for on-device face recognition. Used by face login in the Selfie Scan module​ only.
model-id-face-detection Optional Required for front and back ID side detection in the ID Scan module.
model-liveness-detection Optional Required for on-device liveness detection in the Selfie Scan module.
model-face-occlusion Optional Required for on-device face occlusion detection in the Selfie Scan module.
model-age-estimation Optional Required for on-device age estimation in the Selfie Scan module.
wallets Optional Required for wallet integrations, including Google Wallet ID.

Device Requirements

The SDK runs on physical Android devices that meet the following minimum requirements:

  • RAM: 3 GB

  • Back-facing camera: 5 MP

  • Front-facing (selfie) camera: 2 MP

  • NFC hardware: Required for the NFC Scan module

  • Network: An active HTTPS connection to the Incode Platform


Data Handling and Privacy

The SDK runs the on-device half of identity verification. At a high level:

  • On-device capture and inference: ID images, selfie and liveness video, and NFC chip data are captured on the device. On-device ML models extract their features locally. These models cover liveness detection, presentation-attack detection, face recognition, ID face detection, face occlusion, and age estimation.
  • Encrypted transmission: Artifacts and verification requests are captured and sent to the Incode Platform over an encrypted channel. You can also enforce end-to-end encryption. See End-to-End Encryption (E2EE).
  • No sensitive logging: The SDK does not log personally identifiable information (PII) or capture content. Its published AAR artifacts are obfuscated to prevent reverse engineering.
  • Server-authoritative result: The Incode Platform holds the authoritative verification result for your back end to consume server-side. The SDK reports each module's outcome to your app through the listener.
  • Transient local state: The SDK keeps only transient, encrypted session state data on the device. Call deleteUserLocalData() when you are finished with a session.

What's Next

Use the table below to find the page you need.

Task Page
Learn the correct order of steps to set up the SDK Getting Started
Add the SDK to your project Installation
Choose your integration path and pattern Common Integration Approaches
Capture data without sending it to Incode Capture-Only Mode
Integrate Google Wallet Digital ID verification Google Wallet ID
Implement device and behavior risk analysis Risk Analysis
Browse modules and their configuration options Modules
Read documents via NFC NFC Scan
Customize colors, fonts, and text Customization
Look up result and error objects by module Results
Browse the full public API API Reference
Solve a build problem Troubleshooting
Upgrade an existing integration Migration Guide
Check what changed in a release Android SDK Release Notes
Map BOM versions to module versions BOM Version Mapping

For help, contact your enterprise customer success manager or email help@incode.com.

Was this page helpful?