Data Minimization
We never transmit more than necessary. Private details become boolean flags —
platforms see budget_limited: true, not your financial situation.
VCP is designed with privacy as the foundation, not an afterthought. Here's how we protect your data.
We never transmit more than necessary. Private details become boolean flags —
platforms see budget_limited: true, not your financial situation.
You decide what's shared with whom. Consent is explicit and revocable. No data leaves your control without your permission.
Every transmission is logged. You can see exactly what was shared, when, and with which platform — no black boxes.
Every piece of context in VCP has a privacy level that determines how it can be shared.
Information you're comfortable sharing with any platform. Examples: learning goals, experience level, general preferences.
goal: "learn_guitar" experience: "beginner"Sensitive context that influences your experience but is never sent to platforms. Only the resulting flags are transmitted.
health_details: [NEVER TRANSMITTED] → constraint_flag: "energy_variable"The core innovation: your private circumstances become simple boolean flags.
noise_restricted: true No context, no details, just the flagThe platform knows to recommend quiet practice methods. It has no idea why you need them, and it doesn't need to know.
Different stakeholders get different views of your context.
Context is encoded into CSM-1 (Compact State Message) tokens. Private fields are stripped before transmission — they never leave your device.
VCP doesn't store your private context centrally. Your data lives on your devices. We can't leak what we don't have.
The VCP protocol is open and auditable. You can verify exactly how privacy rules are applied — no trust required.
VCP/T defines how constitution bundles are signed, verified, and delivered to LLMs. No unsigned content ever reaches a model.
Every constitution bundle carries an Ed25519 digital signature. The author's public key is pinned in the manifest, so forgery is computationally infeasible.
Content is hashed with SHA-256. The hash is embedded in the signed manifest, binding the signature to the exact bytes. Any tampering invalidates the hash.
Signature verification must pass before content reaches the LLM. If verification fails, the bundle is rejected and the request fails closed -- no fallback to unsigned content.
Manifests carry iat, nbf, exp,
and jti fields. Expired or replayed bundles are rejected,
preventing replay attacks.
The orchestrator acts as a gatekeeper: nothing reaches the LLM without passing cryptographic verification first.
VCP/T is designed to mitigate specific, enumerated threats. Each attack vector has a concrete defense.
Attacker modifies constitution content to inject malicious instructions.
Attacker re-submits a previously valid but now-stale bundle.
iat/nbf/exp) plus unique jti tracking reject duplicates.Oversized constitution monopolizes the LLM's context window.
Author's signing key is stolen or leaked.
Attacker substitutes an older, weaker version of a constitution.
Verification error silently allows unsigned content through.
Layer 3 (the R-line) carries real-time personal state -- cognitive load, emotional tone, energy level. These dimensions require the strongest protections.
Personal state dimensions are stripped from the token before transmission. Platforms never see raw R-line data unless the user explicitly opts in.
When personal state influences constraints, only boolean flags are transmitted -- energy_variable: true, not the underlying condition or intensity.
Personal state carries a TTL (time-to-live). Stale dimensions automatically decay, ensuring outdated state is not retained or acted upon.
Sharing personal state with any platform requires explicit, revocable consent. Each dimension can be consented to individually -- granular, not all-or-nothing.
Watch how different stakeholders see different views of the same context.