Skip to content

docs(security): sync hand-written docs + data skill to ADR-0056 landings - #2075

Merged
os-zhuang merged 1 commit into
mainfrom
claude/lucid-gauss-t7dd3z
Jun 20, 2026
Merged

docs(security): sync hand-written docs + data skill to ADR-0056 landings#2075
os-zhuang merged 1 commit into
mainfrom
claude/lucid-gauss-t7dd3z

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Why

The nine ADR-0056 PRs (#2054, #2058, #2062, #2064, #2065, #2069, #2070, #2071, #2073) all merged — but across that entire range only one doc line was updated (the email-RLS note in #2054). The hand-written security docs and the objectstack-data authoring skill therefore describe the old/incomplete model. This PR brings them in line with what actually shipped and is dogfood-proven.

There are no showcase skills (examples/app-showcase has only docs guides, no skills/), so nothing to update there.

What changed

FileCorrectionSource
guides/public-forms.mdxPublic forms now self-authorize via a declaration-derived publicFormGrant (create + read-back on the form's target object). A guest_portal profile is no longer required — retained only for back-compat (hooks detecting a guest via falsy ctx.user?.id).Option A / #2073
concepts/implementation-status.mdxCorrected the "anonymous traffic bypasses enforcement" posture (boot warning lands in D2; public forms no longer depend on the fall-open; the default-deny flip is release-gated). Marked OWD/sharing-model enforcement, the sharing-rule evaluator, and the app-declarable default profile as live.D1/D2/D6/D7
guides/security.mdxSame anonymous-posture fix; documented the role_and_subordinates sharing recipient (configurable role-hierarchy widening).D2/D6
guides/cheatsheets/permissions-matrix.mdxobject.sharingModel now accepts the canonical OWD vocabulary (private/public_read/public_read_write/controlled_by_parent) alongside the legacy read/read_write/full spellings.D1
skills/objectstack-data/SKILL.mdCorrected the RLS section from an unenforced object-level CEL predicate/os.user.* form to the enforcedrowLevelSecurity policy shape (using/check + current_user.* placeholders, incl. the new current_user.email); flagged the object-level rls config as experimental.#2054 / D8

Not touched (already accurate)

Verification

Edits are pure markdown/MDX content, cross-checked against the merged source: object.zod.tssharingModel enum (D1), plugin-sharing/rule-hooks.ts (afterInsert/afterUpdate evaluation), rest-server.ts + security-plugin.tspublicFormGrant short-circuit (Option A), and default-permission-sets.tscurrent_user.* policies.

🤖 Generated with Claude Code


Generated by Claude Code

The nine ADR-0056 PRs merged but updated only one doc line (the email-RLS
note in #2054). This brings the hand-written security docs and the data
authoring skill in line with what actually shipped and is dogfood-proven:
- public-forms: public forms are now self-authorizing via a declaration-
derived `publicFormGrant` (create + read-back on the form's target
object). A `guest_portal` profile is no longer required — it is retained
only for back-compat (hooks detecting a guest via falsy `ctx.user?.id`).
(ADR-0056 Option A, #2073)
- implementation-status + security guide: corrected the "anonymous traffic
bypasses enforcement" posture (boot warning lands in D2; public forms no
longer depend on the fall-open; the default-deny flip is release-gated);
marked OWD/sharing-model enforcement, the sharing-rule evaluator, and the
app-declarable default profile as live.
- security guide: documented the `role_and_subordinates` sharing recipient
(configurable role-hierarchy widening, D6).
- permissions-matrix: `object.sharingModel` now accepts the canonical OWD
vocabulary (`private`/`public_read`/`public_read_write`/
`controlled_by_parent`) alongside the legacy spellings (D1).
- objectstack-data skill: corrected the RLS section to the enforced
`rowLevelSecurity` policy shape (`using`/`check` + `current_user.*`
placeholders, incl. the new `current_user.email`), and flagged the
object-level CEL `rls` config as experimental (D8).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XVdnfUAx85amkerym26vdx
@vercel

vercelBot commented Jun 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
specReadyReadyPreview, CommentJun 20, 2026 10:50am

Request Review

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation size/m labels Jun 20, 2026
@os-zhuangos-zhuang added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Jun 20, 2026 — with Claude
@os-zhuang
os-zhuang marked this pull request as ready for review June 20, 2026 12:38
@os-zhuang
os-zhuang merged commit eb2961e into mainJun 20, 2026
18 checks passed
@os-zhuang
os-zhuang deleted the claude/lucid-gauss-t7dd3z branch June 20, 2026 12:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationsize/mskip-changesetPR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@os-zhuang@claude