QASWA Free consultation

Security & trust

How we build, in plain terms

No badges on this page — just the rules every system we ship follows, and where you can see each one in work that's running today.

Your data stays where it already is

For client platforms, your data goes nowhere it isn't already. We deploy into your own cloud tenant and use your existing identity provider, so meeting content, employee records and operational data never leave your organization. Models run as your own resource — prompts and completions aren't used to train foundation models — and every request is tied to a person signed in through your own identity provider, with access limited to the people you name.

Four rules we don't break

Grounded, never guessed

The model narrates governed queries — it never computes the figure itself. Every answer can show the query that produced it, and if it can't cite a source, it doesn't make the claim.

Seen in: Labor Mart, Executive AI Platforms, HR Chief of Staff

Approval-first

Nothing sends itself as a person. The pipeline can only ever stage a draft; a human approves it, and every action lands in an activity log with recall.

Seen in: Executive AI Platforms

Reconciled before cutover

The new system runs in parallel with the one it replaces until every figure matches, cell for cell. Only then do you switch — so nobody has to take the numbers on faith.

Seen in: Labor Mart

No credentials in code

Managed identities for data connections, no secret in code or in a browser, and access limited to named users. Every configuration change is audited.

Seen in: Labor Mart, Executive AI Platforms, HR Chief of Staff

Identity and access

  • Sign-in through your own identity provider, with access limited to the people you name
  • Managed identities for every data connection — no stored passwords
  • Where a platform acts for a person, it uses that person's delegated permissions only: one of ours holds zero secrets and zero certificates in its app registration
  • Search runs permission-trimmed, so it can never surface a file the reader couldn't already open
  • HR data is aggregate-only: no employee name, ID or email ever leaves the server, and new data endpoints ship with a test that fails if one does

People stay in charge

  • Our pipelines can stage a draft and nothing more — where no send permission exists, auto-sending is structurally impossible; where one does, sending takes the person's own two-step confirmation
  • Scheduled reports go out from the client's own verified domain, never in a person's name
  • Every action lands in an activity log, with recall
  • None of our client platforms changes a client system unless a person asks it to
  • Read-only where it should be: one platform reads a single database view and never writes back to the finance system

Numbers you can check

  • Reconciled to the source to the cent on every refresh; integrity problems are reported, never silently corrected
  • Every threshold shows who set it and when; every settings change is audited, before and after
  • Every figure in a StudyScribe report carries its source, vintage and retrieval date — and if a source hasn't published a figure, the cell stays blank
  • We publish backtests as backtests: a number measured by replaying past weeks is labelled that way

When we use AI — and when we don't

AI runs where it earns its place: extracting to-dos from meetings, drafting a reply, narrating a query. Where a rule will do, we use the rule. Spend Intelligence has no AI in it, on purpose — its built-in analyst answers only from computed figures, shows the calculation, and says "can't answer that yet" when it can't.

We run infrastructure, too

AI stalls in security review when the team that built it has never run identity, endpoints or backups. We run managed IT as well, which is why we build to the standard a security review actually applies: managed identities, least-privilege access, full audit, and numbers reconciled against the system they replace before anyone switches over.

This website

The site you're reading sends a strict Content-Security-Policy, forces HTTPS, and blocks camera, microphone and location access. The contact form emails our own inbox through Azure Communication Services. The only third-party script is Google Ads conversion measurement: it reports that a contact form was sent — never what was in it — with ad personalization off, and it doesn't load at all for browsers that send Global Privacy Control. The privacy policy has the details.

Want the architecture in writing first? If your security team wants it before anything is built, that's the normal starting point, not an exception.

See the rules in practice