Identity Reuse Module

The Identity Reuse module recognizes a returning user by matching their selfie against existing on-file biometric records, then offering them the choice to

📘

This guide is specific to Web SDK 2.0. If you are still using 1.x, you can find documentation here. We strongly recommend upgrading - contact your Incode Representative for upgrade information.

The Identity Reuse module recognizes a returning user by matching their selfie against existing on-file biometric records, then offering them the choice to reuse the existing identity (skipping fresh ID + selfie capture) or proceed with a new verification.

Follows the form-based pattern with selection sub-states. The user reviews candidate matches and submits their choice. See the patterns page for the shared lifecycle.

Tag

<incode-identity-reuse> is a standard Web Component. Importing the UI subpath registers the custom element; importing the CSS applies the module's styles.

import '@incodetech/web/identity-reuse';
import '@incodetech/web/identity-reuse/styles.css';

Properties

PropertyTypeRequiredDescription
configIdentityReuseConfigNo options
onFinish() => voidCalled when the user's choice is submitted
onError(error: string) => voidCalled when an error occurs

Configuration

The module takes no configuration:

type IdentityReuseConfig = {};

Candidate sources (which prior identities are considered) are configured server-side.

State machine

IdentityReuseState is a discriminated union over status. The selection states (oneCandidateFound, multiCandidatesFound, noCandidatesFound) are unique to this module:

StatusDescription
idleInitial state.
loadingFetching candidate matches from the backend.
oneCandidateFoundSingle match found. User confirms or rejects.
multiCandidatesFoundMultiple matches; user picks one (or skips).
noCandidatesFoundNo matches; user proceeds with a fresh verification.
submitContinueUser chose to reuse a candidate; submitting the choice.
submitSkipUser chose to skip reuse; submitting the skip.
finishedTerminal.
errorFatal error.

The candidate states expose currentOrganizationName and candidateOrganizationNames from the backend response.

API methods

MethodPurpose
load()Fetch candidate matches.
startSelection()Begin selecting from multiCandidatesFound.
chooseCandidate(organizationName)Pick a candidate by organization name.
changeCandidate()Go back to selection from submitContinue (before submit).
submitCandidate()Submit the chosen candidate (reuse).
skip()Skip reuse and proceed with fresh verification.
retry()After error, restart.

Plus the universal lifecycle: subscribe, getState, reset, stop.

See also