Defence in depth · eight layers
Every layer of the stack does its own job.
Good security isn't one wall — it's many, so that no single mistake exposes your data. These are the layers your information passes through, from the network to the individual permission.
L01Isolation
Your business runs in its own walled system.
Every customer gets a separate application and a separate database. Your system is built so it structurally cannot reach into another customer's data — and theirs cannot reach yours. It's a wall in the architecture, not a setting someone could flip.
✓per-customer app + database · no shared data store · isolation by construction
L02Encryption at rest
The keys to your connected tools are always encrypted.
When you connect Xero, ProjectWorks, Microsoft or Google, the access keys are encrypted before they're stored, unlocked only for the instant needed to talk to that service, and never sent back to your browser.
✓AES-256-GCM · unique lock per record · decrypted in memory only
L03Passwordless
There's no password vault to steal.
You sign in with a one-time link, or with your own Microsoft 365 or Google account. GroundWork never stores a password — so there is no password database for anyone to breach in the first place.
✓one-time links · Microsoft 365 / Google sign-in · no password store
L04Hashed credentials
Even a copy of our database reveals nothing usable.
The tokens that let systems talk to each other are stored only as one-way fingerprints. If a database copy ever leaked, it would contain no key anyone could actually turn — the real value is shown once, at creation, and never kept.
✓SHA-256 one-way hashing · looked up by fingerprint · raw value never stored
L05Least privilege
People see only what their role allows.
Every screen and every action is locked by default and only opened by an explicit grant. Change someone's access and it takes effect on their very next click — no waiting for a session to expire.
✓deny-by-default · re-checked on every request · full audit trail
L06Supply chain
We don't ship known-vulnerable code.
Every build is automatically scanned for known security flaws in its building blocks, and blocked if any turn up. We keep those building blocks deliberately few — less code means less that can ever go wrong.
✓automated CVE audit on every build · minimal dependencies
L07In transit
Everything moves encrypted.
All traffic between you and GroundWork is encrypted end to end using Cloudflare's network-level TLS encryption. And the private calls between GroundWork's own services never travel across the public internet at all — they stay on an internal network.
✓TLS everywhere · internal calls stay off the public internet · no plaintext
L08Change control
You can change your own system — safely.
You can evolve your system just by describing what you want. Every change passes an automated safety check first, anything sensitive is held for a human review before it goes live, and every change is recorded against the person who made it.
✓automated safety gate · review-before-live on sensitive changes · per-person audit log