6.8 Frontier

Verified agent admission

Letting a legitimate agent prove it is a known, authorized agent at the moment it makes a request, the inversion of proving a human is present. A service can then admit and account for declared agent traffic instead of guessing an actor from its behavior.

01

The impact of agents

As agents reach government services at scale, a service will field a rising share of its traffic from software rather than people, and be unable to tell a declared, accountable agent from an anonymous or spoofed one. The response that suggests itself is to infer the actor from its behavior: a CAPTCHA agents now defeat, invisible behavioral scoring, or a compute-under-time-pressure challenge a scripted human passes as easily as an agent. But each behavioral test is defeated and replaced by the next, and a raw-compute test establishes nothing about who stands behind the request. Admission decisions (whom to admit, whom to rate-limit, whom to hold to account) then rest on traffic the service cannot attribute, unless a legitimate agent is given a way to declare itself that the service can check.

02

What must be verified

A service admitting agent traffic needs confidence that a request comes from a declared, identifiable operator it can attribute and hold to account. That confidence must be proportionate to what it is admitting the agent to do: a public crawl and a transaction do not warrant the same assurance. The obligation sits with the agency operating the service: it verifies the operator's declared signal at the moment of the request rather than inferring the actor from behavior. What this confirms is the operator behind the agent. It does not establish the human principal, the scope of any authority the user delegated, or that a person stands behind the request at all. It tells the service whose agent this is, not what the agent may do, so it is one signal among several and never the whole check.

03

Protecting access

Admission by signature is itself an exclusion mechanism. An agent whose operator cannot obtain a signing key, host a public key directory, or enroll in a registry is refused admission even when it holds valid authority from the user. The person who depends on that agent is denied the outcome, not just slowed. The burden falls hardest on a user's self-built or open-source agent, a small operator, and anyone acting from a jurisdiction without the supporting infrastructure. Treated as the only route in, a signed-agent requirement recreates the exclusion it was meant to prevent.

Keeping the path open

  • Hold an unsigned route at parity: a personhood or delegated-authority path, or an assisted and non-agent channel, that doesn't depend on operator registration and reaches the same outcome.
  • Publish how signed and unsigned traffic are weighted, rather than leaving it silent.
  • Treat an absent signature as data for follow-up, never as grounds for refusal.
  • Have any control the service exposes for this convey its state and the consequence of that state in plain language, operable without sight of the cryptography beneath it.
04

Response surface

Agent Admission

A signed request is admitted with its operator named, and an unverifiable one is routed to a path held at parity rather than turned away.

Preview admission at a different stakes level
User's agent requests admission
Public notice feedAdmission log
GET /public-notices
Updated 11:02
City Digital Services: Public, read-only endpoint
SignedCivicWatch Pty Ltd
Signature verified against published key
Admitted. Attributed to the declared operator.
Rate limit
300/min
UnsignedNot declared
No signature presented
Admitted. Unattributed, without a further check.
Rate limit
300/min

A public, read-only endpoint asks nothing extra of either route, and both draw the same rate limit. The bar rises only where the stakes do.

05

Maturity

  1. Emerging

    For the signing-and-verification loop itself, where HTTP Message Signatures is a ratified IETF standard and a content-delivery network validates signed-agent requests at the edge in production.

  2. Frontier Headline

    As a government-service admission control with a mandated unsigned fallback: no public-sector deployment documents it, and the fallback that keeps it from excluding is undesigned.

06

Precedents

RFC 9421, HTTP Message Signatures. The Standards-Track RFC defines how to sign and verify selected components of an HTTP message, so a server or an intermediary can confirm them even after the message is relayed. The agent signs and the origin verifies, and nothing in the exchange asks the agent to behave in a detectable way. The verification primitive is ratified.

Web Bot Auth. An automated client signs its requests with an Ed25519 key and publishes the public key at a well-known directory, so an origin can fetch the key named in a Signature-Agent header and verify the operator that signed. A companion registry draft defines a Signature Agent Card carrying an operator's identity and keys. The IETF chartered a working group, every draft before it remains unadopted, and the milestone for sending the specifications to the IESG has not been met.

Cloudflare's signed agents. Cloudflare folded signature validation into its Verified Bots program at the network edge and extended verified status to end-user-directed AI agents as signed agents, listed in a public directory. An origin is admitting declared agents on a cryptographic check rather than a behavioral one, in production. It runs on private infrastructure, by a private operator, against no access duty a government service would owe.

Visa's Trusted Agent Protocol. The specification sets out how a merchant recognizes a trusted agent's request on the same signature primitives. The admission mechanism has reached a payments network, answering a commercial question rather than a public-access one.

07

What carries over to agent use

The primitive transfers cleanly and the application does not yet. RFC 9421 is ratified and the signing-and-verification loop runs at content-delivery scale, so a government service could require or prefer a verifiable agent signature at the request layer in place of a behavioral bot check: the mechanism is real and deployed. What does not transfer as it stands is the part a public service cannot skip: an admission control the state runs must come with an unsigned route held at genuine parity, because a government cannot refuse someone the outcome for want of a registered agent the way a private site can refuse a crawler. The precedents solve identifying the agent; they do not solve admitting the unregistered one, and they say nothing about how signed and unsigned traffic should be weighted where access is a duty rather than a courtesy.

The honest position is that the signing layer is emerging while the government admission control is frontier. The drafts that define agent-side identity are unadopted and may change, and the only at-scale deployment is a private network answering a private question. The fallback that would keep the pattern from excluding people, and that makes it fit for government at all, is the piece no one has yet designed.

08

Where things go wrong

The failure mode is a service that comes to trust the signature as proof of more than it can support. A valid signed request proves which operator sent it. It does not prove that a human authorized this particular action, that the agent is acting within a delegated scope, or that the operator is honest. An admitted agent can therefore still be compromised, over-scoped, or acting for no one. Treating admission as authorization lets it through on a check that was never asking that question. An operator's signing key, if stolen, admits an attacker under a trusted name until the key is rotated. A service that has made the signed path the fast path without saying so also pressures every legitimate operator toward registration and every unregistered one toward a slower route or out of the service entirely. Two moves contain this. Keep the signal to its own claim (whose agent this is), and a key compromise is an attribution problem rather than an unchecked admission. Hold the unsigned route at genuine parity, and an unregistered agent stays admissible, just slower.

09

Sources

5 references IETF · Global