Skip to content

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.