Skip to main content

Security

Your project data, protected where it counts.

Security here is built into the database and the workflow, not added on top. This page also says what is not done yet, because buyers should know.

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.

What each role can do
RoleEnter claimsCapture evidenceReview claimsOverride checksApprove paymentSee payment figuresShare evidence packsManage the team
Owner / AdminYesNoYesYesYesYesYesYes
Project managerYesYesYesYesYesYesYesNo
Site engineerNoYesNoNoNoNoNoNo
Quantity surveyorYesNoYesYesNoYesYesNo
ReviewerNoNoYesNoNoYesYesNo
FinanceNoNoNoNoNoYesNoNo
ViewerNoNoNoNoNoNoNoNo

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.