Security, Evidence & Compliance
Relevant source files
The following files were used as context for generating this wiki page:
RuView implements a "fail-closed" security and evidence posture to govern its camera-free RF perception system. The system replaces visual monitoring with privacy-preserving WiFi sensing while enforcing strict verification pipelines through deterministic proofs, hardware witness bundles, and code-level guardrails. All capability claims must be backed by measured evidence rather than synthetic projections or unverified builds.
Sources: AGENTS.md:7-13, harness/ruview/src/tools.js:7-11, CLAUDE.md:14-22
Trust Pipeline & Verification
RuView utilizes a multi-stage trust pipeline to ensure system integrity after changes. This pipeline includes Rust workspace tests, deterministic Python proofs (functioning as a Trust Kill Switch), and firmware hash manifests.
The Deterministic Proof (Trust Kill Switch)
The project uses a reference CSI signal fed through the production pipeline to generate a SHA-256 hash. Any drift in system behavior changes the hash, causing the verification to fail.
The diagram shows the deterministic verification flow where reference data must produce a consistent cryptographic signature.
Sources: plugins/ruview/skills/ruview-verify/SKILL.md:16-20, harness/ruview/src/tools.js:150-160
Witness Bundles (ADR-028 / ADR-115)
Verification results are aggregated into witness bundles. These bundles allow external recipients to verify implementations end-to-end without trusting the provider.
| Artifact | Content / Purpose |
|---|---|
WITNESS-LOG.md | Attestation matrix providing evidence per capability. |
source-hashes.txt | SHA-256 hashes of all critical source and firmware files. |
rust-tests.log | Full output of workspace test suites (1,400+ tests). |
VERIFY.sh | One-command self-verification script for bundle recipients. |
Sources: plugins/ruview/skills/ruview-verify/SKILL.md:32-45, scripts/witness-adr-115.sh:14-25
Data Privacy & Integrity
RuView enforces strict boundaries to prevent the leakage of sensitive data. The system defaults to read-only access and least authority for all network, hardware, and file operations.
Privacy Guardrails
- No Visual Data: The system explicitly prohibits camera-grade sensing claims.
- Data Isolation: Secrets,
.envfiles, raw agent transcripts, and personal CSI data must never be committed to the repository. - Fail-Closed Operations: Tools like
ruview_claim_checkreturn errors for empty inputs to prevent passing honesty gates by default.
Sources: AGENTS.md:14-20, CLAUDE.md:14-19, harness/ruview/src/tools.js:139-148
Security Scanning
Security reviews are mandatory for modules touching hardware or network boundaries. The system utilizes automated tools for scanning:
npx @claude-flow/cli@latest security scan
Sources: plugins/ruview/skills/ruview-verify/SKILL.md:62-64, CLAUDE.md:103-105
Contributor & Agent Policy
The repository operates under a strict Codex/Claude contract. All process, network, hardware, and FFI inputs are treated as untrusted evidence.
Authority Boundaries
- Read-Only by Default: Guidance, diagnostics, and brain searches are read-only.
- Mutation Guards: Workspace writes require both
--allow-writeand--confirmflags. - No Self-Promotion: Evolution through "Darwin/Flywheel" learning is proposal-only; CI cannot self-promote or publish candidates without maintainer approval.
This sequence illustrates the requirement for dual-flag authorization before the harness allows workspace mutations.
Sources: AGENTS.md:14-22, AGENTS.md:69-80, CLAUDE.md:55-64
Compliance & Evidence Labeling
Accuracy and performance claims must be categorized to maintain transparency regarding the source of the data.
| Label | Requirement |
|---|---|
MEASURED | Requires a documented reproducer. |
CLAIMED | Stated capability without a full reproducer provided in context. |
SYNTHETIC | Data derived from simulators or theoretical models. |
HARDWARE | Requires captured boot/runtime logs from real silicon (e.g., ESP32-S3). |
Sources: AGENTS.md:21-25, CLAUDE.md:20-22, harness/ruview/src/tools.js:129-132
Summary
Security in RuView is achieved by treating all external input and generated proposals as untrusted evidence until verified by the deterministic trust pipeline. By enforcing fail-closed tool behaviors and requiring cryptographic witness bundles for all releases, the system ensures that RF perception capabilities remain privacy-compliant and technically verifiable across all deployment environments.
Sources: harness/ruview/src/tools.js:7-12, scripts/witness-adr-115.sh:230-245