Data Minimization
VCP is designed to transmit the minimum needed. 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.
VCP is designed to transmit the minimum needed. 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. Compatible flows require permission before sensitive data is shared.
Sharing events are designed to be logged so you can see what was shared, when, and with which platform.
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 while compatible flows share derived flags instead of raw details.
health_details: [LOCAL ONLY] → 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 outbound VCP payloads by default.
VCP is designed so private context can stay on your devices unless a separate integration explicitly documents storage or sync. 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 by default. Compatible platforms receive raw R-line data only through explicit opt-in flows.
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.