CHLOM™ Identity & Fingerprint ID Master Technical Document

Version 1.0 — Issued by CrownThrive, LLC “Decentralized Identity, Consent, Device Binding, Biometrics, and Risk Controls for the Licensing & Compliance Layer.”

Audience: Identity architects, security engineers, compliance leads, wallet/app developers, validator operators, and Help Center editors curating the Identity & Fingerprint ID category. Scope: Canonical reference for how CHLOM models identity (DIDs + VCs), implements Fingerprint ID (biometric template + device fingerprinting), handles consent/privacy, binds accounts to devices, and enforces risk‑aware access—plus which 30+ follow‑on docs to read next.

0 · How to Use this Master Doc (Help Center Index)

  • Start here for the big picture and concrete build paths for identity enrollment, verification, device binding, authentication, and recovery.
  • Each section ends with “What to read next” cross‑links into the Identity category.
  • Code samples are illustrative; the authoritative sources are the runtime repository, identity gateway, and governance records.

1 · System Overview

CHLOM Identity combines decentralized identifiers (DIDs), verifiable credentials (VCs), privacy‑preserving biometrics, and device fingerprinting to secure licenses, operators, and marketplaces without central honeypots of raw personal data.

  • DIDs & VCs: Portable, revocable credentials (KYC/KYB, age, role, jurisdiction) signed by approved issuers.
  • Fingerprint ID: Two parts:
  • Consent & Privacy: Fine‑grained consent artifacts, data‑minimization by default, ZK options for selective disclosure.
  • Risk Engine: Dynamic policies (geo, device health, velocity, sanctions, KPI flags) drive step‑up auth (liveness, additional proof) before sensitive actions.

Visibility Policy — Read Me First

  • DIDs are public-facing: resolvable identity handles that may appear in profile pages, receipts, dashboards, and LEX order books where policy requires.
  • Fingerprint ID is non-public: an internal enforcement/attribution key. It is never shown in UI, never returned by public RPCs or indexers, and never logged in plaintext. Only salted commitments and/or zk-proof verifications are processed.

1.1 High‑Level Architecture

+------------------------------+    +----------------------+    +-----------------------------+
|  Apps & Wallets              |<-->| Identity Gateway     |<-->|  Reference Chain (Runtime)  |
|  (Enroll, Auth, Recover)     |    | (REST/WS + SDK)      |    |  FRAME Pallets              |
+------------------------------+    +----------------------+    +-----------------------------+
                                                                | chlom_identity / attestations|
+------------------------------+    +----------------------+     | oracle_gateway / zkprivacy   |
|  Issuers & Oracles           |<-->| Off-chain Workers    |     | compliance / dla / treasury  |
| (KYC/KYB, liveness, device)  |    | (OCWs; sign attest.) |     | governance / scheduler ...   |
+------------------------------+    +----------------------+     +-----------------------------+

+------------------------------+    +----------------------+
|  Indexers & Analytics        |<-->| SubQuery/Subsquid    |
|  (risk, consent, revocation) |    | + Sidecar            |
+------------------------------+    +----------------------+

1.2 Consensus & Accounts

  • Consensus: BABE + GRANDPA (reference chain).
  • Staking: NPoS; identity parameters governed on‑chain.
  • Accounts: SS58; sr25519/ed25519; multisig & proxy; DID keys may be separate from spend keys.

What to read next: Doc 01 — Identity Architecture & Domain Model; Doc 02 — Network & Keys Handbook.

2 · Core Protocols (Functional Specs)

2.1 DID & Credential Protocol (DCP)

Defines DID registration, issuer allowlists, VC issuance, verification, and revocation lists.

Extrinsics (examples):

  • identity.registerDid(did_doc_cid)
  • identity.addKey(did, key_ref, purpose)
  • identity.registerIssuer(issuer_id, scopes[])
  • attestations.submitCredential(did, vc_cid, sig)
  • attestations.revokeCredential(vc_id, cause)

2.2 Fingerprint ID Protocol (FIP)

Visibility: Non‑public. No public API returns or accepts a raw Fingerprint ID. Interactions occur via commitments, attestations, and short‑lived auth tokens. Logs must redact commitments; salts are never stored.

Two lanes with a common verifier:

  • Biometric Template Lane (optional): on‑device extraction → cancellable template → salted commitment → zk‑proof at auth time (
  • Device Fingerprint Lane: device attestation (platform APIs) + privacy‑respecting fingerprint vector → hashed, rotated identifier with per‑policy TTL.

Extrinsics (examples):

  • identity.bindBiometric(did, bio_commitment, proof_ref, consent_id)
  • identity.bindDevice(did, device_hash, attestation_ref, ttl)
  • identity.rotateBiometric(did)
  • identity.rotateDevice(did, device_hash)
  • identity.verifySession(did, auth_token)

2.3 Consent & Disclosure Protocol (CDP)

Explicit consent objects for each factor (KYC, biometric, device, marketing). Localized disclosures; withdrawal revokes bindings.

  • identity.recordConsent(did, consent_cid, scopes[])
  • identity.withdrawConsent(did, scope)

2.4 Risk & Step‑Up Protocol (RSP)

Risk score computed from velocity, geo, sanctions, DLA flags, device health. Thresholds trigger liveness or secondary proof.

  • identity.setRiskPolicy(policy_id, curves)
  • identity.challenge(did, kind)
  • identity.completeChallenge(challenge_id, proof)

What to read next: Doc 03 — DID & VC Spec; Doc 04 — Fingerprint ID Spec; Doc 05 — Consent & Disclosure Spec; Doc 06 — Risk & Step‑Up Spec.

3 · Runtime Pallets (FRAME)

PalletPurposeKey StorageKey ExtrinsicsEvents
pallet_chlom_identityDIDs, keys, consents, device/biometric bindingsDids, Keys, Consents, BindingsregisterDid, addKey, bindDevice, bindBiometric, rotate*DidRegistered, DeviceBound, BiometricBound
pallet_attestationsVC registry & revocationsCredentials, RevocationssubmitCredential, revokeCredentialCredentialRecorded, CredentialRevoked
pallet_oracle_gatewayIssuer & liveness feedsFeeds, SigsregisterFeed, attestAttested
pallet_zkprivacyZK verification (biometric/age proofs)Circuits, VerifiersverifyProof, registerCircuitProofVerified
pallet_chlom_complianceRegional gates & packsPacks, BindingsbindLicense, read‑gatesLicenseBound
pallet_chlom_dla (read)Enforcement flagsCases, SanctionsSanctionApplied
pallet_schedulerKey/consent expiriesSchedulesscheduleScheduled
pallet_treasurySubsidies & bountyApprovalsproposeSpendTreasuryProposed

What to read next: Doc 07 — Pallet Design Deep Dives (Identity Set).

4 · Data Model & Schemas

  • DidDocument (PUBLIC):
  • VerifiableCredential:
  • BiometricBinding (PRIVATE):
  • DeviceBinding (PRIVATE):
  • Consent:
  • RiskPolicy:

What to read next: Doc 08 — Runtime Storage & Schemas (Identity).

5 · Protocol Flows (Sequence Specs)

5.1 Onboard & Enroll

Create DID → record consent → KYC VC issued by oracle → (optional) Fingerprint ID enrollment (biometric + device) → risk baseline set.

5.2 Authenticate with Step‑Up

App requests action → gateway checks risk → if high, trigger liveness and/or biometric zk‑proof → on pass, mint short‑lived auth token for the call.

5.3 Device Loss & Recovery

Mark device compromised → challenge with secondary factor (guardian social recovery / WebAuthn key) → rotate device binding and (optionally) biometric template.

5.4 Credential Revocation

Issuer posts revocation → VC status updated → dependent privileges suspended until new VC provided.

What to read next: Doc 09 — Sequence Diagrams & State Machines (Identity).

6 · Governance & DAO Mechanics

DAO governs issuer allowlists, accepted VC schemas, biometric circuit IDs, retention/TTL defaults, and risk curves. Emergency council can disable biometric lane or raise step‑up levels; post‑hoc referendum ratifies.

What to read next: Doc 10 — Governance Parameters & Processes (Identity).

7 · Token Model (Runtime View)

  • CHM: vote on issuer lists, schemas, risk policies, subsidies.
  • CHLOM: fees for DID ops, VC recording, device rotations, zk verifications; 1%→5% sustainability routing on eligible fees.

What to read next: Doc 11 — Token Implementation & Fee Model (Identity).

8 · Oracles & Off‑Chain Workers

Issuers for KYC/KYB, liveness providers, device attestation services. OCWs batch proof records, rate‑limit upstreams, and publish signed attestations.

What to read next: Doc 12 — Oracle Gateway & OCW Patterns (Identity).

9 · Indexing & Analytics

Dashboards for DID growth, VC issuance/revocation, device health, step‑up frequency, biometric success rate (aggregate only), risk outcomes, consent withdrawals; exportable regulator bundles.

What to read next: Doc 13 — Indexing Blueprints; Doc 14 — Observability & Telemetry.

10 · Security, Privacy, and Compliance

Threats: biometric template leakage, correlation tracking, replay, oracle spoofing, SIM‑swap, deepfake liveness. Controls: cancellable templates, on‑device derivation, no raw biometrics on‑chain, zk proofs, nonce‑based liveness, mutual‑TLS to issuers, bounded math, rate limits, consent withdrawal.

Compliance: region‑specific rules (e.g., GDPR/CCPA data rights, age gating, biometric notice/consent statutes). Redaction & export tooling for user requests.

What to read next: Doc 15 — Security Standards & Threat Model; Doc 16 — Privacy/ZK Patterns & Legal Notes.

11 · Sustainability & Impact Hooks

A portion of eligible identity fees routes 1% (scaling to 5%) through Stripe Climate; rotating EcoDrive campaigns (clean water, food, kelp, plastic removal, trees, jobs). Impact logs can be linked to verified identities for community badges (opt‑in).

What to read next: Doc 17 — Sustainability Module & API.

12 · Developer Environment & Tooling

12.1 Prereqs

SDKs, DID/VC libraries, mobile secure enclave access, WebAuthn support, ZK circuits (age, biometric), device attestation integrations.

12.2 Build & Run (Reference Chain)

rustup target add wasm32-unknown-unknown
cargo build -p node --release
./target/release/chlom-node --dev

12.3 Testing

Unit/integration tests; fuzzing for parser/codec; property tests for consent TTL; adversarial tests for liveness/biometric anti‑replay; test vectors for device hash rotation.

What to read next: Doc 18 — Local Dev & Testing Guide (Identity).

13 · Deployment Topologies

DevNet (fake issuers/liveness), TestNet (permissioned issuers; chaos tests), MainNet (SLA’d issuers; governance‑controlled schema updates; snapshots/backups; incident SOPs).

What to read next: Doc 19 — Networks & Chain Specs; Doc 20 — Upgrade Playbook (Forkless Upgrades).

14 · SDKs & API Surfaces

TypeScript SDK & mobile bridges; JSON‑RPC (standard + identity_*).

Examples (TS):

// Register a DID
await api.tx.chlomIdentity.registerDid(didDocCid).signAndSend(account)

// Bind a device fingerprint (attested)
await api.tx.chlomIdentity.bindDevice(did, deviceHash, attestationCid, 2_592_000) // 30d TTL
  .signAndSend(account)

// Prove biometric match via zk circuit (off-chain prove, on-chain verify)
await api.tx.zkprivacy.verifyProof(proofBytes, circuitId).signAndSend(account)

What to read next: Doc 21 — TS SDK Reference (Identity); Doc 22 — Mobile Bridges & WebAuthn; Doc 23 — Custom JSON‑RPC Extensions.

15 · Licensing & Market Interop

Before sensitive calls (license mint/transfer, LEX settlement), apps should verify: VC status, DLA flags, risk score and require step‑up if policy dictates.

What to read next: Doc 24 — Interop: Licensing/LEX/TLAAS Hooks.

16 · KPI Catalogue & Measurement (Identity)

KPIs: DID adoption, VC issuance/revocation rate, device churn %, biometric match success %, step‑up rate, false reject/accept (FRR/FAR), issuer uptime, median recovery time.

What to read next: Doc 25 — KPI Library & Policies (Identity).

17 · TLaaS & TLAAS Interactions

  • TLaaS (LEX): read‑gates (age/region/role) + ROFR identity checks.
  • TLAAS (DLA): escalations for identity fraud →

What to read next: Doc 26 — Casebook & Escalation (Identity).

18 · Cross‑Chain & Bridging (Identity Artifacts)

XCM messages for credential attestations; bridge allowlists; rate limits; conflict‑of‑law fallbacks; foreign DID method mappings.

What to read next: Doc 27 — Cross‑Chain Strategy (Identity).

19 · Compliance Packs by Jurisdiction (Identity)

Pluggable packs that encode disclosure, retention, biometric consent wording, age‑gating, and regulator export schemas per region.

What to read next: Doc 28 — Regional Compliance Packs (Identity).

20 · Operational Runbooks (Identity Ops)

Enrollment QA, issuer onboarding, key rotation calendars, revocation list publication, device hash rotation cadence, incident response for compromised issuers.

What to read next: Doc 29 — Identity Ops Runbook; Doc 30 — Governance Ops Manual (Identity).

21 · Contribution, Versioning, and SLA

Semantic versions for schemas/circuits; migration notes; deprecation policy; documentation SLAs; circuit audit requirements before activation.

What to read next: Doc 31 — Contributing & Release Process (Identity).

22 · Accessibility & Inclusion

Guidelines for liveness challenges that respect accessibility needs; alternative step‑up paths (voice OTP, guardianship); inclusive UX copy; localized consent.

What to read next: Doc 32 — Inclusive Identity UX Guide.

23 · Full Documentation Roadmap (32+ Items)

  • Identity Architecture & Domain Model
  • Network & Keys Handbook
  • DID & VC Spec
  • Fingerprint ID Spec (Biometric + Device)
  • Consent & Disclosure Spec
  • Risk & Step‑Up Spec
  • Pallet Design Deep Dives (Identity Set)
  • Runtime Storage & Schemas (Identity)
  • Sequence Diagrams & State Machines (Identity)
  • Governance Parameters & Processes (Identity)
  • Token Implementation & Fee Model (Identity)
  • Oracle Gateway & OCW Patterns (Identity)
  • Indexing Blueprints
  • Observability & Telemetry
  • Security Standards & Threat Model
  • Privacy/ZK Patterns & Legal Notes
  • Sustainability Module & API
  • Local Dev & Testing Guide (Identity)
  • Networks & Chain Specs
  • Upgrade Playbook (Forkless Upgrades)
  • TS SDK Reference (Identity)
  • Mobile Bridges & WebAuthn
  • Custom JSON‑RPC Extensions
  • Interop: Licensing/LEX/TLAAS Hooks
  • KPI Library & Policies (Identity)
  • Casebook & Escalation (Identity)
  • Cross‑Chain Strategy (Identity)
  • Regional Compliance Packs (Identity)
  • Identity Ops Runbook
  • Governance Ops Manual (Identity)
  • Disaster Recovery & Backups (Identity)
  • Circuit Audit & Activation Process
  • Accessibility & Inclusion Guide

24 · Final Notes for Help Center Editors

  • Keep this master current with each runtime, schema, and circuit release.
  • Every new issuer, circuit, or risk policy must link back here and add a child doc entry.
  • Cross‑check examples against the latest CI snapshot and governance decisions before publishing.

Appendix A — Example Types (Rust)

pub struct DidDocument { pub did: Vec<u8>, pub keys: BoundedVec<(Vec<u8>, u8), ConstU32<16>>, pub services: BoundedVec<Vec<u8>, ConstU32<16>>, pub controller: Option<Vec<u8>>, pub version: u32, pub doc_cid: Vec<u8> }
pub struct BiometricBinding { pub did: Vec<u8>, pub bio_commitment: [u8;32], pub circuit_id: u32, pub consent_id: u64, pub enrolled_at: u64, pub rotated_at: Option<u64> }
pub struct DeviceBinding { pub did: Vec<u8>, pub device_hash: [u8;32], pub attestation_ref: Vec<u8>, pub ttl: u64, pub last_seen: u64 }

Appendix B — Example TS SDK Calls

// Register a DID (PUBLIC identifier — safe to display)
await api.tx.chlomIdentity.registerDid(didDocCid).signAndSend(account)

// Bind Fingerprint ID (biometric commitment) — PRIVATE: do NOT log bioCommitment/proofs
await api.tx.chlomIdentity.bindBiometric(did, bioCommitment, proofCid, consentId).signAndSend(account)

// Bind device fingerprint — PRIVATE: do NOT log deviceHash/attestationCid
await api.tx.chlomIdentity.bindDevice(did, deviceHash, attestationCid, 2_592_000).signAndSend(account)

Disclaimer: Identity documentation; not legal advice. Always obtain explicit consent, comply with regional biometric/privacy laws, and align with CHLOM Governance decisions.

Help Center Cross‑References

  • See: 🔐 CHLOM Fingerprint ID – In‑Depth Overview (public article)

Was this article helpful?

DID + Fingerprint ID + ZKP + SBTs + NFTs + FTs — Integrated Architecture in CHLOM™