Motion Signature Format
A formal, implementable specification. Any team should be able to build a compatible verifier from this document alone.
Abstract
This document defines the MyShape Motion Signature — a multi-dimensional descriptor extracted from consumer-grade inertial measurement unit (IMU) data and camera observations. The Motion Signature enables verifiable continuity: the property that two temporally separated observations originate from the same physically embodied entity.
The specification covers four layers: (1) the Presence Entropy Score for liveness quantification, (2) jerk peak detection for event extraction from IMU streams, (3) cross-modal temporal matching for binding independent sensor observations to a shared physical cause, and (4) challenge-response extensions for active adversary resistance.
This document is normative. Implementations that conform to this specification produceMyShape-compatible verification receipts — cryptographically hashable evidence objects that can be verified by any conforming verifier.
Status of This Document
RFC-0001 · Draft · 2026-07-18. Published by The Continuity Lab. This is a living document. Comments, corrections, and proposed amendments should be submitted as GitHub issues against the MyShape Protocol repository.
All algorithms described herein have been validated across 477 independent experimental runsspanning four evidence engines (EE-001 through EE-003, VS-001) on consumer iPhone hardware. Parameter values are empirical and calibrated against real human motion data.
1. Introduction
1.1 What is a Motion Signature?
A Motion Signature is a 128-dimensional vector extracted from IMU and camera observations of a physically embodied entity in motion. It captures four independent feature groups:
- Kinematics — raw acceleration, rotation rate, and derived velocity vectors
- Jerk — the third derivative of position (derivative of acceleration), detecting force onsets
- Jerk Spectrum — frequency-domain entropy of the jerk signal, quantifying biological unpredictability
- Cross-Modal Binding — temporal alignment between IMU events and camera-observed trajectory changes
Unlike static identifiers (passwords, tokens, enrollment templates), the Motion Signature is not an identity signal. It does not answer "who are you?" — it answers "are you physically present and continuously embodied?"
1.2 Design Principles
- Sensor-agnostic. Any IMU (accelerometer + gyroscope) and any camera (RGB, depth, IR) can produce compatible input.
- Device-independent. The same entity should produce correlating signatures across different devices held simultaneously.
- No enrollment. No prior template, calibration, or training data is required for a given entity.
- Non-identifying. A Motion Signature alone cannot be used to re-identify an individual across sessions.
- Falsifiable. Every detection is accompanied by per-component evidence with explicit thresholds and diagnostic explanations.
1.3 Terminology
| Term | Definition |
|---|---|
| Entity | The physically embodied subject being observed |
| Presence | The property of being a living, physically embodied entity — not a simulation or replay |
| Continuity | The property that two observations describe the same entity |
| Evidence Engine | A module that produces structured evidence from sensor data |
| Verification Session | A complete flow: evidence collection → policy evaluation → receipt |
2. Presence Entropy Score (PES)
2.1 Definition
The Presence Entropy Score is a scalar value PES ∈ [0, 1] that quantifies the depth of biological entropy in an IMU sample stream. Higher scores indicate stronger evidence of a living, non-deterministic entity.
PES is computed from four sub-components over an 8-second observation window:
- Micro-timing variance (MTV)— the coefficient of variation of inter-sample intervals. Biological motion exhibits natural timing jitter; mechanical replays produce near-constant intervals. Real human data: CV ∈ [0.08, 0.35]. Replay data: CV < 0.03.
- Noise residual (NR) — the RMS of the residual after subtracting a 5th-order polynomial fit from the acceleration magnitude. Biological motion contains high-frequency micro-tremor (8–12 Hz) that polynomial fits cannot capture.
- Frequency entropy (FE) — Shannon entropy of the FFT power spectrum (0–25 Hz) of the acceleration magnitude, normalized to [0, 1]. Deterministic signals concentrate energy in narrow bands; biological signals spread energy broadly.
- Biological perturbation (BP) — the count of jerk peaks exceeding the noise floor by 2× or more. This captures the "start-stop" irregularity characteristic of human motor actuation.
2.2 Computation
PES = min(1, w₁·MTV + w₂·NR + w₃·FE + w₄·BP)
Current weights (v0.3): w₁ = 0.25, w₂ = 0.25, w₃ = 0.30, w₄ = 0.20. These weights are empirical and may be recalibrated as more data is collected. Implementations MUST document the weight vector used.
2.3 Thresholds
| PES Range | Interpretation |
|---|---|
| PES ≥ 0.30 | Sufficient presence — entity passes passive check |
| 0.15 ≤ PES < 0.30 | Borderline — additional evidence required |
| PES < 0.15 | Insufficient — likely mechanical or synthetic |
3. Jerk Peak Detection
3.1 Derivation
Jerk j(t) is the time derivative of acceleration: j = da/dt. It measures the rate of change of force — a physically meaningful quantity because Newton's Second Law (F = ma) implies dj/dt = (1/m)·dF/dt. Jerk peaks therefore correspond toonsets of force changes initiated by motor actuation.
3.2 Detection Algorithm
Given an IMU sample stream S = {s₁, s₂, ..., sₙ} where each sᵢ = (tᵢ, axᵢ, ayᵢ, azᵢ):
- Compute acceleration magnitude: |a|ᵢ = sqrt(axᵢ² + ayᵢ² + azᵢ²)
- Compute jerk magnitude: |j|ᵢ = |a|ᵢ₊₁ − |a|ᵢ (discrete differentiation)
- Compute dynamic threshold: τ = median(|j|) + 2 × MAD(|j|), with floor τ_min = 0.15 m/s³
- Detect peaks: a jerk event occurs at index i when |j|ᵢ > τ and |j|ᵢ > |j|ᵢ₋₁ and |j|ᵢ > |j|ᵢ₊₁
- Apply refractory period of 150ms — ignore peaks within 150ms of a prior peak
3.3 Parameters (v0.3)
| Parameter | Value | Rationale |
|---|---|---|
| JERK_MIN_THRESHOLD | 0.15 m/s³ | Floor below which biological signal is indistinguishable from sensor noise |
| MAD multiplier | 2× | Reduced from 3× (v0.2) to increase sensitivity on iPhone IMU |
| Refractory period | 150ms | Prevents double-counting a single force onset |
| MATCH_WINDOW_MS | ±500ms | Widened from 200ms — consumer hardware temporal precision is limited |
4. Cross-Modal Temporal Matching
4.1 The Binding Problem
When two independent sensors (IMU + camera) observe the same physical event, their observations MUST be causally ordered: the force onset (IMU jerk) precedes the visible trajectory change (camera direction change). If the camera shows a direction change before the IMU registers corresponding force, the two streams cannot describe the same physical event.
4.2 Event-Level Matching
Rather than estimating acceleration from low-framerate video (which amplifies noise), we compare events across modalities:
- IMU events: Jerk peaks detected via the algorithm in Section 3
- Camera events: Trajectory turning points — consecutive velocity vectors that differ in direction by ≥ 45° and exceed a minimum speed threshold of 0.2 units/frame
- Match: Pair each IMU event with the nearest camera event within ±500ms. If multiple candidates exist, select the pair with smallest Δt.
- Direction check: For each matched pair, verify that the IMU force vector and camera displacement vector agree within 90° tolerance.
4.3 Causal Evidence Score
Four components aggregate into a Causal Evidence metric:
| Component | Threshold | Description |
|---|---|---|
| Event Density | 0.20 events/s | Sufficient events in both channels for meaningful analysis |
| Temporal Alignment | 0.25 | Fraction of events matched across modalities within window |
| Direction Agreement | 0.50 | Fraction of matched pairs with consistent direction |
| Causal Evidence | 0.30 | Aggregate score — weighted combination of above |
4.4 CFC-005: Causal Inversion
A Causal Inversion occurs when a camera direction change precedes its matched IMU jerk by more than 250ms. Under Newtonian mechanics, the force must precede the visible effect. CFC-005 detection indicates that the two streams cannot share a physical cause under the current timing model.
CFC-005 is not a definitive forgery detector. It is an evidence component that contributes to the aggregate confidence score. A single CFC-005 event does not reject a session; repeated CFC-005 events across multiple evidence engines raise the probability that streams are causally decoupled.
5. Challenge-Response Extension
5.1 Purpose
Passive evidence (IMU presence + cross-modal coupling) can be defeated by synchronized replay attacks. The Challenge-Response extension (EE-003) mitigates this by introducingunpredictable, time-jittered directional challenges that a mechanical replay cannot anticipate.
5.2 Protocol
- System randomly selects a direction d ∈ {←, →, ↑, ↓} and a jitter J ∈ [0, 1000] ms
- System displays direction arrow and waits 2000 + J ms (countdown with jitter)
- Entity rotates the device in the indicated direction during a 2000ms capture window
- Gyroscope data is analyzed: direction match (peak rotation aligns with challenge) and magnitude check (rotation rate ≥ threshold)
- Repeat for 3 rounds with independent random directions and jitter values
5.3 Round Analysis
For each round with gyroscope samples r(t) = (rx, ry, rz) at time t:
- Direction match: Peak rotation rate axis matches challenge direction within 60°
- Magnitude check: Peak rotation rate ≥ 100°/s for yaw, ≥ 50°/s for pitch
- CFC-008 (Predictability): If angle variance across rounds < 50° AND magnitude variance < 0.05, flag as potentially mechanical
5.4 Verdict
Evidence is sufficient when ≥ 2 of 3 rounds pass direction match. At 101 experimental runs, the challenge-response pass rate is 58%. The challenge is effective as additional evidence in an escalation pipeline but should not serve as a standalone verifier.
6. Verification Session Protocol
6.1 Session Lifecycle
- Init: Generate session ID, set policy (accept/reject thresholds, escalation rules)
- Passive Evidence: Collect EE-001 (IMU presence) for 8 seconds of free motion
- Decision Gate: confidence < 0.35 → REJECT; confidence ≥ 0.70 → ACCEPT; 0.35–0.70 → ESCALATE
- Additional Evidence: If escalated, collect EE-003 (gyroscope challenge, 3 rounds)
- Aggregate: Compute final confidence across all collected evidence
- Receipt: Emit EvidenceReceipt with session ID, verdict, component scores, and hash chain
6.2 Policy Configuration
| Parameter | Default | Description |
|---|---|---|
| acceptThreshold | 0.70 | Minimum confidence for PASS verdict |
| rejectThreshold | 0.35 | Maximum confidence for FAIL verdict |
| IMU_ONLY_CAP | 0.65 | IMU evidence alone cannot trigger auto-accept |
| escalationEngines | ["EE-003"] | Engines to invoke on escalation |
6.3 Evidence Receipt Format
Every verification session produces an EvidenceReceipt — a JSON-serializable object containing:
- sessionId: UUIDv4
- timestamp: ISO 8601
- verdict: PASS | FAIL | INSUFFICIENT_EVIDENCE
- confidence: float ∈ [0, 1]
- engineEvidence: Array of { engineId, components[], diagnostics[], evidenceDigest }
- previousReceiptHash: SHA-256 of prior receipt (for chain continuity)
7. Experimental Validation
All algorithms and thresholds have been validated across 477 independent experimental runson consumer iPhone hardware over three days (2026-07-15 to 2026-07-17).
| Engine | N | Pass Rate | Key Signal |
|---|---|---|---|
| EE-003 (gyro challenge) | 101 | 58% | 2/3 rounds sufficient 84% of PASS cases |
| PE-001 single-device | 50 | 93% | Temporal alignment 100% |
| PE-001 independent (3 trackers) | 266 | 58% | Temporal alignment 100%, tracker-limited |
| VS-001 (dual-engine) | 60 | 93% | Passive stage 100%, escalation reliable |
Temporal alignment of 100% across 276 independent-device runs is the central experimental result. Cross-modal binding survives the transition from single-device to independent-device deployment with zero degradation in temporal signal integrity.
Detailed experimental methodology, per-engine diagnostics, and failure analysis are documented in RN-003 — Cross-Modal Binding.
8. Reference Implementation
A reference implementation of this specification exists in the MyShape Protocol monorepo:
| Module | Path | Tests |
|---|---|---|
| Evidence types + policy | src/lib/evidence/types.ts | 29 |
| Causal coupling (EE-002) | src/lib/evidence/causal-coupling.ts | 38 |
| Gyroscope challenge (EE-003) | src/lib/evidence/gyro-challenge.ts | 25 |
| Verification session | src/lib/evidence/session.test.ts | 19 |
| Attack simulation | src/lib/evidence/attack-simulation.test.ts | 18 |
Run all tests: npx vitest run src/lib/evidence/
An npm package providing a single-entry-point verifyContinuity() function is forthcoming. See the GitHub repository for current status.
9. Open Questions
- Cross-device calibration. Current PES weights are calibrated on a single iPhone model. Do different IMU chips require per-device normalization?
- Minimum window duration. The 8-second passive window is empirical. Formal power analysis needed to determine the shortest window with adequate sensitivity.
- Multi-entity tracking. Can the cross-modal matching algorithm be extended to N > 1 entities in the same camera frame?
- Adversarial synthesis. Can a causally self-consistent fake sensor stream be generated that passes both PES and cross-modal checks?
- Privacy-preserving verification. Can an EvidenceReceipt be verified in zero-knowledge, proving a PASS verdict without revealing the underlying motion data?