Security & privacy

Security & privacy

An honest summary of what the product does today.

What it does today

  • Local-first: client data lives on your machine in an encrypted SQLCipher database; the audit trail is a separate encrypted database.
  • Evidence files encrypted at rest.
  • Sign-in with the platform authenticator (Touch ID on macOS; Windows Hello on Windows).
  • Roles (Admin, Analyst, Auditor, Viewer) with segregation of duties.
  • Single-use recovery codes; account lockout after failed attempts; re-authentication for sensitive actions.
  • 7-year audit-log retention with Auditor-gated purge; cryptographic erasure when a project is deleted.
  • Assessed internally against CIS Controls v8, Implementation Group 1 (IG1), and run through static and dynamic scans in September 2026.

What we do not claim

  • These are internal assessments, not third-party certifications or audits.
  • The Certificate of Self-Assessment carries a SHA-256 content integrity hash; it is not a digital signature or a legal certification.
  • The application does not guarantee legal compliance: it supports documentation and assessment.

This website uses no tracking cookies and no third-party scripts.

Architecture & threat model

The interface is treated as hostile by design: it can reach the Rust core only through the small set of IPC commands the application registers, and only within the capability grant shown above. No component opens a listening port; internal “traffic” means in-process function calls and local file I/O, not network hops. Update connections are made by the Rust core, never by the interface.

Data at rest is protected two ways at once: the database is SQLCipher-encrypted, and the key that unlocks it is held in the operating system’s protected vault. So a copied database file is useless without also compromising that specific OS account. Sign-in runs through the platform’s own biometric hardware.

These values were verified against the application’s configuration (tauri.conf.json and capabilities/default.json), not assumed.

If files or a computer are stolen

Copying a project’s files to another computer does not give access to the data.

  • The key that opens the database is not in the files. It is held in the operating system’s protected store (Windows DPAPI, bound to the Windows account; or the macOS login Keychain), and the project’s keyfile holds only a reference to it.
  • If someone copies the database, the evidence and the keyfile to another machine, the key is not there: the project cannot be opened and access to the database is denied.
  • Even on the original machine, opening a project requires Touch ID (macOS) or Windows Hello (Windows).

What you should know

  • The recovery code exists for a lost computer and can open the project on another computer together with the files. Keep it separate and offline, never with the computer. It is single-use: using it issues a new one.
  • A stolen computer that is already unlocked, with the user signed in, is protected only by the computer’s own security. We recommend full-disk encryption, a screen lock and signing out.

Cryptography

The algorithms that protect the database and evidence files are FIPS-approved: AES-256, SHA-256 and Ed25519. Argon2 key derivation is the one exception, explained below.

UseAlgorithmStandard
Project database (encrypted at rest, with per-page authentication)AES-256 with HMAC, via SQLCipherFIPS 197; FIPS 198-1
Each project’s master key256 random bits from the operating system’s generator, handed to SQLCipher as a raw keyOperating-system random bit generator
Master-key protection and evidence-file encryptionAES-256-GCMFIPS 197; NIST SP 800-38D
Report integrity hash and update verificationSHA-256FIPS 180-4
Update-manifest signingEd25519FIPS 186-5
  • Argon2: the key that wraps the master key is derived with Argon2, a modern and strong standard that is not a FIPS-approved key-derivation function.
  • These are FIPS-approved algorithms. The implementations are not FIPS 140-2/140-3 validated cryptographic modules.