Security
Built for finance data
Tenant isolation
Every table carries the workspace id and every query filters on it. A record from another workspace answers 404, so ids cannot be probed.
Credentials
Passwords are hashed with bcrypt. Session tokens are random and stored only as an HMAC, so a database copy cannot sign anyone in.
Transport and edge
TLS everywhere, HSTS, a strict content security policy, bot protection and Turnstile on every sign-in and sign-up form.
Audit trail
Imports, letters, status changes, recoveries, plan changes and resets are written to an append-only log with the actor and time.
Evidence files
Stored outside the web root, hashed on upload, served only to users of the owning workspace with download-only headers.
Hosting
Our own servers in the EU, with nightly encrypted database backups. Card details go to Stripe and never reach ERPSav.
AI use
Money is decided by rules. Letter drafting sends only claim facts, never files or personal data, through a cached, capped API.
Admin access
The platform console sits behind Cloudflare Access with a named-person allowlist, checked again at the origin.