01 / PERMISSIONS

Designed to observe your controls, not operate them.

Several of the APIs Verity connects to can isolate a machine, force a reboot, push a patch or start a scan. Verity asks for none of those permissions, so the access it holds cannot change anything in your estate.

No remote action on any device No agent installed on your estate No write-back to any connected system Narrowest read scope the vendor offers

02 / SEPARATION

One client's data cannot reach another's.

Tenant separation is enforced by row-level security in the database rather than by a filter somebody has to remember to write. A query that forgets its scope returns nothing. It does not return somebody else's rows.

  • DatabaseRow-level security on tenant tables. An unscoped query returns an empty set rather than another organisation's data.
  • CredentialsEncrypted per organisation under a key held in the environment, never in the database beside them.
  • RolesExecutives, analysts and administrators see genuinely different products. An invitation grants a role in one organisation, not a key to the estate.
  • AuditEntries are scoped to the organisation they concern. A switch into a client's data is recorded against that client, so they can see who came in.
  • SessionsAny response that depends on who is asking is marked private. A shared cache keys on the address, not on the session.

03 / THE MODEL

Where a model is used, and where it is not.

Verity uses a language model for one job: turning figures that are already computed into prose. The board narrative, the answer on the Ask screen, and the description of a spreadsheet whose columns could not be matched by name.

It computes nothing. Every score, rating, trend, projection and simulated result is arithmetic in the codebase. A model cannot move a score, close a finding, change a rating, or write anything into your record beyond a single narrative row marked as its own.

  • Prose only, never a number
  • A fixed query set, not generated SQL
  • A stale narrative is withheld rather than printed
  • Column inference is a setting each organisation turns on for itself
Ask the analyst: a plain-language question answered from the organisation's own data, with the source rows shown beneath.
The rows behind the answer

ASK THE AWKWARD ONE

If something here is not enough for your estate, that is a reasonable answer to reach.

We would rather you reached it now than in month three.

Request a working session