Skip to content

Security

Security architecture

Factual, verifiable design decisions — not badges. Here is how PoolGrowth OS protects tenant data.

Tenant isolation with row-level security

Every tenant table enforces PostgreSQL row-level security with deny-by-default policies. Isolation is covered by an automated cross-tenant test suite that runs on every change.

Server-side authentication

All authenticated routes are gated on the server. There are no edge functions or middleware shortcuts in the authentication path.

Structural cost & note hiding

Customer-portal users have zero row access to internal cost and margin data — hidden at the database layer, not just the interface.

Least-privilege support access

Internal support access to a tenant is time-bound, reason-gated, owner-approved, read-only and denied at read time the moment it expires or is revoked.

Append-only audit trails

Membership, lifecycle, support, billing and approval histories are append-only records with actor and time.

No secrets in the client

Provider credentials and service keys never ship to the browser; secret-shaped values are rejected by database checks.

This page describes the technical architecture of PoolGrowth OS. It is not a compliance certification, and formal legal review applies before any regulatory claims are made for your jurisdiction.