Skip to main content
Hosted is quickest, and limited in what you can change — FrankieOne applies the changes it does allow. A journey runs in your own page, and you configure it yourself in code. A custom integration is for the use cases a journey cannot cover. A journey is pre-assembled; a custom integration is built from scratch. Don’t reach for the custom path unless a journey can’t cater for it.

Start here

See the Journey Quick Start for a full working example.

What journeys cover

Split capture and standalone document upload are on the roadmap as journeys. Until then, the linked pages show how to assemble each one from the underlying modules.

Do you need to build the flow yourself?

You need the from-scratch path only if you must:
  • own the mount and unmount cycle yourself
  • interleave your own UI inside a capture flow
  • run OCR and biometrics as separately-timed steps
  • collect supporting documents outside a KYC flow
Everything else is a journey. See Beyond journeys for the from-scratch path.

Prerequisites

Before starting a journey, make sure you have:
  1. API credentials — a Customer ID and API Key from the FrankieOne portal
  2. Backend token endpoint — a server-side endpoint that generates session tokens
  3. OneSDK loaded — either via the UMD script tag or the @frankieone/one-sdk npm package
  4. Recipe configured — at OneSdk({ recipe }), including recipe.form; every journey reads its module configuration from there, not from JourneyOptions
See SDK Initialization for full setup details.

Device tracking is separate

oneSdk.component('device') runs independently alongside any journey — it isn’t built into the eKYC journey, and it isn’t incompatible with the others either. JourneyOptions has no device key, so device tracking is started and stopped on its own, regardless of which journey (if any) is mounted. See Device Module for setup.