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.