Multi-IDV

Select and configure Identity Document Verification (IDV) vendor at runtime in a unified flow

Overview

Multi-IDV allows you to choose the IDV vendor at runtime when starting the flow. Instead of predefining multiple vendors in a static recipe, you pass a single provider object to oneSdk.flow("idv", ...). This enables:

  • Runtime selection (user choice, geo routing, feature flag)
  • Version migration (e.g. Onfido v12 → v14) without structural changes
  • Consistent event surface regardless of vendor

You must confirm a vendor (and specific version) is enabled for your tenant before use. Contact your FrankieOne representative or Support Portal. Attempts to use a disabled vendor will fail.

Events (ready, input_required, results, error) behave uniformly across vendors. Persist vendor name + version in logs for observability.

Implementations

Use this pattern for any enabled vendor.

Runtime Vendor Configuration
1const idv = oneSdk.flow("idv", {
2 provider: {
3 name: "<VENDOR_NAME>", // e.g. "onfido" | "incode" | "daon"
4 },
5});

Supported Vendors

Vendor
Onfido
Incode
Daon

Request enablement for each vendor/version you want to use with your FrankieOne representative or Support Portal.

Best Practices
  1. Validate vendor enablement server-side before exposing UI choice.
  2. Log vendor, version, and result status for analytics.
  3. Limit retries to transient errors; avoid infinite failover loops.
  4. Keep UI consistent across vendors to reduce cognitive friction.