Private infrastructure for AI agents

Let agents work with client data. Prove what they can and can't do.

Every agent runs in sealed hardware, behind a gateway that holds its keys, decides where data may go, logs every call and stops it on command. The rules ship inside the proof, so your clients can check them.

We're building it now, for firms that handle client data: law, accounting, finance.

inbox-sorterexample gateway log
Paused
  1. ALLOW GET graph.microsoft.com/v1.0/me/messageskey OUTLOOK_TOKEN added at the gateway
  2. ALLOW POST inference.tinfoil.sh/v1/chatattested model, encrypted to the enclave
  3. ALLOW PATCH graph.microsoft.com/…/movefiled to Clients / Harlow LLP
  4. BLOCK POST paste-bin.example.netnot on the allowlist; nothing sent
  5. BLOCK POST paste-bin.example.netOUTLOOK_TOKEN may only go to graph.microsoft.com
  6. PAUSE agent paused by policyon_violation: pause · owner notified
keys in sandbox 0 hosts allowed 2 log readable by you sandbox egress none

How an agent runs

Your agent's code never touches the network or a real key.

Each agent gets its own sandbox inside a confidential VM. The sandbox has no network. Its only way out is the gateway next to it, in the same sealed hardware, so every request passes the same checks.

Confidential VM · Intel TDX · attested at boot

Agent sandbox

Your code, any framework, in a gVisor sandbox. It sees placeholders such as {{OUTLOOK_TOKEN}}, never the key itself.

  • No network interface of its own
  • Encrypted storage per agent
  • Private models only

Gateway

The one door out. It runs your policy on every request before anything leaves the VM.

  • Swaps placeholders for real keys, per allowed host
  • Checks the destination against the allowlist
  • Writes the activity log, encrypted to you
  • Pauses or cuts off the agent on command

The outside world

graph.microsoft.comallowed
inference.tinfoil.shallowed
everything elseblocked

Our control plane

Starts and stops VMs, bills usage and shows you request counts and timing. It never sees your data or keys, and it can't make a VM run code you didn't sign.

Controls

Four controls every agent gets, set once, enforced in the hardware.

We're building these into the gateway now.

Keys are added on the way out

The vault inserts each credential as the request leaves the gateway, and only for the hosts that key belongs to. A prompt-injected agent can't leak a key it never had.

sandbox holds {{OUTLOOK_TOKEN}} · gateway sends it only to graph.microsoft.com

Outbound traffic is blocked by default

Each agent lists the hosts it may reach. Everything else is refused, outbound email is off, and a platform blocklist stops known malware and phishing hosts.

default deny · per-agent allowlist · SMTP blocked

Monitoring you can read and we can't

Every call is recorded: tool, host, allowed or blocked, size and timing. The full log is encrypted to your key and opened in your browser. We see counts and costs, nothing more.

signed records · encrypted to your key · exportable for audits

A kill switch with three levels

  • PauseThe gateway stops all traffic at once. Resume when you're ready.
  • RevokeThe vault drops the agent's keys, even mid-task.
  • StopThe VM shuts down. Its encrypted state stays yours.

trigger it yourself, or by budget, rate limit or a spike in blocked calls

Policy

The rules are a file, and the file is part of the proof.

You write the policy next to your agent. It's signed into the release, so the attested VM can only run with exactly these rules.

Reviewable

A partner or a client's IT team can read in one page where data can go and what happens when an agent misbehaves.

Pinned

Changing the allowlist means a new signed release, recorded in a public log. Nobody can loosen it quietly, including us.

Same everywhere

Identity, network, data and key rules live in the same file instead of five dashboards.

agent.policy.yaml · examplesigned · release 14
agent: inbox-sorter

egress:
  allow:
    - graph.microsoft.com
    - inference.tinfoil.sh   # attested model

secrets:
  OUTLOOK_TOKEN:
    send_only_to: graph.microsoft.com

access:
  sso: harlow-llp            # SCIM-provisioned staff
  approve_before_send: true

data:
  region: us
  retention:
    activity_log: 90d
    working_files: 7d

limits:
  requests_per_minute: 120
  daily_budget_usd: 5

on_violation: pause             # or: revoke, stop

Security as a platform

The controls a security review asks for, enforced inside the enclave.

Other platforms enforce these rules on servers you have to trust. Here they run in attested hardware and show up in the proof.

AreaWhat you setHow it's enforced
IdentitySingle sign-on and SCIM provisioning for your staff; who may run or approve each agent.Sign-in tokens are checked inside the enclave. Your users' keys stay on their devices.
NetworkAllowed hosts per agent, per-key destinations, rate limits.The gateway is the only way out of the sandbox.
DataRetention per data type, region, approval before anything is sent.Storage is encrypted per agent and deleted on schedule inside the VM.
KeysCredentials for the services your agents use.Held by a vault that only attested VMs can open, added at the boundary.
EvidenceWhich reports you need for audits and client questionnaires.Signed activity records and attestation reports, exported on demand.

Proof

Three things anyone can check, without taking our word for it.

Attestation works today: your browser checks Tacy Chat's agent VM before sending anything. Public releases and signed activity records are being built.

What code is running?

Hardware attestation

The CPU signs a report of the exact VM image, agent and policy. Browsers and our verifier check it before sending anything.

compose 94a35d35…

Is that the published code?

Signed, public releases

Every release is built in public CI, signed, and recorded in a transparency log. Anyone can rebuild it and compare fingerprints.

sigstore · rekor

What did the agent do?

Signed activity records

The gateway signs every record with a key that never leaves the enclave. You hold the only key that reads them.

encrypted to you · tamper-evident

Built on it

Our own products run on the same platform.

Tacy Chat Live

Private AI chat with web search and documents. Encrypted on your device, models in verified enclaves.

Email assistant Next

Sorts, summarizes and drafts in your Outlook or Gmail. Sends nothing without your approval.

Your agents Design partners

Bring a container and a policy file. We'll run it sealed, with the controls above.

We're looking for a few design partners.

If your firm wants AI agents on client work and your clients want proof, we'd like to build the first ones with you.

Become a design partner

  • An agent for one real workflow, set up with you
  • Direct line to the founder
  • Reduced pricing while we're in early access
  • Test data first, real client data after the security audit