ip-sensitive

Your source is the asset. Agents get answers, not a copy.

The risk in an agent isn't that it writes bad code — it's the reach it accumulates while writing good code. Here the reach is bounded by construction: read-only tools stay read-only, the index keeps the embeddings, writes preview before they fire, and every call carries your identity rather than a pooled one.

An agent's reach is exactly the signed-in user'sCode search is a read-only BFF — the indexer owns the embeddingsThe depot is a window on the SCM substrate, never a write pathWrites preview and wait for approval on a later turnCredentials are stripped before they reach a workspace pod
the actual exposure

The risk isn't the code it writes.

It's the reach it accumulates while writing code that's perfectly fine.

Reviewing agent output is a solved-ish problem — that's what a merge gate is for. The harder exposure is quieter: a tool surface provisioned once, generously, because nobody wanted to be the reason the agent got stuck. Six months later it can read every repo, write to most of them, and does so under a credential that belongs to no one.

Bounding that is a design property, not a policy document. Read-only tools that have no write path can't be talked into one. An identity that is forwarded rather than pooled can't exceed its owner. A write that structurally requires a second turn can't be smuggled into the first.

read-only
the search and depot surfaces
no write path exists to reach
yours
the identity on every call
forwarded, never pooled
7 of 13
forge tools that cannot mutate
the other six are confirm-gated
stripped
credentials at the proxy
before the request reaches the pod
bounded by construction

Four boundaries that aren't policy.

Each one is a property of how the component is built, so it holds without anyone enforcing it.

Where the limits actually live

  • The index keeps the embeddings. Code search is a read-only BFF: a caller gets code units and a deep-link to the exact lines, not the vector store and not a bulk export.
  • The depot has no write path. It is a window on the content-addressed SCM substrate — four read-only tools, and every object named by its BLAKE3 hash so history can't be quietly rewritten.
  • Authorization stays with the owner. Each plugin's own MCP server decides, so the agent host cannot grant reach the plugin wouldn't have given you directly.
  • The proxy strips credentials. A workspace pod never receives the session that opened it, so compromising the pod doesn't yield the identity.
the tool surface

What can and cannot mutate.

Confirm-gating is by shape — the owning plugin declares what mutates, not a list maintained elsewhere. Values illustrative.

Tool catalog as you
aggregated MCP surface · per-plugin authorization
surfacereadswritesboundary
polyglot code units + deep-links none read-only BFF
depot repos, refs, trees, blobs none never a write path
mycelium cited Wikidata entities none read-only, cached by hash
forge 7 tools 6, confirm-gated acts as the signed-in user
rule: a write previews, then fires on a later turn — never the same onereach: a reduction of your permissions, never an expansion
vs a broadly-scoped assistant

Least privilege, or a shared token.

The alternative provisions the union of what anyone might need and calls it enablement.

fastverk
a broadly-scoped assistant
Effective reach
A reduction of the signed-in user's
The union of everyone's
Search results
Code units + a deep-link
Bulk context, copied out
Embeddings
Stay with the indexer
Wherever the vendor puts them
Writes
Preview, approve, later turn
Fire on call
Who authorizes
The plugin owning the capability
Whoever issued the token
Workspace credentials
Stripped at the proxy
Injected into the environment

A read-only BFF — the indexer owns the embeddings. There is no tool that returns the corpus, because none was built.

plugin-polyglot · read-only by construction
what this rests on

Backed by shipping plugins.

Each claim on this page is anchored to a plugin that provides it. The site build resolves these cross-references against the live feature catalog and fails if one of them doesn't exist — so this list can't quietly outlive what the platform ships.

related

Adjacent problems.

Prove it's safe to merge.

Hosted, or launched into your own AWS account. Start free — no card required.