Disco ParrotDisco Parrot Home
Docs
Request a Demo

Permission scope catalog

Every permission scope Disco Parrot ships, grouped by area, with its danger level and what it lets a holder do. The complete reference behind roles and custom permissions.

A scope is the unit of permission. Every action a person or an agent can take is gated by one, and a role is a bundle of scopes. This page is the complete list: more than 140 scopes, grouped by the area they govern, each one marked with its danger level and a plain description of what it grants. When you are building a custom role and need to know exactly which scope gates an action, or you are reviewing what a role can reach, this is where you confirm it.

The roles and permissions guide explains how scopes work and how to assemble a role; this page is the flat list it points back to. Every entry here is read from the product, so a scope id, its danger level, and its area are the exact values the role editor and the permission check use.

How to read a scope

Every scope shares one shape and carries one danger level, and a few carry a flag worth knowing.

The id. A scope id is lowercase and dot separated, naming a subject and an action. plans.manage is the manage action on plans; audit.export is the export action on the audit log. Some ids qualify the subject further, like secrets.tenant.read or conversations.read.own. The shape is consistent, so once you can read one scope you can read all of them.

The area. Every scope belongs to one of nine areas, which is how this catalog and the role editor group them. The area is a property of the scope, not always a part of its id, so members.read and audit.export both sit in the Tenant area even though neither id begins with the word tenant.

lightbulb

The fastest way to find a scope is to jump to the area that owns it: plans and bugs under Planning, secrets and providers under Platform, members and the audit log under Tenant.

The danger level. Every scope is marked with one of four levels, which the role editor uses to show you the weight of what you are granting.

LevelWhat it meansIn the editorLowroutine, low-risk actions, most readsno special handlingElevatedchanges shared state, like managing membersgranted like any scopeDestructivepermanently destroys datamust be re-checked before savingPlatform-onlyreserved for the platform operatornever allowed in a workspace role
Every scope carries one of four danger levels, and the editor acts on them: a destructive scope must be re-confirmed before a role will save, and a platform-only scope can never enter a workspace role at all.
  • low covers reading and self-service. Listing plans, viewing the plan and entitlements, managing your own sessions. The blast radius is small.
  • elevated covers privileged writes. Creating and editing records, managing members, running flows, rotating secrets. Most management scopes sit here.
  • destructive covers the irreversible. Exactly three scopes carry it: tenant.delete deletes the workspace, members.remove revokes a member's access, and pr.merge merges straight to the default branch. The role editor asks you to confirm these before they go onto a custom role.
  • platform-only is operator territory. Exactly one scope carries it, and it can never be granted to a workspace role.

The flags. Three optional markers change how a scope is checked, and the flag reference at the end lists exactly which scopes carry each one.

  • A scope that needs an entitlement is inert unless your commercial plan includes it, even when a role grants it.
  • A self-only scope acts only on your own records. Your sessions, your notifications, your conversations.
  • A resource-scoped scope is checked against a specific project, portfolio, team, or profile rather than the whole workspace, so a grant reaches only the resources you have access to.
The id names a subject and an actionsecretssubject.tenantwhich secrets.readactionPlus three things attached to the scope, not part of its idAreawhich group it belongs to, such as PlatformDanger levellow, elevated, destructive, platform-onlyFlag, sometimesneeds an entitlement, self-only, or per-resource
A scope id names a subject and an action. On top of the id, every scope carries an area and a danger level, and a few carry a flag that narrows how the grant is checked.
add_photo_alternate
Screenshot to capture
The Scopes section of the custom role editor, scopes grouped into area sub-sections with headings like Planning and Platform Admin, each heading followed by a selected count such as 3 of 14 selected. Each scope is a row with a checkbox on the left, a plain-language label and one-line description, the scope identifier in monospace such as plans.manage on the right, and small outline danger badges reading low, elevated, or destructive, with some rows also carrying a self-only or per-resource badge. A filter input sits in the section header.
save as: public/docs-media/scope-picker-grouped-by-area.png
Caption when added: The scope picker in the role editor, where every scope on this page appears under its area with its danger level shown as a badge.

The nine areas

Scopes are grouped into nine areas, which is also how the role editor lays them out.

AreaWhat it governs
TenantWorkspace identity, members, invitations, domains, roles, the audit log, licensing, and AI spend.
AuthYour own identity: linked logins, sessions, preferences, and the workspaces and invitations addressed to you.
PlatformThe platform admin surface: AI and repo providers, MCP, SDK configs, skills, sandbox profiles and hosts, secrets, integrations, agent instructions, commands, and docs.
PlanningThe work itself: initiatives, plans, projects, portfolios, teams, sprints, reports, goals, bugs, test cases, documents, flows, workflows, and PR review.
MembershipThe per-resource grant tiers for a single team, portfolio, or project.
Chat and sandboxChat, the sandbox lifecycle and IDE access, sessions, background tasks, and shipping a pull request.
NotificationsYour own notifications, watching entities, and test sends.
EventsThe unified real-time event stream.
OperatorPlatform-wide operator endpoints, never granted to a workspace role.

Tenant

Workspace identity, the people in it, and the records that govern it.

ScopeDangerWhat it lets a holder do
tenant.readlowView workspace details and settings.
tenant.createlowCreate a new workspace.
tenant.updateelevatedRename the workspace and change its settings.
tenant.deletedestructivePermanently destroy the workspace and all its data.
members.readlowList the workspace's members.
members.inviteelevatedCreate, list, and revoke invitations.
members.manageelevatedChange another member's role assignments.
members.removedestructiveRevoke another member's access.
members.leave.ownlowLeave the workspace, for a non-owner.
domains.readlowList the claimed email domains.
domains.manageelevatedClaim, verify, and remove domain claims.
roles.readlowView the built-in and custom role definitions.
roles.manageelevatedCreate, edit, and delete custom roles.
audit.readelevatedRead the workspace audit log.
audit.exportelevatedDownload the audit log. Needs the audit export entitlement.
licensing.readlowView the plan, entitlements, and quotas.
ai-spend.readelevatedView AI usage, spend, and budgets.
ai-spend.manageelevatedManage AI cost centers, allocations, and budgets.
ai-spend.exportelevatedDownload AI usage and spend. Needs the AI spend export entitlement.

Auth

Your own identity and account, always self-only.

ScopeDangerWhat it lets a holder do
me.identities.managelowLink, unlink, and merge your own logins.
me.sessions.managelowList and revoke your own sessions.
me.preferences.managelowUpdate your own profile, notification settings, and preferences.
me.tenants.readlowList your workspaces and switch the active one.
me.invitations.readlowList invitations addressed to you.

Platform

The admin surface: providers, repositories, MCP, SDK configs, secrets, sandbox profiles and hosts, and the workspace's agent instructions, commands, and docs. The read scopes are low; the manage scopes that change shared configuration are elevated.

ScopeDangerWhat it lets a holder do
area.platformlowSee and navigate the Platform area.
providers.readlowList the configured AI provider records.
providers.health.testlowRun provider health and connectivity tests.
repositories.readlowList the connected code repositories.
repositories.manageelevatedConnect, edit, and remove code repositories.
repo-providers.readlowList the git provider links.
repo-providers.manageelevatedConfigure repo provider credentials and links.
mcp.readlowList the MCP server configurations.
mcp.manageelevatedCreate, edit, delete, and test MCP servers. Needs the custom MCP entitlement.
mcp.auth.tenant.manageelevatedRun an OAuth or device-code flow for a workspace-wide MCP credential.
mcp.auth.user.managelowManage your own MCP credential.
sdk-configs.readlowList SDK configs and the SDK catalog.
sdk-configs.manageelevatedCreate, edit, delete, and test SDK configs.
status-skills.readlowList the status-scoped skill bindings.
status-skills.manageelevatedBind and unbind status-scoped skills. Needs the skill templates entitlement.
sandbox-profiles.readlowList sandbox profiles and presets.
sandbox-profiles.manageelevatedCreate, edit, delete, and test sandbox profiles.
sandbox-profile.uselowLaunch a sandbox from a profile. Checked per profile.
sandbox-profile.acl.manageelevatedEdit a profile's allowed users and roles.
hosts.readlowList the bring-your-own sandbox hosts and their status.
hosts.manageelevatedRegister, edit, and delete hosts, and download operator bundles.
secrets.tenant.readelevatedList the workspace's secret references. Values are never returned.
secrets.tenant.manageelevatedCreate, update, and delete workspace secrets.
secrets.user.managelowCreate, update, and delete your own secrets.
integrations.readlowList the configured integrations.
integrations.manageelevatedConfigure, validate, and delete integrations.
integrations.user-credential.managelowSet and remove your own integration credential.
agent-instructions.readlowView the workspace agent instructions.
agent-instructions.manageelevatedEdit the workspace agent instructions.
commands.readlowView the workspace's command overrides.
commands.manageelevatedAuthor, edit, and delete command overrides.
platform-docs.readlowView the workspace's platform docs.
platform-docs.manageelevatedEdit and remove the workspace's platform docs.
onboarding.readlowList and view onboarding checklists.
onboarding.manageelevatedCreate, analyze, reset, and delete onboarding checklists.
notifications.tenant-prefs.manageelevatedRead and write the workspace's default notification preferences.

Planning

The work model and everything that acts on it. Project, portfolio, and sprint scopes are checked against the resource you are reaching.

ScopeDangerWhat it lets a holder do
area.planninglowSee and navigate the Planning area.
initiatives.readlowList and view initiatives.
initiatives.manageelevatedCreate, edit, delete, and restore initiatives.
initiatives.sync-specelevatedRun the spec-sync flow against an initiative's document provider.
plans.readlowList and view plans.
plans.manageelevatedCreate, edit, delete, and restore plans.
projects.readlowList and view projects. Checked per project.
projects.manageelevatedCreate, edit, delete, and restore projects. Checked per project.
projects.members.manageelevatedAdd, remove, and re-role project members, and transfer project ownership.
portfolios.readlowList and view portfolios. Checked per portfolio.
portfolios.manageelevatedCreate, edit, archive, delete, and restore portfolios. Checked per portfolio.
teams.readlowList and view teams.
teams.manageelevatedCreate, edit, and delete teams.
teams.members.manageelevatedAdd, remove, and re-role team members, and transfer team ownership.
sprints.readlowList and view sprints.
sprints.manageelevatedCreate, edit, and delete sprints. Checked against the sprint's team.
reports.readlowView reports.
reports.manageelevatedTrigger snapshot capture and manage saved reports.
reports.saved.managelowSave, rename, and delete your own report dashboards.
reports.saved.sharelowShare a saved report dashboard with its teams.
dashboards.managelowSave, rename, and delete your own multi-panel dashboards.
dashboards.sharelowShare a saved dashboard with its teams.
goals.readlowView goals and key results.
goals.manageelevatedCreate, edit, and delete goals and key results, and link entities.
bugs.readlowList and view bugs.
bugs.manageelevatedCreate, edit, decline, restore, and delete bugs, and run AI triage.
test-cases.readlowList and view test cases.
test-cases.manageelevatedCreate, edit, delete, and restore test cases.
documents.readlowList, view, and download documents.
documents.manageelevatedUpload, edit, version, restore, attach, and detach documents.
threads.readlowRead discussion threads on accessible records.
threads.managelowStart, reply, close, reopen, and retitle discussion threads.
doc-providers.readlowList document providers and browse their files.
doc-providers.importelevatedImport documents from a connected provider.
flows.readlowList flow templates, instances, and schedules.
flows.manageelevatedCreate, edit, customize, and delete flow templates.
flows.runelevatedStart, resume, retry, and checkpoint flow instances.
flows.cancel.anyelevatedCancel a running flow regardless of who started it.
workflows.readlowView the status workflow definitions.
workflows.manageelevatedEdit the status workflow definitions.
pr-review.readlowView a plan's pull-request metadata, diffs, and review signals.
review-findings.readlowList PR and plan review findings.
review-findings.manageelevatedEdit, delete, and dispatch fix flows for review findings.
doc-proposals.readlowList documentation-review runs and their proposed edits.
doc-proposals.reviewelevatedAccept, reject, and apply documentation proposals.
link-pr.manageelevatedAttach a pull request to a plan or bug and update its status.

Membership

The per-resource grant tiers for a single team, portfolio, or project, each checked against that resource. They stack: view, then contribute, then plan.

ScopeDangerWhat it lets a holder do
team.viewlowView a team's details and roster.
team.contributeelevatedComment on and edit a team's existing content.
team.planelevatedAdd and remove team members and edit team settings.
portfolio.viewlowView a portfolio's details, projects, and goals.
portfolio.contributeelevatedComment on and edit a portfolio's existing content.
portfolio.planelevatedLink and unlink projects and edit portfolio settings.
project.viewlowView a project's details, plans, and roster.
project.contributeelevatedComment on and edit a project's existing content.
project.planelevatedCreate and edit a project's plans, initiatives, and settings.

Chat and sandbox

Working with the agent, and the sandboxes and pull requests that work produces.

ScopeDangerWhat it lets a holder do
chat.uselowOpen the chat panel and send messages.
chat.background.manageelevatedSend a chat to the background and resume a backgrounded task.
conversations.read.ownlowList and read your own conversations.
conversations.manage.ownlowCreate, edit, and end your own conversations.
conversations.read.anyelevatedRead another member's conversations.
saved-answers.managelowSave and delete answers from Ask.
micro-edit.uselowUse quick-edit for small AI-assisted file changes.
pr.submitelevatedOpen a pull request from sandbox changes.
pr.mergedestructiveMerge a branch directly into the default branch.
sandbox.readlowList sandboxes and their status.
sandbox.manageelevatedPause, destroy, warm, and clean up sandboxes.
sandbox.ide.accesselevatedOpen an IDE session on a sandbox.
sandbox-changes.reviewlowInspect the changed file set in a sandbox.
sessions.readlowList sandbox sessions.
sessions.cancel.ownlowCancel a session you started.
sessions.cancel.anyelevatedCancel any session.
tasks.readlowList and read your own background tasks.
tasks.read.anyelevatedList and read any background task.
tasks.runelevatedStart background tasks.
tasks.cancel.ownlowCancel a task you started.
tasks.cancel.anyelevatedCancel any task.

Notifications

Your own notifications and what you watch.

ScopeDangerWhat it lets a holder do
notifications.read.ownlowRead your own notifications and mark them seen, read, or archived.
notifications.watch.managelowWatch and unwatch entities.
notifications.testlowSend a test notification through a configured channel.

Events

The real-time channel.

ScopeDangerWhat it lets a holder do
events.stream.readlowOpen the unified event stream for your own real-time updates.

Operator

The one operator-only scope. It can never be assigned to a workspace role.

ScopeDangerWhat it lets a holder do
platform.operatorplatform-onlyRun platform-wide operator endpoints. Held outside the workspace role model.

Scopes with a flag

Most scopes are plain workspace-wide grants. These carry a flag that changes how they are checked.

Need an entitlement. These four are inert unless your plan includes the matching entitlement, even when a role grants them: audit.export, ai-spend.export, mcp.manage, status-skills.manage.

info

An entitlement-gated scope on a role is inert until the plan includes the entitlement. The grant is real but does nothing, so a role can list mcp.manage and the holder still cannot manage MCP servers without the custom MCP entitlement.

Act on your own records only. These self-only scopes are satisfied automatically for your own records and reach no one else's: every me.* scope, members.leave.own, mcp.auth.user.manage, secrets.user.manage, integrations.user-credential.manage, conversations.read.own, conversations.manage.own, sessions.cancel.own, tasks.cancel.own, notifications.read.own, notifications.watch.manage, and events.stream.read.

Checked against a resource. These are checked against the specific project, portfolio, team, or profile you are reaching rather than the whole workspace: sandbox-profile.use, projects.read, projects.manage, portfolios.read, portfolios.manage, sprints.manage, and all nine membership scopes (team.*, portfolio.*, project.*). Of these, sandbox-profile.use is the one checked against a list on the profile record itself; the rest are checked against your access to the resource.

One question the catalog answers

A reviewer is handed a custom role called Release Captain and asked a single question: can someone holding it push code straight to the default branch without a pull request? The role lists about forty scopes, and the answer has to come from the catalog, not from trust.

They scan the Chat and sandbox area for the branch-affecting scopes and find three. pr.submit, elevated, opens a pull request from sandbox changes. pr.merge, destructive, merges a branch directly into the default branch, with no review step in between. sandbox.ide.access, elevated, opens an IDE on a sandbox. The Release Captain role carries pr.submit and sandbox.ide.access but not pr.merge. The question is answered: this role can open a pull request and work in a sandbox, but the one scope that bypasses review is absent, and its destructive level is why it stood out on the list in the first place.

That is the catalog working as a review surface. The danger level draws the eye to the scope that matters, the description says exactly what it grants, and a role's reach is a reading of its scope set rather than a judgment call.

Why the catalog is shaped this way

The model is legible because there is no hidden layer. Every action the product or an agent can take resolves to one of the scopes on this page, the same scope the route checks and the role editor shows, with no separate rulebook behind it. That is why the catalog can be exhaustive: there is nothing to leave out, because a capability that is not a scope is not a capability. When you read that a role grants bugs.manage and not pr.merge, you know exactly what it can do with a bug and what it cannot do to a branch.

The danger levels are the other half of the design, and they exist so a permission decision is a reading task rather than a guess. A scope marked destructive is destructive whoever holds it, and the role editor surfaces that weight at the moment you grant it rather than leaving you to find out later. The same agent that does your work is bound by the same scopes a person is, so the catalog is not only how you reason about your teammates' access. It is how you reason about the agent's.

For an administrator, this is the working surface behind every custom role. When you are deciding what a role should reach, the scope is the unit you grant, and the danger level is how you weigh it. The built-in roles page shows how the eleven shipped roles draw from this same list.

For a power user, the catalog explains why an action is or is not available to you. A control you cannot see is a scope your roles do not carry, and this page names which one.

For an enterprise reviewer, the value is the completeness. A claim about least privilege is checkable only against a full list of what privilege there is, and this is that list: every gateable action, its blast radius, and whether it is gated by a license, your own ownership, or a single resource.

For a prospect, the takeaway is the shape. A platform that lets agents act on your work has to answer one question: what exactly can act, and on what. A model where every capability is one named, leveled scope answers that with a list you can check, not a reassurance you have to take on faith.