Security

A payroll system holds the most sensitive data a company has.

Salaries, bank details, passport numbers, medical leave. This page describes what Nova HRM actually enforces, in enough detail that your own security people can ask us a hard question about it.

Each company's data is separated at the database level

Every business table carries the company it belongs to, and that scoping is applied automatically on every query rather than remembered by each developer. It is enforced by an architecture test that fails the build if a new table is added without it, so the guarantee does not weaken as the product grows.

Permissions are per module and per action

Access is granted over a module and one of eight actions — view, create, edit, delete, approve, export, print, configure. A payroll officer who can build a salary structure is not thereby able to approve a loan, because those are different modules with different grants.

Self-service does not mean access to everybody's record

An employee's own record is resolved from their login, not from an identifier in the request, so there is nothing to tamper with. The self-service role holds no permissions at all — an employee sees their own record because it is theirs, not because they were granted the staff directory.

The audit trail cannot be edited

Changes are recorded append-only: audit rows reject update and delete at the model, so the log cannot be tidied up after the fact. Posted financial records are immutable too — a correction is a reversal or an adjustment, never an in-place edit.

Sensitive fields stay out of the audit log

Passport numbers, bank details and similar fields are explicitly excluded from auditing, so the log does not quietly become a second, less-protected copy of the data it is meant to watch over. Telephone numbers and account identifiers are masked by default in the interface, and revealing one is itself a permissioned act.

Approvals have a real authority model

Who may sign an approval is decided in one place, so the policy and the workflow engine cannot drift apart. Configuring a route cannot hand somebody an authority the permission system withheld.

See it with your own numbers

We will walk you through a pay run using your salary structures and your chart of accounts.