user_123 is, so what it may reach is the application’s set, not a level.
One level, inherited
Every person has an access level, and it is the first of these that is set:- Their own, on the user.
- The most permissive level among the groups their login carries.
- The gateway’s default access.
Inheritance is what keeps this manageable. Set the gateway default to what most
people should have, override on a few groups, and set almost nothing per person —
a per-user level is an exception that will outlive the reason for it, and nothing
reminds you it exists.
Levels are evaluated on every request, including for sessions already open. On
the data plane a change applies after the next config snapshot, usually within seconds, at most about 5 minutes.
The organization owner is the exception: their level is All, for MCP and
for models, on every gateway, and the panel states it instead of offering the
switch. It moves with ownership.
Grants
A grant makes one server available to the users and groups it names, unless the person’s level is None. It targets either a catalog code — every instance of that server, including instances added later — or one specific instance. Prefer the catalog code unless you mean “this account and not the other one”, because the instance-level grant silently fails to cover the second instance somebody adds next month. Each grant shows whether the server is actually usable: ready when the person will connect their own account on first use, configured when a shared credential is already in place, and needs setup when the server is still waiting for an admin credential. A grant on a server that needs setup is not an error; it just does nothing until someone finishes the registry entry. The same grants are visible from the registry side, which is a view of this — not a second place to set it.Models
On a SaaS gateway, the same panels carry a Models block above the MCP one, with the same three levels, set on users, groups and the gateway default, applied to LLM providers:
Models add up rather than taking the first level set. A person reaches what
their own level, their groups and the default give, together, with three
exceptions:
- Their own None means no models at all.
- Without a level of their own, a group at None wins over their other groups and the default.
- A provider on their own level replaces that provider from their groups and the default, so their own selection of it is the one that counts.