You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(permissions): clarify View/Modify All × OWD interaction and posture-gated RLS bypass (#3008)
Answers the #3005 clarification: under public_read_write the sharing
baseline is already org-wide, so viewAllRecords has nothing to widen on
that layer; and the super-user RLS short-circuit is posture-gated
(ADR-0066 D2 revised ①) — on ordinary tenant business objects the
member_default owner-scoped write policies still narrow org_member
holders even when modifyAllRecords is granted. Neither bit is an
enterprise capability; only the hierarchy depth scopes are
enterprise-resolved (ADR-0057). Adds the supervisor-writes-all recipe.
Closes#3005
Copy file name to clipboardExpand all lines: content/docs/permissions/permissions-matrix.mdx
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,6 +31,17 @@ ObjectStack's `ObjectPermission` schema defines these boolean flags for object a
31
31
32
32
<Callouttype="tip">
33
33
**Super-user bypass:** When `modifyAllRecords` is set it satisfies write checks (`allowEdit`/`allowDelete`, and the lifecycle class `allowTransfer`/`allowRestore`/`allowPurge`) on any record; `viewAllRecords` (or `modifyAllRecords`) satisfies `allowRead` on any record — both bypass ownership and sharing. See `packages/plugins/plugin-security/src/permission-evaluator.ts`.
34
+
35
+
The bypass is **posture-gated for row-level security** (ADR-0066 D2 ①): RLS
36
+
policies are short-circuited only on objects whose posture permits it —
0 commit comments