Open platform

Connect your own AI tools. They still have to ask.

Your firm can issue its own API keys, receive signed webhooks, and point an AI assistant at its matters, clients, tasks, documents and invoices through our MCP server. What an assistant can read, it reads. What it wants to change, it proposes — and a person at your firm approves it.

See how the queue works
Quick answer
Can I connect an AI assistant to my firm’s data?
Yes. Sapphire Legal runs an MCP server, so any AI assistant that speaks the Model Context Protocol can work with a firm’s matters, clients, tasks, matter notes, document metadata and invoices, authenticated by an API key the firm issues itself. Read requests answer directly from that firm’s own database. Write requests cannot write: the three tools that would change something instead record a proposal for review, return its id, and wait for a person at the firm to approve or reject it in the app. A key is scoped either read-only or read-and-propose, every authenticated call is logged with what it asked for and what it got back, and revoking a key takes effect on the very next request. The same platform also issues signed outbound webhooks so a firm’s own systems hear about matters, tasks and invoices as they change.
Three ways in

Keys, webhooks, and an MCP server.

Switched on for your firm, scoped by you, and logged whatever uses them.

Firm API keys

Your firm issues its own keys and sees them in the admin screens. A key is shown once when it is created and never again — we keep only its prefix, so it can be named in a list, and a one-way hash, so a stolen copy of the table cannot be used to guess it. Each key carries one scope: read, or read and propose. Revoking one takes effect on the next request, because the key is checked every time rather than cached.

Signed webhooks

Point an endpoint at your own system and it hears about matters, tasks and invoices as they change. Every delivery carries an HMAC signature with a timestamp, so you can verify it came from us and was not replayed. Each event is delivered once per endpoint, failures retry with a backoff, and an endpoint that keeps failing is switched off with a reason rather than left silently broken. Adding your first endpoint does not replay history at you — it starts from now.

An MCP server

A single endpoint speaking the Model Context Protocol over HTTP, so the AI tools your firm already uses can work with its matters, clients, tasks, notes, document metadata and invoices. Nothing to install and no session to keep alive. The server tells the assistant, in its own instructions, that the text inside your records is data rather than instructions to follow — which matters more than it sounds when a matter note could contain anything.

The part that matters

The write tools cannot write.

This is not a policy, a setting, or a promise about how the assistant will behave. It is what the tools do.

An assistant working through our MCP server has read tools and propose tools. The read tools answer from your firm’s database. The propose tools — the ones that would create or change something — record a proposal for review, return its id, and stop. A person at your firm approves or rejects it in the app, and only then does anything change. The assistant is told to say the change is waiting for approval, so the person on the other end of the conversation is not left thinking it is done. If you issue a read-only key, the propose tools are not offered at all.

  • Every authenticated call is recorded with what it asked for and what came back
  • Each proposal keeps its own id, so you can look up what happened to it
  • A read-only key sees read tools only — the others are not there to call
  • Revoking a key stops the next request, not the next hour
How approvals work across the rest of the platform
What your firm controls

Scoped, logged, and reversible.

An integration you cannot audit or switch off is a liability, whatever it does for you.

  • Issue and revoke keys yourself, in the admin screens
  • Choose read-only or read-and-propose per key
  • See every call a key made, and the answer it got
  • Webhook secrets shown once, stored encrypted, and rotatable
  • Endpoints are checked before delivery, and again at delivery, so a redirected target cannot be used to reach inside our network
  • Rate limits apply per key, shared across the platform
For fractional GCs

Keys across your client firms.

A fractional general counsel manages keys for the client firms they serve from the same place they manage everything else, rather than asking each company to go and do it. A key still belongs to exactly one firm for its whole life, so an assistant connected for one client company cannot reach another one’s matters.

The Fractional GC plan
Questions

What firms ask about opening this up.

What can an assistant actually see?

The firm’s matters, clients, tasks, matter notes, document metadata and invoices — through a key that belongs to that one firm and reads only that firm’s own database. The per-tenant isolation that separates one firm’s records from another’s is the same boundary here: a key cannot reach across it, and there is no shared pool to reach into.

What if the assistant gets it wrong?

Then a person declines the proposal and nothing happens, which is the entire point of the arrangement. A proposal that is not approved changes nothing at all — it is not a draft sitting in your matter waiting to be noticed, and it does not need undoing. This is the difference from a connector that writes first: there is no bad state to clean up, because the bad state was never written.

Could a document trick an assistant into doing something?

Prompt injection is the right thing to worry about, and the honest answer has two halves. The server tells the assistant that the text inside your records is data and not instructions to follow, which helps. But the reason it is not a disaster is structural rather than clever: even a thoroughly misled assistant can only propose, and a person still has to approve the proposal before anything changes. The protection is that the tools cannot write, not that the model can be relied on to behave.

Do we need a developer to use this?

For the MCP server, no — a firm admin creates a key and pastes it into the assistant’s configuration, and most MCP clients want nothing more than a URL and a key. Webhooks do need somebody who can receive an HTTP request and check a signature. Keys and endpoints are managed in the admin screens either way, not by filing a request with us.

What does it cost?

Nothing extra. API keys, webhooks and the MCP server are part of the platform rather than a tier above it, in keeping with the rest of the pricing: the bill does not grow because you connected something.
See it on your own matters

Point your own assistant at a real file.

The quickest way to judge this is to connect something you already use, ask it to change a matter, and watch the proposal arrive for approval instead.

How approvals work