VEIL (Verifiable Emission-shaping for Identity-Leakage prevention) is the countermeasure counterpart to BFLD (ADR-118/121): where BFLD detects when beamforming feedback becomes identifying, VEIL shapes a node's own outgoing feedback so an unauthorized passive sniffer cannot re-identify people, while a legitimate receiver that shares the per-session key sees an unchanged link. Mechanism: identity leaks through the fine cross-subcarrier phase structure of a compressed beamforming report; throughput rides the dominant beam direction. These are (mostly) separable subspaces. VEIL composes extra keyed Givens rotations (the report's native primitive) over the fine subspace only. The rotation is orthogonal (energy-preserving -> not jamming), keyed per session (the AP inverts it -> throughput preserved), and fresh each session (a sniffer cannot average it back -> re-identification collapses to chance). Contents: - v2/crates/wifi-densepose-privshield: deterministic, dependency-free, WASM-ready pure-compute leaf implementing the attacker-vs-protector experiment, the four compliant controls, a throughput model, a machine-checkable "not jamming" compliance audit, and a pinned witness. 29 tests + doctest pass; clippy -D warnings clean; builds for wasm32-unknown-unknown. - docs/research/privacy-shield: 8-file research bundle (SOTA, threat model, design, compliance/regulatory, experiment protocol, market, roadmap). - docs/adr/ADR-288: formal decision record. Reference results (SYNTHETIC / L0, N=16 identities): passive re-ID accuracy 100% shield-off -> 7.8% shield-on (chance 6.25%); modeled throughput ratio 98.0%; emission energy ratio 1.000000 (compliant). All defense numbers are SYNTHETIC until a two-node hardware capture with a witness exists. Compliant waveform controls only; never jamming (47 U.S.C. 333/302a analysis in the bundle). Co-Authored-By: claude-flow <ruv@ruv.net> Claude-Session: https://claude.ai/code/session_01WEXNqzs7UsfNFBcP5yW21p
wifi-densepose-privshield — VEIL
VEIL (Verifiable Emission-shaping for Identity-Leakage prevention) is the compliant-waveform countermeasure counterpart to BFLD (ADR-118/121). BFLD detects when beamforming feedback becomes identifying; VEIL acts — it shapes a node's own outgoing beamforming feedback so that an unauthorized passive sniffer cannot re-identify people or infer activity, while a legitimate receiver (which shares the per-session key) sees an essentially unchanged link.
This crate is a deterministic, dependency-free, WASM-ready reference and
experiment — not a radio driver. It never emits RF. Every number it prints is
SYNTHETIC, reproduced by cargo test -p wifi-densepose-privshield.
See ADR-288 and the research bundle.
The idea
Identity leaks through the fine cross-subcarrier phase structure of a compressed beamforming report; data throughput rides the dominant beam direction. These live in (mostly) separable subspaces. VEIL composes extra keyed Givens rotations — the exact primitive the report is already built from — over the fine subspace only:
| Property | Consequence |
|---|---|
| Orthogonal (energy-preserving) | No added transmit power ⇒ not jamming (47 U.S.C. §333/§302a) |
| Keyed per session | The legitimate AP inverts it ⇒ throughput preserved |
| Fresh each session | A sniffer sees a different rotation every time and can't average it back ⇒ re-identification collapses to chance |
Result (default synthetic scene, N = 16 identities)
| Metric | Shield off | Shield on |
|---|---|---|
| Passive re-ID accuracy | 100% | 7.8% (chance = 6.25%) |
| Link throughput ratio | 100% | 98.0% |
| Emission energy ratio | — | 1.000000 (compliant) |
Threat model & scope (stated plainly)
VEIL defends against a third-party passive sniffer capturing plaintext beamforming feedback. It does not hide identity from the AP a node is associated with (that party holds the key by construction) — that is BFLD's detection/policy problem, not this shield's. It is compliant by construction: it only shapes the node's own standards-conformant frames, never transmits to interfere with another station, and never operates an unauthorized emitter. It is not jamming, not RF denial, and not a claim of camera-grade anything.
Run it
cargo test -p wifi-densepose-privshield --no-default-features
Modules
| Module | Purpose |
|---|---|
prng |
Deterministic, WASM-safe PRNG + key derivation |
linalg |
Givens-rotation vector algebra |
identity |
SYNTHETIC two-subspace beamforming-feedback model |
protector |
The compliant waveform controls (the shield) |
attacker |
Passive re-identification adversary |
throughput |
Link-throughput model |
compliance |
Machine-checkable "not jamming" audit |
experiment |
Attacker-vs-protector head-to-head |
proof |
Byte-stable deterministic witness |