security

Your clients' data,
your rules,
enforced in code.

An MSP holds the keys to every business it looks after. This page is the honest account of how those keys are stored, who can use them, and what happens when an AI asks to change something.

AES-256
GCM per credential
2 layers
KMS root wraps your org key
2 checks
On request and at execution
the path of a call

Six gates between a
prompt and your PSA.

Click a gate to see what it does and what it refuses. A write has to clear all six. A read stops at the fourth.

gate 01

Who is calling

Your MCP client signs in with OAuth 2.1, or presents a workspace API key. Either way the call resolves to one workspace, one person and one role before anything else happens.

what it refuses
An unknown client, an expired token, or a key that has been revoked. There is no anonymous path to the endpoint.
resolved → { workspaceId, userId, role: "operator" }
the vault

Two keys deep, and
neither of them
is ours to read.

A managed KMS root key wraps a key that belongs to your workspace. That key encrypts each credential field with AES-256-GCM. Nothing is stored in plaintext: not in the database, not in logs, not in a backup.

Decryption happens in memory, for the length of one call, and the fact that it happened is written to the audit trail. Your AI provider receives the result of the call and never the credential behind it.

Layer 1 · KMS root keyhardware backed
Held in a managed key service. Wraps and unwraps your org key. Never leaves the service.
Layer 2 · your workspace keyone per org
Stored only in wrapped form. Encrypts every credential field in your workspace, and nobody else's.
The credentialaes-256-gcm
cw_private_key: "enc:v2:9f2c…8a10"
roles

Four roles, or write
your own verbs.

try the permission matrix →
owner

Everything, including billing and who else is an owner.

read · propose · approve · admin
admin

Connects tools, sets everyone else's permissions and approves changes.

read · propose · approve
operator

Does the day job. Can ask anything they have read rights to and propose changes.

read · propose
read only

Questions only. Useful for finance, procurement or anyone reporting on the estate.

read

On Team and Enterprise you can go further and define your own roles as sets of verbs per integration, so "can read the RMM, can propose on the PSA, can approve nothing" is a role you can name and hand out.

The rest of the detail

Workspace isolation

Every query is scoped to one workspace and its own key. Nothing crosses between tenants.

Sign in and MFA

Email and password, Google or Microsoft, with TOTP two factor available on every plan. MCP clients sign in with OAuth 2.1 rather than a pasted key.

Hardcoded guardrails

Mass deletion and bulk overwrite are refused outright, with no policy that can switch them back on.

Expiring approvals

A pending action raised over MCP dies after 24 hours. Stale requests cannot be approved later by accident.

Endpoint catalogue

Generic calls are checked against a catalogue built from each vendor's own spec, so a client cannot invent a path.

Audit and export

Every call, decryption and decision is logged with the person behind it. Enterprise can export the trail as CSV.

Send us the
questionnaire.

If your client's insurer wants answers in writing, we will fill in the form. Email [email protected] and we will come back with the detail.