Skip to content

Restrict direct evidence reads and verify the published cohort - #69

Merged
criptogus merged 1 commit into
mainfrom
codex/restrict-direct-public-evidence-reads
Oct 24, 2026
Merged

criptogus merged 1 commit into
mainfrom
codex/restrict-direct-public-evidence-reads

Conversation

@criptogus

Copy link
Copy Markdown
Owner

Summary

Publishing the first21 qualified business versions made archive and compatibility rows directly readable by the anonymous database role. The unchanged public-read check rejected both tables.

anonymous visitor
  published-package API/server gate
  exact current metadata + verified plugin archive

direct table reader
  authenticated role + existing row predicates

Restrict only the two SELECT policies to authenticated readers. Keep the allowlist, row predicates, administrator/author permissions and adversarial criteria unchanged. Record the access boundary in an ADR and add a finite publication verifier for21 source-bound metadata/plugin endpoints.

Evidence

  • Before: anonymous-access verification failed on21 archive rows and21 compatibility rows after publication.
    **After:**92-table RLS/anonymous verification passes with the same allowlist;21/21 public metadata and plugin manifests remain accessible with the qualified source/version and exclusive supported model.
  • The native transactional business RLS suite passed36 assertions with rollback, including stronger direct-anonymous-read denials. The two-policy migration was then applied and verified.
  • Project batch10/10 passed, including228 Node tests, strict lint, types, audit, build and generated artifacts. New CLI regressions reject empty/no-op cohorts and report overwrites.
  • Original273-case adversarial contract, raw responses,21 published0.1.4 archives and exact-model qualification remain unchanged.

Merge Danger

Door: two-way

Blast Radius: evidence

Anonymous direct database consumers must use the existing public package APIs. Authenticated row access and server-mediated public metadata/downloads remain available. No approval/publication flags are changed by the migration; no Lovable generation calls.

@criptogus
criptogus merged commit ab77c50 into main Oct 24, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant