Import
Overview
The identity client handles commitment construction, proof hash derivation, IDV session initiation, and input normalization across all identity providers. It is used internally by every embodiment client; it can also be used directly when building custom flows. All commitment and proof hash values are derived client-side from the shyconfig and the caller’s input. No network call is required to produce a commitment.createIdentityResolver(manifest)
Factory that returns an object with all identity methods bound to the manifest’s provider configuration.
Commitment construction
namespace—"stable_identity"(voting),"account"(custody/governance), or a custom valueprovider— frommanifest.identity.providersource— provider-specific identifier (see below)
Provider sources
provider | source | Input field |
|---|---|---|
didit | Didit person ID or journey ID | input.personId or input.journeyId |
identus | DID subject or credential ID | input.subjectId or input.credentialId |
wallet | Wallet address (normalized to lowercase) | input.walletAddress |
none | Fallback value | input.value |
Proof hash construction
workflowId and issuerDid are read from the manifest’s identity block. nonce is a random value generated per session. The proof hash is submitted alongside the ballot or transaction as evidence that a real IDV workflow was completed for this specific commitment.
IDV session management
Initiate a session
recommended_idv: "didit"), this creates a biometric verification session. Returns the session URL for redirect.
Check session status
personId or journeyId to pass to buildBallot / castBallot.
Input normalization
Identity profile
getIdentityProfile returns provider-specific UI configuration for rendering identity flows in your application. getIdentityPolicy returns the policy constraints governing byoid (bring-your-own-identity) inputs.
Oracle resistance
The identity client enforces oracle resistance at the construction layer:- The
person_secret(ZK tier) is never passed through this module — it is generated and retained byzkpClientexclusively on the device - Commitment inputs (
personId,walletAddress) are hashed before any network contact - The IDV provider receives only
commitment(a hash) — never the raw identity input, never theperson_secret - The
proofHashbinds the commitment to a workflow without revealing the commitment’s preimage to on-chain observers