RLS suites
RLS suites18
Local pgTAP suites that cover tenant isolation surfaces.
Demo School
School Administrator
What is this page?
This page proves the P0 tenant isolation readiness checklist across withTenant, transaction-local app.tenant_id, forced RLS, non-owner app role, public grant revokes, pgTAP suites, RLS drift audit, platform identity boundaries, support grants, and production data gates.
Use Sev2 if withTenant, transaction-local app.tenant_id, forced RLS, non-owner app role, missing-context fail-closed behavior, public grant revokes, platform identity boundary, RLS audit, pgTAP suite, support access grant boundary, or production-data-blocked boundary is missing; use Sev3 for source, gate, route, or mobile-layout issues; use Sev4 for labels or copy. This panel does not submit a support case.
Sev1: Critical outage or data-risk emergency
Target: 1-hour response, 24/7 paging during pilot
Sev2: Major workflow blocked
Target: 4 business hours
Sev3: Standard product question or non-urgent issue
Target: 1 business day
Sev4: How-to, cosmetic, or future enhancement
Target: 2 business days
These preview controls are placeholders. Real AI answers, search, walkthroughs, and support submission come in later tickets.
Static proof preview
Real notification feeds, delivery, and preferences arrive in a later ticket.
Sam Director
sam.director@otto-fixture.test
Switch local proof role
This changes only the local shell proof. Production role changes remain server-validated future work.
Search is a keyboard-focusable skeleton. No real index or permissioned search results are implemented in this ticket.
P0 tenant isolation blocker
Review the tenant isolation contract, withTenant runtime boundary, forced RLS invariants, RLS audit, pgTAP suites, and production data gates before live school data access.
Otto Demo School
School Administrator ยท Sam Director
P0 tenant isolation blocker
Local readiness proof for withTenant, transaction-local app.tenant_id, forced RLS, non-owner app role, public grant revokes, pgTAP suites, platform identity boundaries, and the gates that block production school data.
Local proof, not production data access
This page does not run a live migration, import production school data, create support grants, or approve tenant data access. It keeps full db:migrate, db:rls:audit, and test:rls checks as activation gates.
RLS suites
RLS suites18
Local pgTAP suites that cover tenant isolation surfaces.
Drizzle migrations
Drizzle migrations26
Migration files that carry schema and RLS history.
Isolation invariants
Isolation invariants8
Rules that every tenant-owned table must satisfy.
Production gates
Production gates6
Items that still block live school data.
Readiness sources
docs/prd/34-technical-architecture.md
docs/prd/33-data-model.md
docs/prd/52-build-plan-for-ai-assisted-development.md
docs/specs/005-drizzle-rls-proof/spec.md
docs/specs/006-tenants-users-roles-permissions/spec.md
packages/db/src/rls-audit.ts
supabase/tests/*_rls_test.sql
AGENTS.md
Isolation invariants
Coverage map
Runtime guards
Activation gates
Proof boundary