Security
What the software actually does, stated so your COLP can check it.
Documents
- Identity documents are held in private storage that is not publicly reachable, and are never served from a public web path.
- A document can only be retrieved by a signed-in member of the firm that created the matter. A request from anyone else returns “not found” rather than confirming the record exists.
- Uploads are validated by inspecting the file contents, not the filename or the browser-declared type.
Accounts
- Passwords are stored as a one-way salted hash and are never readable by us.
- Session cookies are HttpOnly, SameSite and Secure.
- Repeated failed sign-in attempts are rate limited by both address and account.
- Firms are created by invitation only; there is no public self-registration.
The audit trail
Every material action on a matter is written to an append-only trail. The database refuses updates and deletions of audit records from the application, and refuses any change to an MLRO decision once recorded. Each entry also carries a hash of the entry before it, so altering or removing history is detectable.
Stated precisely, because the distinction matters: this is immutability enforced against the application. Someone holding direct database credentials could still alter records — but not without breaking the hash chain, which is exactly what makes it evidence.
In the browser
A Content Security Policy with a per-request nonce, strict transport security, framing and MIME-sniffing protection, a no-referrer policy so verification links cannot leak, and origin checking on every state-changing request.
Reporting a vulnerability
If you believe you have found a security problem, please tell us through the contact page. We will not pursue anyone who reports a genuine issue in good faith and gives us a reasonable opportunity to fix it.