Where the authorization decision lives, whether the model ever participates in it, and how granular the grants are.
Authorization is enforced at the gateway on caller identity, resolved as a strict intersection of key → team → end-user → agent → org permissions, with org as a ceiling. A full-tree search found no in-prompt tool gating — no "only call this if the user is an admin" logic in any system prompt. Deny-by-default holds for unmapped callers. Per-tool granularity exists, but it is opt-in per server: with no allowlist configured, the tool-permission check returns "allow."
The hard part — keeping the model out of the authorization decision — is done correctly. The residual risk is operator misconfiguration: a write or external tool on a server with no tool allowlist is callable by anyone with server access.