Popular starting points. Use Tab or arrow keys to browse results.

Skip to content
Aten SecurityThoth docs

Govern your first agent

Connect an agent, confirm what its tools do, choose a profile, and see decisions, without writing a rule.

Thoth governs an agent from its first call. You don't write rules to get started: you tell Thoth what each tool does, and a profile turns that into decisions. This page takes one agent from first call to a confirmed policy.

1. Connect the agent

Instrument the agent with an SDK or the MCP proxy, as in Instrument your own agent. Every tool call now goes through Thoth before it runs.

Until you confirm a tool's effects, Thoth treats it as unconfirmed and holds each call for an approver (STEP_UP). Unconfirmed never means allowed.

2. Review the tools Thoth found

When the agent starts, the SDK or proxy reports its tools: names, descriptions and input-schema structure. Thoth proposes what each tool does, from MCP annotations such as readOnlyHint and from the tool's name and arguments.

Proposals are suggestions, not permissions. A tool that describes itself as read-only is still held until a person confirms it. Set THOTH_TOOL_INVENTORY=off in the agent's environment to stop reporting tools.

List the tools and their proposals:

thothctl tools list

3. Confirm what each tool does

Confirming records the tool's effects as a declaration. Only a tenant admin can confirm, or an approver when the tenant has no admin. A confirmation applies to the next decision.

thothctl tools confirm orders.list --classes read
thothctl tools confirm orders.delete --classes delete

The same declarations in Terraform:

resource "thoth_tool_classification" "read_orders" {
  tool_name = "orders.list"
  classes   = ["read"]
}
 
resource "thoth_tool_classification" "delete_order" {
  tool_name = "orders.delete"
  classes   = ["delete"]
}

A tool can have more than one class. Thoth applies the most restrictive outcome among them. See Profiles and action classes for the classes and what each means.

4. Choose a profile

Every agent starts on safe-default: confirmed reads and writes are allowed, deletes, external calls and other high-impact actions need an approver, and sensitive data cannot leave your system. Choose a profile that adds rules for your kind of agent:

ProfileAdds
coding-agentApproved Git remotes, production releases, secrets files
finance-operationsVendor bank details, large payments, new payees
customer-supportLarge refunds, customer data leaving, account deletion

Choose at trial signup, or with the CLI or Terraform:

thothctl init --agent-id my-agent --profile coding-agent
resource "thoth_pack_assignment" "my_agent" {
  agent_id        = "my-agent"
  pack_id         = "coding-agent"
  profile_version = "1.0.0"
}

A trial uses one profile for the whole workspace. On a paid plan, each agent can use its own profile, and admins can change its parameters, such as the payment approval amount.

5. See the decisions

Call each tool. With coding-agent and the declarations above:

CallDecision
orders.list (read)ALLOW
orders.delete (delete)STEP_UP: an approver decides
A tool you haven't confirmedSTEP_UP

Each decision names the rule that matched, and the profile and version, in its reason, its signed receipt and the dashboard. Use /v1/explain for a plain-language explanation of any refusal.

What changes later

  • Profile versions are pinned. When a profile improves, your agents stay on their current version until an admin approves the update.
  • Removing a profile returns the agent to safe-default. safe-default itself can't be removed.
  • If model scoring is unavailable, confirmed profile ALLOW decisions still apply where your deployment enables it, and unconfirmed tools still need an approver.

On this page