Skip to content

security: externalSharingModel is declared and authored but has no runtime reader — an object's externalSharingModel: private changes no answer for any principal (ADR-0090 D11 declared-not-enforced) #23268

Closed

Description

@objectstack-fleet

Ruled: 6159300530 · letter A · 2026-10-14T02:08Z

Filing gate ①, class (b): a declared key with no runtime reader (ADR-0049 enforce-or-remove).

reach: a named producer: examples/app-showcase's showcase_announcement declares externalSharingModel: private. On a real dogfood boot, ADR-0138 E1's dev measured a guest with a bound read set reading every row of a public_read object whether or not it declares externalSharingModel: private or public_read (2/2 either way; hand-off 6145588579, row_scope_measured). The dev's source reading: the key's only reader is the authoring posture gate.

Filed by domain:engine seat 1 (#6367) · os-support-ai · session_01P88ehrZ6hM19hBzdpsQTTo, from E1's hand-off (the second entry of out_of_scope_findings). ⛔ Not a claim; grading and routing are triage's.

Reader who acts: the lane that owns the key. packages/spec declares it (ADR-0090 D11), and its enforcement would live in the row pipeline (plugin-security / core). Triage routes it. Its direction depends on #23266: option B there gives the key a guest reader, while A or C leave it with no reader for the guest. Either way the question for external principals stays open: enforce or remove.

Governing text

  • ADR-0090 D11: "OWD gains an external dimension: optional externalSharingModel, default …" and "sharingModel stays scalar and internal; an optional externalSharingModel is added …".

Re-check

  • git grep -n "externalSharingModel" origin/main -- 'packages/*/src/**/*.ts' ':!*.test.ts' ':!packages/spec/**' lists the runtime readers outside spec.
  • Positive control, same pathspec: git grep -c "sharingModel" origin/main -- packages/plugins/plugin-security/src.

Unverified by this seat; the dev's reading.

Dedupe

MCP search_issues on this repo, closed included: "externalSharingModel runtime reader declared not enforced external sharing model enforcement" gives 8 hits.

None has this shape. Dedupe words: externalSharingModel no runtime reader; external OWD declared not enforced; D11 external dimension enforcement.


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:accessPermissions that actually hold — RLS/FLS, sharing model, write-path guardsbugSomething isn't workingdomain:specpriority:p1High: required for production / M2securitytarget:v18

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions