Security
Your project data, protected where it counts.
How it is protected
Tenant isolation in the database
Row-level security separates each organization's data in the database itself. A bug in application code cannot read another organization's rows, and automated tests attack the policies for every table.
Roles and project assignment
Seven roles map to a single permission table that the server checks before every action. The database re-checks the role inside every state-changing function.
State changes only through audited functions
Claims, inspections, reviews, decisions, payments and evidence packs can only be changed by database functions that verify role and state and write the audit event in the same transaction.
An audit trail that cannot be edited
Every action, by a person or the system, is recorded in an append-only log. Even an owner cannot update or delete an entry.
Evidence integrity
Files are fingerprinted on arrival, inspected by the server, stored privately and served through short-lived signed links. Trusted metadata is written only by the server.
Sealed evidence packs
A pack's content is frozen and hashed. A trigger blocks any change or deletion. Shared links store only a hash of their token, expire and can be revoked.
Safe invitations
Invitation tokens are random, stored only as hashes, single-use and expire. They can be accepted only by the confirmed email address they were sent to.
Secrets stay on the server
The privileged database key is used only by server code and is never sent to the browser. Responses carry security headers that block framing, MIME sniffing and unnecessary device access.
Who can do what
Seven roles. This table is generated from the same permission table the server checks before every action, and the database re-checks it again inside every state-changing function. People also see only the projects they are assigned to, except owners and finance.
| Role | Enter claims | Capture evidence | Review claims | Override checks | Approve payment | See payment figures | Share evidence packs | Manage the team |
|---|---|---|---|---|---|---|---|---|
| Owner / Admin | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes |
| Project manager | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
| Site engineer | No | Yes | No | No | No | No | No | No |
| Quantity surveyor | Yes | No | Yes | Yes | No | Yes | Yes | No |
| Reviewer | No | No | Yes | No | No | Yes | Yes | No |
| Finance | No | No | No | No | No | Yes | No | No |
| Viewer | No | No | No | No | No | No | No | No |
What we do not claim yet
If your security review needs something on this list, tell us before a pilot. It is easier to plan for early.
Stop paying on trust.
Set up a workspace, add a project and load the Nova Heights demo to walk the whole flow in minutes, or try the live demo first.