How It Works

The full verification pipeline, end to end.

// VERIFICATION FLOW

Three stages, seven steps.

From behavioral challenge to on-chain proof. No raw biometric data leaves your device. Only derived statistical features are validated server-side.

01—Challenge

A random nonsense phrase and Lissajous curve generated fresh for each session. No two sessions share the same challenge.

Each session generates a unique phrase from phonetic syllables and a unique Lissajous curve from random mathematical parameters. The user speaks the phrase while tracing the curve for 12 seconds. The challenge elicits natural behavioral data (voice prosody, hand tremor, touch pressure) rather than testing memory or speed.

02—Capture

Three sensor streams record in parallel: voice, touch, and motion. 12 seconds of simultaneous behavioral data.

The Pulse SDK accesses the device microphone, accelerometer, gyroscope, and touch digitizer. All sensors record in parallel for 12 seconds. Raw recordings stay in device memory and are destroyed after feature extraction. Only derived statistical summaries leave the device for server-side validation. On desktop, motion sensors are unavailable. Mouse pointer dynamics provide equivalent kinematic features.

03—Extract + Score

Speaker features (F0, jitter, shimmer, HNR, formants), jerk analysis, statistical condensing. Plus entropy scoring to detect synthetic data.

Audio: fundamental frequency, vocal jitter, shimmer, harmonics-to-noise ratio, and formant ratios. Per-feature entropy detects TTS artifacts. Motion and touch: jerk and jounce analysis with jitter variance scoring. Real human tremor fluctuates over time, synthetic data stays constant. On desktop, mouse dynamics replace motion sensor data.

04—Hash

SimHash projects features into a 256-bit fingerprint. Same-user fingerprints cluster; imposters diverge.

The expanded feature vector (including entropy and jitter metrics) is passed through SimHash using random hyperplane projections. The output is a Temporal Fingerprint. Two fingerprints from the same person have small Hamming distance. The entropy features mean synthetic data produces a different fingerprint than real behavioral data.

05—Commit

Poseidon(fingerprint || salt) produces the TBH commitment. The fingerprint and salt stay on-device.

A large cryptographically-secure salt is generated. The Poseidon hash function (chosen for ZK-circuit efficiency over BN254 field elements) takes the fingerprint concatenated with the salt to produce H_TBH. The commitment and ZK proof are transmitted. The fingerprint and salt remain on-device, encrypted.

06—Prove

Groth16 ZK proof: distance is within the valid range. Not too similar (replay), not too different (imposter).

The proof verifies three statements: both commitments are valid Poseidon hashes of real fingerprints, the Hamming distance falls below the maximum threshold (natural human variation), and the distance exceeds a minimum threshold (blocks perfect replay where a bot submits identical data). The verifier learns nothing about the actual fingerprints.

07—Verify

Proof verified on Solana. Anchor updated. Progressive Trust Score recalculated from verification history.

The statistical feature summary is validated server-side by proprietary models that detect synthetic data, then the ZK proof is verified on-chain. Both must pass. The server sees only derived statistics (means, variances, spectral coefficients)—never raw recordings. On success, the Anchor stores the verification timestamp in a rolling history. Trust Score recalculates using recency weighting and regularity analysis.

// PROTOCOL COMPONENTS

Five layers, one proof

Pulse SDK

Client-side capture and proving

A TypeScript library that runs on the user's phone or browser. It captures sensor data, extracts features, generates the TBH commitment, and produces the ZK proof. Raw biometric data never leaves this library—only derived statistical features and the proof are transmitted.

  • Browser and React Native support
  • Audio, IMU, and touch capture in parallel
  • On-device Groth16 proof generation
  • Walletless mode (relayer) and wallet-connected mode

ZK Circuit

Hamming distance verification

A Groth16 circuit that proves two Poseidon-committed TBH values are within Hamming distance t of each other. The circuit runs at proving time on the user's device. The verifier learns only that the threshold check passed.

  • Groth16 over BN254 curve
  • Poseidon hash for ZK efficiency
  • Under 200K compute units on-chain
  • Proof generation targets under 5 seconds on mobile

On-Chain Programs

Three Solana programs

The iam-verifier program checks ZK proofs. The iam-anchor program manages non-transferable identity tokens (SPL Token-2022). The iam-registry tracks Trust Scores, validator staking, and protocol configuration.

  • Anchor framework with full constraint validation
  • Non-transferable token via Token-2022 extension
  • Trust Score from verification count and age
  • PDA-derived identity (one per wallet)

Executor Node

Off-chain relay and challenge service

A Rust service that generates signed challenges, relays attestations, and manages walletless transaction submission. The public protocol layer—open source for trust and auditability.

  • Server-generated signed challenges (anti-bot)
  • SAS attestation issuance
  • Walletless relayer for liveness-check tier
  • Configurable CORS and rate limiting

Validation Service

Proprietary defense layer

A private Rust crate that analyzes the 134-dimensional statistical feature summary for synthetic artifacts, cross-modality inconsistencies, and Sybil patterns. The defense layer—proprietary because the asymmetry between attackers and defenders demands it. The protocol is open so you can trust it. The validation is private so attackers can't bypass it.

  • TTS and synthetic data detection
  • Cross-wallet fingerprint registry (Sybil detection)
  • Cross-modality temporal correlation enforcement
  • Adaptive thresholds with zero information leakage
// PRIVACY MODEL

Privacy by architecture

On-device processing

Sensor capture, feature extraction, hashing, and proof generation all run on the user's device. No raw biometric recordings are transmitted or stored server-side.

No biometric storage

Raw audio, motion, and touch data are destroyed after the Temporal Fingerprint is computed. No database holds voice samples or movement traces.

Minimal data transmission

The Pulse SDK transmits a Groth16 proof, a Poseidon commitment, and a compact statistical summary (134 derived features). Raw sensor data and the behavioral fingerprint never cross the network.

No identity mapping

The protocol proves 'you are human,' not 'you are a specific person.' The TBH is pseudonymous. It does not link to a name, email, or social account.

One-way commitment

Poseidon(fingerprint || salt) is computationally irreversible. The commitment cannot be decoded back into the original behavioral fingerprint.

GDPR and EU AI Act aligned

Behavioral verification (not identification) is designed to minimize regulatory exposure under the EU AI Act. Data minimization is enforced by architecture, not policy.

// SECURITY MODEL

How IAM resists bots.

Open protocol for trust. Private validation for security. Synthetic data is rejected server-side before reaching the chain. Users pay a small protocol fee per verification. Bots pay real money at scale.

Minimum Distance Constraint

The ZK circuit enforces a minimum Hamming distance between consecutive fingerprints. Perfect replay is rejected at the proof level. A bot submitting identical synthetic data twice gets blocked before reaching the chain.

Server-Side Feature Validation

The 134-dimensional statistical feature summary is validated by proprietary server-side models before the on-chain proof is accepted. These models detect synthetic speech artifacts, unnatural jitter patterns, and cross-modality inconsistencies. The validation logic is private—the attacker can see that checks happen but not how they work.

Progressive Trust Score

Trust Score rewards consistency over time, not volume. 100 verifications in one day scores lower than weekly verifications over 3 months. Recency weighting and regularity bonuses make bot farming slow and expensive.

Per-Session Randomness

Each verification generates a unique random phrase and Lissajous curve. No two sessions share the same challenge. The challenge elicits involuntary behavioral patterns (voice prosody, hand tremor, touch pressure) that are harder to synthesize than the words themselves.

Multi-Modal Capture

Three independent sensor streams record in parallel: microphone, pointer/touch digitizer, and device motion (where available). A bot needs to fake realistic voice, tremor, and touch pressure simultaneously. Spoofing one modality is feasible. Spoofing all three with consistent behavioral entropy is exponentially harder.

Cross-Wallet Fingerprint Registry

The server maintains a registry of all verified behavioral fingerprints. New verifications are compared against existing entries. Sybil attacks—where one actor creates many identities—produce clustered fingerprints that the registry detects and rejects.

Economic Disincentives

Each verification costs the user SOL. Each wallet requires funding. Server-side validation rejects synthetic data before it reaches the chain. Maintaining thousands of fake identities over months—funding wallets, paying per verification, building Trust Score across separate days—costs real money. The attacker pays for every attempt.

// VERIFICATION MODES

Two modes, graduated trust.

Traditional captcha answers “is this session human?” IAM answers a harder question: “is this the same human, and how long have they been proving it?” The protocol provides the signal. The integrator sets the threshold for their use case.

Wallet-Connected

High trust

Connect a Solana wallet. Your IAM Anchor (non-transferable token) is tied to that wallet. Behavioral fingerprint stored on your device, commitment stored on-chain. Trust Score accumulates over time and is visible to every integrator on-chain. This is the persistent, portable identity. Each wallet requires funded SOL, and re-verification costs compound, making bot farms economically unsustainable at scale.

Walletless

Graduated trust

No wallet, no crypto knowledge needed. First verification acts as a liveness check: the protocol confirms a human produced the behavioral data, but has no prior fingerprint to compare against. Returning verifications build device-bound consistency as behavioral drift is checked against the locally stored (encrypted) fingerprint. The identity is application-scoped and ephemeral. No on-chain Anchor, no portable Trust Score. Clear the browser, switch devices, and the history is gone.

// RESEARCH VALIDATION

Why multi-modal behavioral verification works.

Single-modality detection is losing to modern AI. IAM's multi-modal approach is validated by recent research as the correct architecture for proof of humanity in an era of neural speech synthesis and behavioral simulation.

Single-Modality Detection Is Failing

SONAR Benchmark, ACM 2024-2025

The most comprehensive evaluation of audio deepfake detection found that OpenAI's TTS is detected only 78% of the time by the best available classifier. Traditional acoustic features alone show "significant generalization limitations" against modern neural speech synthesis. Models trained on older datasets lose up to 43% performance when tested against newer TTS systems. Audio-only verification is a losing game.

Multi-Modal Fusion Is the Defense

BioMoTouch, arXiv 2025

Touch and motion sensor fusion from commodity devices achieves 99.71% accuracy with 0.27% equal error rate. Mimicry attacks succeed less than 1% of the time. The strength comes from requiring an attacker to simultaneously replicate physiological characteristics across multiple independent sensor modalities in temporally consistent patterns. This represents an exponentially harder attack surface than any single modality.

Voice-Gesture Coupling Is Biomechanical

Pouw et al., Royal Society Proceedings B, 2025

Hand movement and voice prosody couple through shared respiratory and motor control systems. This coupling is involuntary and biomechanical, not cognitive. Under delayed auditory feedback, the synchrony becomes stronger, not weaker, confirming it originates below conscious control. A bot using text-to-speech and a movement simulator produces two independent signals that lack this natural coupling. IAM detects this.

Physics-Informed Detection Still Works

VoiceRadar, NDSS 2025 (Distinguished Paper Award)

Micro-frequency oscillations derived from vocal fold physics achieve 0.45% equal error rate against modern TTS and voice conversion. The key insight: TTS systems model the statistical distribution of speech features but not the underlying physics of speech production. Features grounded in biomechanics remain discriminative because they capture signals that emerge from the human vocal tract, not from statistical distributions that can be learned.

Modern TTS Produces Artifacts in Both Directions

Warren et al., "Pitch Imperfect", 2025

Neural vocoders can produce acoustic perturbation values higher than human baselines, not just lower. This overturns the assumption that synthetic speech is "too perfect." Effective detection must account for artifacts in both directions. IAM's validation pipeline is calibrated against these findings.

Touch-IMU Shockwave Is a Binary Liveness Signal

Device physics, validated by BioMoTouch 2025

Physical touch interaction produces measurable hardware responses that programmatic touch injection does not. Scripted emulators, headless browsers, and automation frameworks generate valid touch coordinates without triggering the corresponding physical sensor responses. IAM uses this discrepancy as a liveness signal on supported devices.

The core advantage of IAM

IAM captures voice, movement, and touch simultaneously and verifies their temporal correlation. Spoofing one modality in isolation is feasible. Spoofing all three with consistent behavioral characteristics across modalities is an exponentially harder problem. IAM's Trust Score then requires maintaining that consistency across sessions over weeks, compounding the difficulty further.


Raw data stays on your device. Statistical features are validated. Proof goes on-chain.