Isolation & audit

The database refuses cross-tenant reads

Row-Level Security is FORCED on every tenant table — the rule binds even the table owner, not just application code.

EstiWright — PostgreSQL
ALTER TABLE requirements ENABLE ROW LEVEL SECURITY;
ALTER TABLE requirements FORCE ROW LEVEL SECURITY;
RLSPostgreSQL

A hand-built mock in the site theme, modelled on the real screen and populated with our demo tenant's data — not a screenshot. Hover to pause.

More in Isolation & audit

Keep going

EstiWright — Database role
app_rw · BYPASSRLS ?false
app_rw · table owner ?false
cross-tenant SELECT ?0 rows

The app can't opt out

EstiWright connects as a non-owner role with no BYPASSRLS. Even a bug in application code cannot return another tenant's rows.

EstiWright — Every request
BEGIN;
SELECT tenant_session('org_3366ddeb…');
-- queries now scoped to this org only
COMMIT;

Tenant pinned per transaction

The active tenant is set inside the transaction, so a pooled connection can never leak one tenant's scope into another's request.

EstiWright — Service API Keys
ew_live_9f3c… (shown once) active
stored as plaintext?sha256 hash
ew_live_1a77… activerevoked

Integration keys shown once

Mint a service key and you see the plaintext exactly once — only a SHA-256 hash is stored. Revocation is immediate.

See this on your own tender.

We'll run your RFP through the same pipeline and show you the output.