HOW IT WORKS
How controlled substitution works
The problem is keys in model context. Controlled substitution keeps the secret in the vault and injects it server-side at use time — so the model never sees the raw value in the prompt.

THE IDEA
Reference in, value out of band
- Problem
Pasted keys sit in prompts, provider logs, and chat history.
- Model
Agent or tool asks Joyst to use a named secret; Joyst substitutes the value where needed.
- Goal
Keys never enter model context.
GUARANTEES AND LIMITS
Be precise
- Design goal
Keep raw secret values out of the prompt the model sees.
- Server-side helper
Substitution happens in Joyst's controlled path — not by asking the model to remember a key.
- Not a universal proxy
Joyst is not an MCP gateway for all traffic; this is the secrets special case.
- Confirm runtime
Exact injection surfaces can vary by release — treat guarantees as product intent pending herdl/codex confirmation.
IN PRACTICE
Controlled substitution — from vault to call
- Store
Secret lives encrypted in the vault.
- Permission
Caller must be allowed to use the secret.
- Request
Tooling references the name (for example in authorised HTTP helpers).
- Substitute
Value applied server-side; model context stays clean.
Resources hub
Resources hubSecrets vault
Secrets vaultAdd and use secrets
Add and use secretsStop pasting keys how-to
Stop pasting keys how-toCreate an agent package
Create an agent packageAgents
AgentsStop pasting blog
Stop pasting blogControlled substitution FAQ
No. Env vars still risk ending up in prompts. Substitution keeps the value in the vault path.
It should not — tools that need auth should receive credentials out of band.
Yes — confirm exact runtime behaviour with herdl/codex before hard compliance claims.