Legal
Data Security
Last updated 17 September 2026
How workspaces are kept apart, and what happens if something goes wrong.
Isolation between workspaces
Every workspace's data is separated at the database level by row-level security, enforced by PostgreSQL rather than by application code. The application connects with a role that cannot bypass it. A missing filter in a query therefore returns nothing rather than somebody else's records.
Within a workspace, a job worker sees only the records their own company is a party to, not your other vendors, your customers, or your rates with anyone else.
Passwords and sessions
Passwords are hashed with Argon2. Sessions are signed tokens with a fixed algorithm and a short life, carrying the user, the workspace and the company together so that a token can never be reused across workspaces.
The audit trail
Changes are recorded with who made them and when, resolved to readable values at the moment of writing. The stock ledger is append-only and enforced as such by the database: a correction is a reversing entry, never an edit.
Backups
Databases are backed up daily and restores are tested. Backups are encrypted at rest.
Reporting something
If you believe you have found a vulnerability, write to our grievance officer. We will acknowledge within two working days and will not pursue anybody who reports in good faith and does not access other customers' data.