Security
Your data stays yours
Isolation is enforced by the database, not by remembering to filter.
One tenant cannot see another
Every table that belongs to a customer carries a tenant id and a row-level security policy enforced by PostgreSQL itself. The application connects as a role that cannot bypass it. A query that forgets its filter returns zero rows — not somebody else’s data.
That distinction matters. Isolation implemented as a convention in application code works until the one query that forgets. Isolation implemented in the database works even then, and it is tested on every deploy.
Every change is recorded
Mutations write an audit entry: who, what, before and after. Money paths are stricter still — hours, prices and rates are snapshotted onto the record at the time, so a rate change next year cannot silently rewrite last year’s job.
Deliberate refusals
- Deletion of financial history is not offered. A void is a record of a correction, not an erasure.
- Customer-facing document pages are noindex and send no referrer, so a shared link cannot leak into a search index.
- Unknown hostnames and direct-IP requests are refused at the edge rather than served a default site.
Not yet claimed
IndustryWRX has not launched, and this page will not claim a certification it does not hold. There is no SOC 2 report today. When there is, it will be named here with its date and its auditor — and not before.
