Skip to content
      db      \`7MM"""Mq.   .g8"""bgd     db      \`7MN.   \`7MF'\`7MM"""YMM
     ;MM:       MM   \`MM..dP'     \`M    ;MM:       MMN.    M    MM    \`7
    ,V^MM.      MM   ,M9 dM'       \`   ,V^MM.      M YMb   M    MM   d
   ,M  \`MM      MMmmdM9  MM           ,M  \`MM      M  \`MN. M    MMmmMM
   AbmmmqMA     MM  YM.  MM.          AbmmmqMA     M   \`MM.M    MM   Y  ,
  A'     VML    MM   \`Mb.\`Mb.     ,' A'     VML    M     YMM    MM     ,M
.AMA.   .AMMA..JMML. .JMM. \`"bmmmd'.AMA.   .AMMA..JML.    YM  .JMMmmmmMMM

An opinionated control plane for AI agents.

see how it works
1.0 · The shift

Why do AI agents need a control plane?

AI agents connect data, secrets, and tools faster than manual security review can follow. A control plane gives every agent a verified identity and evaluates its authority when it acts.

PLATFORM APPROVED
The tool is allowed.
But the app built inside it may be invisible.
WORKFLOW CREATED
Data, secrets, and tools get connected.
Often outside formal SDLC.
SECURITY REVIEW
Manual review cannot keep up.
Arcane handles the drudge and escalates what matters.
↑ arcane operates here
2.0 · Control planeExplore the product

What does Arcane guard?

Arcane connects three jobs that are usually fragmented: finding and verifying agents, governing what they do, and understanding what their work costs. Identity, policy, task, outcome, and spend stay attached to one decision record.

01

Discover and identify

Find agents from registrations, runtime evidence, and observed SDK, gateway, and MCP activity—then bind each one to a verified workload and delegating authority.

47 agents
44 verified · 3 need review
02

Govern every action

Evaluate the agent, task, tool, arguments, source policy, and resource-owner policy together before an action reaches its target.

18,432 decisions
allow · deny · escalate
03

Understand and optimize

Roll model calls, tool use, retries, outcomes, token usage, and spend into the same task record so cost can be compared with quality.

$48.2k attributed
agent · task · model · team
Unified decision record
Allow
agent
research-agent@v0.4
authority
maya@revenue
task
prepare-account-brief
action
crm.accounts.read
policy
revenue.research.v12
usage
38,420 tokens
cost
$0.84
3.0 · The platform

How does Arcane keep agent policy current?

Arcane observes agent actions, proposes narrower policy from real behavior, and routes meaningful changes to an operator for review. Approved policy becomes active without turning every workflow into a manual ticket.

arcane / policy loop
watching traffic
tool calls · 30d
18,432
denials · 30d
47
agents drifted
3
baseline → proposal → operator → activeselect a stage
arcane / proposal · 1 of 3
proposed by posture agent

allow research-agent to read drive.files when delegated by an engineering-org user

reasoning

research-agent attempted drive.files.read 47 times in the last 30 days — all from engineering users. No matching rule. Promoting shadow → active would convert 47 reviews to allows.

impact if applied
+47 newly allowed362 unchanged
cedar
permit (
  principal in Group::"research-agent",
  action == Action::"read",
  resource in ResourceType::"drive.files"
) when {
  principal.delegated_by.org == "engineering"
};
posture agent · proposal queuepolicy stays in shadow until you promote
4.0 · How it works

How does Arcane authorize each agent action?

Arcane verifies runtime evidence when it mints identity, evaluates each requested action against source and target policy, and executes allowed work through an SDK or enforcement boundary.

01

Establish runtime identity

Configure the registered agent and minting zone, then present trusted workload evidence through token exchange. The agent name is context; the issuer-verified subject token establishes workload trust.

arcane.tsSDK
const arcane = new ArcaneClient({
  baseUrl: process.env.ARCANE_BASE_URL!,
  orgId: process.env.ARCANE_ORG_ID!,
  zoneId: process.env.ARCANE_ZONE_ID!,
  applicationKey: process.env.ARCANE_APPLICATION_KEY!,
  agentKey: "release-bot",
  mode: "token_exchange",
  getSubjectToken: () => k8sPsatSubjectToken(),
});
// The zone STS verifies evidence before minting.
02

Evaluate the requested action

Ask the minting zone to evaluate the agent, target resource, action, and request arguments. The target zone is resolved from the resource and contributes its own policy.

arcane.tsSDK
const decision = await arcane.evaluate({
  resource: "jira-prod",
  action: "jira.issue.search",
  requestContext: {
    request: { jql: "project = ARC" },
  },
});
// allow · deny · escalate (no immediate access)
03

Execute through an enforcement boundary

Use Arcane's in-path proxy when the upstream credential must remain server-side, or vend a scoped credential only when the resource's enforcement mode permits it.

arcane.tsSDK
const result = await arcane.proxy({
  resource: "jira-prod",
  action: "jira.issue.search",
  input: { jql: "project = ARC" },
});
// Upstream execution occurs only after allow.
5.0 · The console

What does an agent decision record contain?

Each record names the user, agent, workload, task, requested resource, policy rule, outcome, token use, and cost. The same context powers the audit trail and Cost Center.

arcane / decisions
time
outcome
agent · task
resource
showing 6 of 1,284live
5.0 · Get started

One conversation.
Enable your security team.

Talk to founders