Aperium always respects the underlying system’s permissions first. Whatever a user can do in Salesforce, NetSuite, BigQuery, Google Workspace, or any connected system is the ceiling on what they can do through Aperium. Group policies can only make that ceiling more restrictive, never less. If someone has no access to a record in the source system, no Aperium policy grants it.
Roles
Aperium has three system roles, defined in code. Tenant-custom roles are deferred, so this set does not change per tenant.Roles are additive grants, not a single value
A user does not have one role — they hold a list of role assignments. Each grant is scoped to a specific tenant, or is platform-wide, and carries who granted it, when, an optional reason, and an optional expiry. A user can hold several grants at once. You manage them per member on the Member detail page: a Role assignments list where you Grant and Revoke individual grants, each tagged with its tenant or “platform.” See Members.The Access hub
Workspace › Access is a set of tabs, each gated by its own capability, so an administrator only sees the tabs their role reaches.Two kinds of “group”
The word “group” refers to two distinct things in Aperium. They are never merged.- Permission groups are native Aperium groups that carry MCP policies. Membership is native and manually granted — an administrator adds or removes a member from a group. See Permission groups.
- IdP groups are a read-only snapshot of the groups your identity provider reported on a user’s sign-in token. They are shown separately on the member’s detail page, with a “last reported” time, and are never editable in Aperium.
Policies
A policy is the set of rules on a permission group deciding what its members can do on each MCP server. Each policy controls two things per server:- Access level. None, Read, or Read + write. Write implies read.
- Scope rules. For connectors that expose multiple distinct units (BigQuery datasets, Postgres schemas, GCS buckets), allowlist exactly which units the group may query.
How effective access is calculated
When a user makes a request, Aperium combines every signal that applies:- The upstream system’s own permissions come first. Every tool call runs against the connected system using credentials with their own access controls. Aperium can only narrow that, never widen it.
- Admins bypass group policy. A
tenant_adminorsuper_adminis not bounded by permission-group policy inside Aperium (they are still bounded by the upstream credentials). - For everyone else, Aperium gathers the policies of every permission group the user belongs to.
- Across those groups it takes the most permissive access level — if any group grants Read + write on Salesforce, the user gets Read + write on Salesforce.
- Scope rules merge the same way: every unit allowlisted by any group becomes accessible.
- Operational gates still apply. A disabled server, or one requiring personal credentials the user hasn’t linked, still fails regardless of policy.
Where to go next
1
Build permission groups and policies
See Permission groups.
2
Manage members and their roles
See Members.
3
Preassign access for new hires
See Preassignments.
4
Review policy changes
See Policy audit.