Authorization & policy (Cedar)
Authorization is the core of the gateway. Every discovery request and every tool call is evaluated by the Cedar policy engine against four inputs: the principal (user or agent), the action (discover, call, …), the resource (server, tool, or generated API operation), and the context (environment, client surface, credential mode, delegation).
The decision is default‑deny
Section titled “The decision is default‑deny”- Explicit deny wins. A matching
forbidoverrides anypermit. This is how break‑glass and revocation take effect immediately. - Explicit allow permits. A matching
permitwith no overridingforbidlets the call proceed. - Default deny. Anything not explicitly allowed is denied — and not just refused at call time.
Discovery is policy‑filtered
Section titled “Discovery is policy‑filtered”A denied tool isn’t shown as locked — it is absent from discovery entirely. Two agents pointed at the same gateway can see two different catalogs. This means an agent can’t even learn that a capability exists unless policy allows it, which removes a whole class of enumeration and social‑engineering risks.
Policies are versioned
Section titled “Policies are versioned”Policies move through a lifecycle — draft → validate → publish, with archive and supersede. Every authorization decision records the policy version that produced it, so an audit event is always attributable to an exact, immutable policy. See Simulate a policy decision to test changes before publishing.
See it illustrated See default-deny and policy-filtered discovery illustrated, including a tool disappearing when policy changes.Type set in Geist, Source Serif 4, and Departure Mono.