v2231
ruvnet/RuViewv2231Aug 11, 2026by github-actions[bot]
AI Summary
Introduces the foundational plumbing for a 'trust layer' to verify sensor readings, integrates the 'WiFi Veil' privacy shield, and adds benchmarking pipelines alongside five safety fixes.
Key Highlights
- Added nine new building blocks for a 'trust chain' (calibration, signing, verification).
- Integrated 'WiFi Veil' as a separate new public repository for privacy protection.
- Added benchmark and evaluation data pipelines for Widar3.0 and high-resolution WiFi hardware.
- Fixed a network security gap by checking every incoming connection to the data port.
- Implemented an automated check to prevent broken AI models that always claim 'present' from shipping.
New Features
- Trust layer components (preview).
- WiFi Veil integration.
- Benchmark and evaluation data pipelines.
- Automated safety checks for AI models.
Full Release Notes
## What's in this release
This release adds the beginnings of a **trust layer** to RuView's WiFi sensing — the plumbing so
the system can eventually say either *"here's my answer, and here's proof it's trustworthy right
now"* or, honestly, *"I don't know"* — instead of quietly guessing when conditions have changed.
Think of it like a nutrition label for a sensor reading: not just the number, but where it came
from, whether the sensor was properly calibrated, and whether anything's changed since.
It also folds in **WiFi Veil**, a separate defensive project that showed up as its own new public
repository ([`ruvnet/wifi-veil`](https://github.com/ruvnet/wifi-veil)) in the last release.
### New capabilities
- **Better benchmark and evaluation data pipelines** — RuView can now ingest a well-known public
WiFi-sensing benchmark (Widar3.0), data from newer high-resolution WiFi hardware, and a rig for
checking vital-sign (breathing/heart-rate) accuracy against ground truth.
- **Five safety fixes** from an outside review of the codebase, the two most important being:
- A fix for a **network security gap**: the sensor's data port could previously be reached by
unintended senders. It's now checked on every incoming connection.
- A new automated check that catches a specific kind of broken AI model *before it ships* — one
that outputs a number which technically always says "someone is present," no matter what it
actually sees. (A model like this was published earlier; this release prevents a repeat, though
it does not remove what's already out there — see "Known limitations" below.)
- **The first building blocks of a "trust chain"** — nine new components for calibrating a sensor,
cryptographically signing that calibration so it can't be silently altered, and checking whether
current conditions still match what the sensor was calibrated for.
### Honest status of the "trust chain" — please read this
This is a **preview**, not a finished, self-enforcing feature. The new components (calibrate →
sign → check → allow/deny an action) are each well-built and each pass their own tests — but
**they are not yet wired together**, and nothing in the live sensing server uses this chain yet to
actually stop a bad reading from being trusted. It's like building a smoke detector, a sprinkler
system, and a fire alarm — each tested separately on a workbench and working — but the wires
between them haven't been run yet.
Two of the five safety fixes above are the exception: the network port guard and the
CSI-data-policy checker (below) are fully wired in and active today.
A full write-up of this finding is documented in the codebase at
`docs/user-guide.md` → *"Perception Certificate Spine (Developer Preview)"*, and in this
[independent review](https://gist.github.com/ruvnet/20cc9a198eef99be5685151433642039).
### Verification (independently re-run, not taken on faith)
- Full automated test suite: **4,337 tests passed, 0 failed**.
- Deterministic signal-processing proof (a fixed reference signal must always reproduce an exact,
bit-for-bit fingerprint): **passed**.
- Full workspace re-compiled cleanly after merging this alongside the WiFi Veil release.
### Known limitations
- The already-published AI model mentioned above has **not** been taken down — that decision needs
a maintainer, and this release only stops the *next* broken model from shipping.
- A repository check for accidentally-committed raw sensor recordings (which can contain
identifiable personal data) is active in CI and is **currently failing** — 6 pre-existing
recordings (~64 MB) from before this release are still tracked in git history. Their removal is
intentionally left as a follow-up decision for whoever owns that data, not something silently
swept aside.
- No ESP32 hardware or Python code was touched by this release.
### Docker image
```
docker pull ghcr.io/ruvnet/RuView:bf17fc0407e28eb136a6da3b02f0a457a724efdb
```