What it does
The eKYC journey walks an applicant through manual data entry — personal details and document details typed into form fields — reviews what was entered, submits for verification, and settles with a single decision. There is no camera capture and no vendor SDK anywhere in this flow. FrankieOne assembles and maintains every screen and the transitions between them — you mount a container and read the result. That’s the entire distinction from IDV and OCR: those flows capture a document (and, for IDV, a selfie) through a vendor SDK. eKYC collects the same categories of information — personal details and document details — through form fields instead, with no vendor involved.What your applicant sees
1
Start (off by default)
An introductory screen before the flow begins. Enable with
withStart.2
Welcome (off by default)
An orientation screen. Enable with
withWelcome.3
Consent (off by default)
Captures consent for data processing. Enable with
withConsent.4
Personal
The applicant enters personal details — name, date of birth, address, and similar fields.
5
Document
The applicant enters one or more identity document’s details manually — no capture.
6
Review (always on)
The applicant confirms or corrects everything entered so far, before submission. Unlike
idv and ocr, this screen always mounts — see Review screen below.
7
Result
The journey settles with a
JourneyResult. See Outcomes.Example
Options that apply
See Configuration for what each option controls, and the
Journey reference for the exhaustive type and default for every
option.
Review screen
The eKYC journey always mounts the review screen —
withReview has no effect here. review
configuration still applies, and is forwarded to the
form module verbatim.withReview switches the review screen on or off. On eKYC there is nothing to
switch — the applicant always reviews their personal and document details before submission, and
setting withReview: true or false makes no difference. The review option itself is unaffected
by this: it’s the form module’s own configuration, forwarded verbatim whenever the screen
mounts, which on eKYC is every run.
If the review screen’s address field uses autocomplete, that autocomplete is powered by the
Google Places API and needs a
googleApiKey set in the form module’s provider configuration to
work — see Form module: Configuration for where
it goes. Without it, address autocomplete will not work. The same applies to the personal screen’s
address field.Personal, document, and retry
Three additional pass-through keys apply to eKYC only:
All three are form module configuration, forwarded verbatim — the journey does not read,
validate, or reshape them. See Form module: Configuration
for the full field shapes, including how
document accepts a per-document, per-country field
structure.
How many attempts an applicant gets before the journey settles as declined is controlled by
maxAttempts, not by retry itself — see Configuration: Attempts.
Requirements and caveats
- No camera is required — every field is typed, not captured, so there is no vendor SDK to load and nothing camera-related to provision for.
- eKYC needs only
recipe.formconfigured atOneSdk({ recipe })— the form module throwsForm recipe configuration is missingwithout it. Unlike idv and ocr, eKYC needs no vendor provider in the recipe, because it runs no vendor capture. See SDK Initialization for the recipe shape. - If the personal or review screen’s address field needs autocomplete, set
googleApiKeyon the form module’s provider configuration (see the note above) — this is a one-time SDK setup step, not ajourney()option.
Outcomes
An ekyc journey settles with the sameJourneyResult shape as every other flow — see
Results for the full outcome and reason-code contract. The
result itself carries the decision, not the entered data — see
Reading extracted data for where
that data actually is once the journey settles.
One ekyc-specific note: because there is no vendor capture, a settled error result won’t carry
vendor_load_failed or vendor_offline in practice — those reasons describe a vendor SDK failing
to load or respond, and eKYC never loads one. Failures here surface through the other error
reasons instead.