Tenancy & RLS

Isolation test checklist — session/UI today; Postgres RLS when DB lands

SchemaChain tower

Cross-facility isolation is not enforced in the DB yet. Fail results are expected until E2 Postgres + RLS ship.

Chain

CHN-MM-001

Active FAC-WF-001

Pass

2

6 cases

Fail

0

Expect until RLS

Last run

4 skipped
CaseResultLink
Every query scoped by facilityId / chainId
DAL must require tenant predicates — UI filters are not enough.
Skipped/schema
Cross-facility patient read denied
Actor at Facility A cannot load Facility B UHID without grant.
Skipped/patients
Postgres RLS policies on PHI tables
SET LOCAL app.facility_id / JWT claim enforced in DB.
Skipped/schema
Audit rows carry facilityId
Append-only log never omits tenant key.
Pass (stub)/audit
MCP tools tenant-scoped
OAuth subject cannot query another chain.
Skipped
Chain tower roll-up authorized
Chain admin only; facility users see own site.
Pass (stub)/chain-tower