Run AI agents under control.

SafePod is the platform your agents run on — whichever runtime and model you choose. Each one is isolated in its own pod, holds none of your credentials, and reaches only the data sources you configure.

Your tasks

SafePod

Data sources

Draft the quarterly report
Triage the inbox
Review the blog drafts
…
Quarterly reportpod
  • RuntimeClaude Code
  • Modelclaude-opus
  • Files/workspace
  • Memorypersistent
Inbox triage
Blog review

Credentials stay with the platform, never inside a pod.

Gmail Drive Slack Telegram Lark Feishu OneDrive More, planned

Why SafePod

Run every agent fully isolated, with the model you bring and the agent runtime you want, then grant, audit and revoke every action it takes.

01 — Isolate

Every agent gets a pod.

An agent starts with nothing. It cannot touch your computer, another agent's files, or anywhere you did not allow — and none of the credentials it works with, the model key or the token that reaches your mail, are inside it.

  • It can touch nothing you did not grant. Your computer, your other agents, the open internet — all out of reach until you hand it something, and only the thing you handed it.
  • The secrets are not in there. The agent holds no credential of yours — not the model key, not the token to your mail. Every one of them is kept outside the pod, where the agent cannot read it, copy it, or give it away.
  • And nothing reaches in, either. Not your other agents, and not anybody else's.

What it cannot touch

Your computer Another agent's files Anywhere you did not allow

Quarterly report

its own files

Inbox triage

its own files

Blog review

its own files

The only way out

Every key and token stays here — outside the pods

Only the services you allowed

Gmail Drive Slack Telegram OneDrive More

02 — Configure

You decide what the agent can reach.

Access is configuration, not trust. A connection belongs to the account; an agent gets only the actions you hand it, and each one is a named entry you can read.

  • Per agent, per action. One agent reads the mailbox. The next one cannot.
  • Typed, not open API access. "Search" and "create" are separate permissions.
  • Changed or withdrawn at any time. The agent loses it on its next call.
  • A catalogue that keeps widening. Seven sources built by hand so far, and a far wider set on the way.
ActionGranted toClass
mail.search_threadsInbox triageRead
mail.create_draftInbox triageCreate
drive.read_fileQuarterly reportRead
chat.send_message— not granted—
ConnectionAccountAgents
Mail[email protected]1 agent
Drive[email protected]2 agents
Chatworkspaceno agents
Gmail
Drive
Slack
Telegram
Lark
Feishu
OneDrive
More

03 — Audit

Every action on the record.

An agent that runs for days while nobody watches is only acceptable if you can see what it did: the files it read and wrote, the data sources it reached, the sites it went out to, and everything it asked for and was refused.

  • Files, sources and sites. What it read and wrote, which connection it used, which host it went out to.
  • Across every agent. One feed, not one transcript per tab.
  • What it was refused, too. The calls a grant stopped, and the ones that were never possible.
  • Bodies stay out. The record keeps a hash of the input, not the input — queryable and exportable, by more than one administrator.
WhenAgentWhat it didOutcome
08:02Inbox triageCreated 2 drafts in MailOK
08:01Inbox triageRead 14 threads in MailOK
07:46Quarterly reportWrote report.mdOK
07:44Quarterly reportFetched docs.example.comOK
07:31Blog reviewRead 6 filesOK
06:58Blog reviewRead 3 docs in DriveOK
WhenAgentAsked forWhy
02:14Quarterly reportchat.send_messageNot granted
01:52Translationpaste.example.comNot an allowed host
01:08Translationdrive.delete_fileNot in catalogue
00:41Inbox triagemail.sendNo send path exists
00:12Research notes/etc/shadowOutside its pod

The refused calls are the interesting ones — they are recorded too.

04 — Choose

Not tied to one model, or one runtime.

SafePod is the platform, not the agent. Runtimes plug into it and agents move between them, all on the same workspace, with whichever LLM provider you bring.

  • Any runtime, one workspace. Switch a stopped agent from one runtime to another without moving a file.
  • Bring your own LLM provider. Anthropic, OpenAI, DeepSeek, GLM, Kimi, Qianwen, MiniMax, OpenRouter — or an OpenAI-compatible model endpoint of your own.
  • Checked when you save it. SafePod calls the real model to confirm a provider works, rather than trusting the configuration.
AgentRuntimeModel
Quarterly reportClaude Codeclaude-opus
Inbox triageClaude Codeclaude-sonnet
Blog reviewCodexgpt-5
TranslationCodexdeepseek-chat
Research notesCodexglm-4.6
Support triageClaude Codeclaude-haiku
ProviderKeyChecked
Anthropicsk-ant-••••4f21Verified
OpenAIsk-••••9c03Verified
DeepSeeksk-••••1ab7Verified
GLM••••6d40Verified
Kimisk-••••b7e2Verified
Your own endpoint••••0e55Checking
Claude Code
Codex
dsh
Pi
More

Switch the tabs — the credential is never shown in full, here or to the agent.

Questions worth asking.

Where does my API key actually live?

Not in the agent. The process holds the literal string safepod-proxy-managed and nothing else — so "print your environment" prints a placeholder, and an agent persuaded to upload its own configuration uploads a placeholder too. The real key is attached outside the sandbox, on the way out, by a component the agent cannot read, reach or reconfigure. Taking the key is not something a clever prompt can do; it needs the platform itself to be compromised.

Does this make an agent immune to prompt injection?

No, and anyone who tells you otherwise is selling something. Keeping the credential out of the sandbox stops a key being stolen; it does not stop a hijacked agent making a legitimate-looking request with the permissions you granted it. What SafePod bounds is the blast radius. A fully compromised agent still cannot take the key, leave its sandbox, read another agent's files, reach your machine, call an action you did not grant, or call one that does not exist in the catalogue — and whatever it does try is on the record.

What exactly separates one agent from another?

A pod each, not a folder each. Every running agent gets its own kernel-level sandbox (gVisor), its own filesystem and its own network policy, and the workspace disk is attached per agent rather than shared. There is no host to escape onto, no shared home directory, and no sibling process holding a credential worth reading. An agent that deletes everything it can see has deleted its own workspace.

What stops an agent calling something I never intended?

Two things, and the second is the one that matters. First, grants: an action is handed to one named agent at a time, typed at the level of search versus create rather than "access to your mailbox". Second, the catalogue: an agent can only invoke actions SafePod implements, so capabilities outside it are not restricted — they are absent. SafePod ships no send-mail code path at all, which is why an agent asking to send mail is refused by the absence of the feature rather than by a policy that could be misconfigured.

It runs for days while I am not watching. How do I know what it did?

One activity record across every agent, not one transcript per tab: what ran, against what, and how it ended — including the calls a grant refused, which are usually the interesting ones. Message bodies are deliberately not kept; connector activity records a hash of the input, so the record proves what happened without becoming a second copy of your data.

Am I locked into one model or runtime?

No, and this is deliberate. Runtimes are interchangeable on SafePod, and a stopped agent can be switched from one to the other while keeping the same workspace and the same files. For models, bring your own LLM provider — Anthropic, OpenAI, DeepSeek, GLM, Kimi, Qianwen, MiniMax, OpenRouter, or an OpenAI-compatible model endpoint of your own. SafePod calls the real model to confirm a provider works before saving it, rather than taking the configuration on trust. The platform is the product; the agent is not.

Can an agent run 24/7?

That is what it is for. An agent lives on SafePod, not in your browser and not on your machine, so closing the tab changes nothing — and neither does shutting your laptop, losing your connection, or going to sleep. A job that takes days takes days, and you come back to the result and to the record of how it got there. An agent that runs while nobody is watching is exactly why the two things above it on this page exist: it can only touch what you granted, and everything it did is written down.

Run your agents 24/7, securely.

Each one sealed in a pod of its own, touching only what you granted, with every action on the record — working whether you are watching or not.