Skip to content

Scope Model

Permission grants combine resource, action, and scope. Role assignments can include scope_anchor_group_id when the scope needs a group anchor.

ScopeRuleResult
selfresource.owner_member_id == actor.member_idallowed only for resources owned by the active Member
groupresource.group_id == scope_anchor_group_idallowed only for the exact anchor Group
group_treetarget path equals anchor path or starts with anchor_path + "."allowed for the anchor Group and descendants
spaceresource.space_id == actor.space_idallowed inside the active Space
globaldisabled for normal Membersalways denies with GLOBAL_SCOPE_DISABLED

The group_tree rule is intentionally strict:

target_path = anchor_path OR target_path LIKE anchor_path || '.%'

This avoids matching unrelated paths such as finance-old.

global is reserved for future system-level semantics and always denies for ordinary authorization checks in the current release.