
A multi-tenant platform with security enforced in the database
One codebase, many client organisations, and access rules that live in Postgres rather than in application logic.
Objective
Octillion works with client organisations whose data must never meet. Enforcing that in application code alone was not a risk they were willing to carry.
They also needed a distributed team to see the same state without refreshing.
Solution
Access control is enforced by row-level security in Postgres, written as code, reviewed, and tested with fixtures per role — including on tables described as internal-only.
Migrations live in version control and are applied in CI; nothing in production was applied by hand, and the restore path is rehearsed rather than assumed.
Realtime features carry defined conflict behaviour, and analytics reads are separated from the transactional load.
Outcome
Tenant isolation is a database property rather than a code review promise, which is what made the platform acceptable to their clients.
The team sees shared state live, and the analytics load no longer competes with transactions.
What’s next
Per-tenant audit exports, and vector search over client documents in the same database.
“Our clients asked how isolation was enforced. The answer being 'in Postgres' ended the conversation.”Octillion GlobalProduct lead

