ManagedQA PartnersSee plans

Category 2 of 10

Access control and data isolation

Every read and write is scoped to the user or tenant that owns the data, enforced where the data lives.

v1.0 · verified on 2026-09-21

Isolation is enforced where the data lives. Every item here is run as a second user, because the only proof that a policy works is a foreign read that returns nothing.

AC-01

Every table exposed to the client has row-level security enabled

automated Query the database catalog for tables in exposed schemas and their RLS flag (Supabase, Postgres) or list collections against rules (Firebase).

Pass when

Every exposed table reports RLS enabled; the list of exemptions is empty or each exemption is a public read-only table named in the release notes.

critical
starter, growth, scale
AC-02

Policies deny cross-tenant reads and writes when tested as another user

automated For every table or collection, sign in as user A, create a row, then as user B attempt select, update and delete on it through the client API.

Pass when

User B receives zero rows on select and a permission error on update and delete, for every table.

critical
starter, growth, scale
AC-03

Object access checks ownership, not only login

automated For each endpoint or action that takes an id, call it as a logged-in user with an id owned by another user.

Pass when

Every id-bearing endpoint returns 403 or 404 for a foreign id; none returns the object.

critical
starter, growth, scale
AC-04

Admin functions are verified on the server

automated Call every admin route and admin server action as a regular user, with and without an admin flag set in the client state or query string.

Pass when

Every admin route and action rejects the regular user regardless of client-side flags.

critical
starter, growth, scale
AC-05

The client receives only the fields it renders

manual Inspect API responses and the server-component payload for the five most sensitive screens and list every field returned.

Pass when

No password hash, token, internal note, other user's email or billing detail appears in any inspected payload.

high
starter, growth, scale
AC-06

Firebase rules are out of test mode and covered by rules tests

tool Read the deployed Firestore, Realtime Database and Storage rules; run the rules unit tests in the emulator.

Pass when

No rule grants read or write to all users without a condition; the rules test suite exists and passes.

critical
starter, growth, scale

Dots: Starter, Growth, Scale. Compare plan limits.

Failure patterns these items catch

Ask which plan runs these items

Email with your team size, cadence and stacks. We reply within 24 hours on business days.

Other categories