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 singleprovider 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
- General Pattern
- Onfido Specific
- Daon Specific
Use this pattern for any enabled vendor.
Runtime Vendor Configuration
Supported Vendors
| Vendor |
|---|
| Onfido |
| Incode |
| Daon |
Request enablement for each vendor/version you want to use with your FrankieOne representative or Support Portal.
- Validate vendor enablement server-side before exposing UI choice.
- Log vendor, version, and result status for analytics.
- Limit retries to transient errors; avoid infinite failover loops.
- Keep UI consistent across vendors to reduce cognitive friction.