When an AI agent can call APIs, run code, or touch files, it runs in a process — and that process usually holds every dangerous secret in its environment: LLM keys, database credentials, cloud tokens. IdentArk removes the secret from the agent entirely and puts a governed control plane in front of every privileged action.
What you get
Zero-secret agents
The agent process holds a short-lived `csk_` key and a session id — never the provider key. The real secret lives in the vault against the session's `credential_ref`.Policy at the choke point
Every LLM call, tool call, and credential access flows through the plane. Risk is **computed** from the call; high-risk actions require human approval and fail closed to **deny**.Provable history
Credential access, LLM cost, and every tool decision write a tamper-evident audit entry. Verify the chain, and export your whole org, at any time.Start here
Quickstart
Zero to a governed LLM call in about ten minutes.Core concepts
Six nouns. Learn them and the API reads itself.Authentication & scopes
One bearer header, a capability model underneath.API reference
Every `/v1` endpoint, with live request examples.The two-line switch
Your agent codes against one interface — the AgentGateway Protocol. Move from laptop to production by swapping the implementation; the agent logic is identical.
from identark import DirectGateway, Message, Role
gateway = DirectGateway(llm_client=AsyncOpenAI(), model="gpt-4o")
from identark import ControlPlaneGateway, Message, Role
gateway = ControlPlaneGateway() # zero secrets — reads session from env