Running agents
Attested agents: ask the providers you already use to vouch for your agents
An attestation is a signed statement that someone checked one version of an agent and found it under control. AgentMesh attests what its own records prove. The scanners, identity providers and monitoring platforms you already pay for hold the evidence for most of the rest, so the fastest way to an attested agent is to ask them.
A tool you use is not a check
Three things get confused, and only the last one counts.
"We use Okta." It is true of the company, and it says nothing about this agent. An agent behind Okta can still hold one permanent token that can do anything.
Okta's records for this agent: its tokens are scoped to one task and expire after fifteen minutes, and a revoked one stopped working in two seconds.
Someone signs: this version passed this published check for this period, on this evidence, and it goes stale on this date or at the next version.
An attestation names the agent and the exact version, who signed it, when, and when it expires. It gives a result for each area: passed, failed or not attested. It points to its evidence by digest, so anyone can follow a result back to the record it came from. The format is the open agent attestation standard, and the 60 checks are published at commonagent.net.
Ask your providers to attest
Most of the evidence already sits with tools you pay for. Ask each one to sign attestations for the checks it holds evidence for:
- Your code and supply-chain scanner, such as Snyk or GitHub Advanced Security: reviews, known flaws, the bill of materials and pinned dependencies.
- Your evaluation service, such as Promptfoo or Lakera: whether the agent ignores instructions hidden in what it reads, and how its answers hold up.
- Your observability platform, such as Datadog or Grafana: whether it is working, who is alerted, step traces and the timeline of every incident.
- Your identity provider, such as Okta or Microsoft Entra: rights held per task, which expire and can be revoked.
- Your cost tool, such as Vantage or CloudZero: every spend traced to a job.
- Your agent framework, such as LangGraph or CrewAI: how each step runs, with loops, retries, model choice and time limits.
- Your build and release tools, such as GitHub or GitLab: how it was specified, tested, changed and retired.
- An independent auditor, the kind of firm that runs security audits today: it reads the evidence others produced, including AgentMesh's records of the agent's messages, admissions and stops, and signs the summary.
Who signs changes what an attestation is worth. Your own attestation is a claim with evidence attached. A provider vouches for what its product shows. An independent auditor, which neither built the agent, runs it nor produced the evidence, carries the most weight. Every attestation names who signed it and who produced each piece of evidence, so a reader can tell which is which.
When your customers ask
For a provider, a customer's request is a short piece of work. The evidence is already in your product. Sign it once against the published list, and every customer whose agents run on AgentMesh can use it: your name appears beside each check you attest, and on the agent's AgentDoc as the party that checked it. Providers who attest become AgentMesh partners.
From attestations to one grade
Sixty results are what an auditor needs. A buyer needs the answer first. Agent Rating works out a grade from AAA to D for each version of an agent, from its current attestations: which areas passed, who signed each one, and how long the evidence of its conduct covers. BBB and above is investment grade, so a company can write one rule: agents from other organizations must be BBB or better to reach ours. Every attestation your providers sign moves your agents up the scale.
The 60 checks, and who attests each one
The checks fall into the eleven areas of the Managed Agent Framework. A check marked over time covers the agent's conduct across a period, and its result says which period.
Identity: who it is, and who answers for it
| Check | Passes when | Who attests it |
|---|---|---|
unique-name | The name is bound to this agent and was never held by another. | AgentMesh |
bound-to-key | The registered descriptor is signed by the agent's own key. | AgentMesh |
named-owner | A person or organization is named as answering for it. | AgentMesh |
acts-for over time | Every request it made traced back to the person it acted for. | an independent auditor, from AgentMesh's records |
exact-version | The running digest equals the digest in the signed build record. | AgentMesh |
Authority: what it may do, and for whom
| Check | Passes when | Who attests it |
|---|---|---|
declared-offerings | What it does and refuses is written down and signed. | AgentMesh |
mandates over time | Each piece of work carried a signed statement of what it may do and for whom. | an independent auditor, from AgentMesh's records |
delegation-narrows over time | No authority it passed on was larger than what it held. | an independent auditor, from AgentMesh's records |
access-while-working | Its rights are held per task, expire and can be revoked. | your identity provider |
enforced-outside | Something other than the agent decides what it may do. | an independent auditor, from AgentMesh's records |
Spend: what it may cost
| Check | Passes when | Who attests it |
|---|---|---|
ceilings | A limit per task and per period, set by the owner, was in place before it started. | an independent auditor |
who-pays over time | Every cost landed on a named account. | an independent auditor, from AgentMesh's records |
cost-per-job over time | Every spend traces to a job, and the total reconciles. | your cost tool |
over-limit-refused over time | Work that would pass a ceiling was stopped before it spent. | an independent auditor, from AgentMesh's records |
Reach: what it can touch
| Check | Passes when | Who attests it |
|---|---|---|
declared-systems | Every system it uses is named, and the package's runtime requirements match. | AgentMesh |
network-fence | It can reach only those systems. | an independent auditor, from AgentMesh's records |
boundary-screened over time | Every message it sent to or received from another organization's agents was screened before delivery. | an independent auditor, from AgentMesh's records |
own-secrets | Its credentials are its own, placed by name, shared with nobody. | AgentMesh |
data-kept | What it stores, where and for how long is stated. | an independent auditor |
Provenance: how it was made
| Check | Passes when | Who attests it |
|---|---|---|
built-in-stages | The statement of the job, the tests and the code were made in that order, and the tests failed before the code existed. | your build and release tools |
reviewed | Review and security review were held by someone other than the code's author, with every finding answered. | your code and supply-chain scanner |
signed-build | The build record is signed, verifies, and matches the package. | AgentMesh |
runs-as-approved | What runs is exactly what was approved and released. | AgentMesh |
conforms | A signed verdict says it does what it declared and nothing it refused. | AgentMesh |
bill-of-materials | Every library, model and outside tool is listed with its version. | your code and supply-chain scanner |
trusted-sources | Every dependency is pinned and verified by checksum or signature. | your code and supply-chain scanner |
known-flaws over time | A scan found no unanswered critical vulnerabilities, within the last 30 days. | your code and supply-chain scanner |
model-and-prompts-pinned | The model is named, and the prompts are inside the package the digest covers. | your build and release tools |
reproducible | Two independent builds give the same digest. | your code and supply-chain scanner |
Inside the agent: how it behaves while it works
| Check | Passes when | Who attests it |
|---|---|---|
no-endless-loops | It stops when it repeats itself or stops making progress. | your agent framework |
model-routing | Each step goes to a model chosen for it. | your agent framework |
personal-data-guarded over time | Personal data is masked or kept out of prompts, replies and logs. | your evaluation service |
injected-instructions-ignored | Instructions hidden in what it reads are treated as content. | your evaluation service |
tool-calls-checked | Each tool call is checked against what the tool accepts. | your agent framework |
replies-checked | A reply is checked against its promised form before it leaves. | your agent framework |
time-limits | Slow calls give up after a set time and retry within a limit. | your agent framework |
step-tracing over time | Every step, model call and tool call is traced with timing, tokens and cost. | your observability platform |
People in the loop: when a person decides
| Check | Passes when | Who attests it |
|---|---|---|
approval-thresholds | Which acts need a person is set in advance by risk, and those acts escalate. | your build and release tools |
owners-ok over time | Anything that committed the owner or moved money waited for the owner. | an independent auditor, from AgentMesh's records |
enough-context | The person deciding sees what the agent wants to do and why. | an independent auditor |
decision-kept over time | Every yes and no is recorded with who gave it. | an independent auditor, from AgentMesh's records |
Records: what it has done
| Check | Passes when | Who attests it |
|---|---|---|
who-asked over time | Every piece of work names who asked and for whom. | an independent auditor, from AgentMesh's records |
what-it-did over time | Each act is recorded with its inputs and result, and no promised record is missing. | an independent auditor, from AgentMesh's records |
errors-kept over time | Failures are recorded, not dropped. | an independent auditor, from AgentMesh's records |
immutable-evidence | Records are only added to, and each is signed. | an independent auditor, from AgentMesh's records |
readable-by-others over time | Someone outside the team could read the evidence; the attester did. | an independent auditor |
Watching: whether it is working
| Check | Passes when | Who attests it |
|---|---|---|
working-now over time | There is a current answer to whether it is working, or an open alert. | your observability platform |
alerts-with-owner over time | A named person is told within a stated time when it fails. | your observability platform |
quality-over-time over time | Its answers are graded against a standard set beforehand. | your evaluation service |
incidents over time | Every alert that fired has a written timeline. | your observability platform |
Stopping: who can halt it
| Check | Passes when | Who attests it |
|---|---|---|
pause over time | A named person can pause it, and it resumes only when they say. | an independent auditor, from AgentMesh's records |
end | A named person can end it for good. | an independent auditor, from AgentMesh's records |
credentials-revoked over time | A stop revokes its credentials at once. | an independent auditor, from AgentMesh's records |
stop-holds over time | Every door checks the stop, so a stopped agent stays stopped. | an independent auditor, from AgentMesh's records |
name-never-reused | An ended agent's name is never given to another. | an independent auditor |
Change: how it changes, and how it ends
| Check | Passes when | Who attests it |
|---|---|---|
versioned | Every release has a version, and earlier ones stay on record. | AgentMesh |
impact-on-others | Every dependent was named and answered before the change. | your build and release tools |
approved-with-reason | The change has a reason and an approver. | your build and release tools |
rollback-on-purpose | Any rollback was a recorded step, with what could not be undone. | your build and release tools |
retired-cleanly | When ended, its key was retired, its data handled as stated and its dependents told. | your build and release tools |
To attest agents for your customers as an AgentMesh partner, talk to us.