
guide
Rollout postures: off, observe, enforce
Rollout postures
RCX is per-request policy: each tool call is checked against short-lived capability tokens scoped to tools, tenant, and tier. Tokens are self-issued locally and offline-verifiable. You choose how much of that machinery is live with a single posture setting.
The three postures
- Off. No policy evaluation. Receipts are still signed and chained; you keep the evidence trail while you decide what policy should say.
- Observe. Every request is evaluated and the verdict is recorded, but nothing is blocked. You get a receipted record of exactly what would have been refused, which is how you tune policy without breaking a working fleet.
- Enforce. Verdicts are applied. Refusals fail closed and mint a signed RefusalReceipt carrying a reason code, so a blocked action is itself evidence, not a silent drop.
Recommended path
- Run observe for a representative period.
- Review the would-refuse receipts in the console; fix over-broad grants first.
- Switch to enforce per tenant or per tool group, not fleet-wide in one step.
Common pitfalls
- Jumping straight to enforce with grants copied from a wish list rather than observed behaviour.
- Treating a RefusalReceipt as an error. It is the system working: the reason code tells you which scope was missing.
- Leaving high-risk verbs in observe forever. Observe is a ramp, not a destination.