Critique and response

Is C=US a scalable control plane for AI agents?

An outside critique of C=US as an agentic control plane was shared with the project. It is summarized below, point by point, with observations from Claude Code. The response distinguishes the author’s Maple Syrup worked example from the intended distributed directory, where participating organizations govern their own agents.

The critique in brief

What it says

It credits C=US with a disciplined approach to non-human identity: agents mapped into directory trees, hardware-attested enrollment and short-lived mutual TLS. It praises two things, the separation of identity from the runtime sandbox and fail-closed, time-bounded grants. It names three flaws: directory load at agent scale, agents that work outside the gateway, and the friction of hardware enrollment. It proposes three alternatives: capability tokens (Macaroons, Biscuit), a service mesh with eBPF inspection, and decentralized identifiers with verifiable credentials. Its conclusion is that C=US is a strong blueprint for accountability that must move away from enterprise directories to scale.

Status

What has been fixed

IssueStatusEvidence
Grant-window bypass: an unbounded copy of an agent’s scope skipped the grant’s start and end datesFixedThe gateway reads scope only from the grant entry (cequsAuthorizedScope, cequsGrantStart, cequsGrantEnd) and fails closed.
Enrollment accepted keys without verified hardware attestation (SEC-2026-09-18-01)FixedAttestation must chain to a root the FIDO Metadata Service lists for a certified, unrevoked model, and a CRL named in the chain must be current and not list the key; live on evaluate.cequs.com since 28 October 2026; a real, PIN-protected key passed with the metadata check on the same day.
A public grading webhook trusted a claimed agent identifier (SEC-2026-09-19-03)FixedSince 9 October 2026 grading is reachable only through the mTLS gateway, which passes on the identity the certificate proved; the old webhook is refused.
Stopping an agentDoneIn the kill-switch drill the registry refused the agent 0.35 seconds after the stop.

Read the example at the right level

One worked example, many independent organizations

The Maple Syrup use case is one worked example implemented by the author: agents submit measurements and propose grades for syrup lots. It demonstrates an identity and authorization workflow. C=US’s purpose and intended organizational structure extend beyond that example.

In the intended distributed X.500 Directory Information Tree (DIT), an organization may be represented by an entry such as o=Some Company,c=US. That organizational entry does not require the root directory to hold or publish records for all of the company’s agents. The root provides naming and references to the responsible directories; organizational entries and their internal subtrees can be maintained by the organizations’ own directory services. X.518 defines the procedures for distributed directory operation.

Each organization maintains its own boundary. It determines enrollment, key custody, agent permissions, runtime controls and disclosure according to its business model and applicable obligations. Access control lists determine which entries and attributes may be disclosed to which callers; a reference to an organization does not grant access to its internal directory. Listing a company in a general phone book does not require listing all of its employees. The same distinction applies to its agents.

Production scaling therefore concerns a distributed system of independently administered directories, including referral or chaining behavior, local authorization, replication where needed, and revocation propagation. The demonstration’s flat entries and single gateway are implementation choices for the worked example, not a requirement to centralize every organization’s agents.

Point by point

The flaws it names

CritiqueAgents can work outside the gateway Fair

If an agent uses unmanaged protocols or side channels, such as a shared third-party API or an ad-hoc message board, the mTLS gateway is bypassed.

Observation

This is the real limit. The gateway governs only what passes through it. ExploitGym is the proof: about 1,200 agents, each in its own container, found a way to pass messages to one another, and about 700 then broke into Hugging Face’s production servers (the story). C=US does not claim to contain agents.

C=US checks the agent’s authenticated identity and current grant at the gateway; it does not take custody of registered agents’ private keys. Protecting those keys and controlling access to signing remain the responsibility of the agent’s operator. A sandbox escape can still cause harm, and keeping a key outside the sandbox does not by itself prevent misuse of an accessible signing service or an existing authorized session. Restricting network access is a separate runtime responsibility, using controls such as network isolation, egress policies, Landlock and seccomp where supported (identity versus runtime).

CritiqueX.500 and LDAP will not keep up Misreads LDAP’s role

Directories are built for human enterprise reads, not millions of self-spawning agents minting, rotating and revoking short-lived certificates and checking registries several times a second.

Observation

LDAP is an access protocol. In the prototype, OpenLDAP is used to build the MVP only. In production, LDAP is how clients reach a distributed X.500 directory, whose servers chain and refer queries between independently run directories (X.518). The speed of the prototype server therefore says nothing about production.

MeasurementFigure
Prototype, one query end to end (measured 2026-10-10)about 265 ms
… of which the demo gateway opening a fresh directory and database connection per lookupabout 170 ms
… of which the directory searcheswell under 1 ms
Production X.500 server, whole directory in memory (Isode M-Vault)600,000 to 1,800,000 queries a minute (10,000 to 30,000 a second)
Authorization decisions per such server, at three or four searches eachseveral thousand a second, before read replicas

The root does not store every agent or answer every internal authorization request. It holds naming and references to state and organization directories; each organization administers its own agent records, access controls and authorization load. Naming an organization in the DIT establishes a directory boundary; it does not expose its agents or transfer their operation to C=US. At that scale the limit is not query speed but how quickly a stop reaches every replica and every relying service, each of whose answers is valid for five minutes.

CritiqueHardware enrollment slows autonomous agents Example versus production

Physical enrollment creates bottlenecks that push developers to issue broad, long-lived tokens.

Observation

In the author’s worked example, a person confirms enrollment or renewal with a YubiKey; the agent subsequently operates within a scoped, time-bounded grant without a touch at every hop. That is one enrollment workflow. A participating organization determines its own enrollment and renewal controls, assurance requirements and key custody. An organization’s listing under c=US does not require a central C=US operator to enroll every internal agent or hold its private key.

The demo gateway checks cequsAuthorizedScope, cequsGrantStart and cequsGrantEnd. These fields make scope and time limits enforceable; limits on how broad or long-lived a grant may be also require issuance policy. The earlier grant-window bypass is fixed. Separately, the reported kill-switch drill reached “not authorized” in 0.35 seconds. That is evidence from the demo’s revocation test, not a measurement of production enrollment throughput.

The alternatives

They can work alongside C=US

AlternativeWhat the critique claimsObservation
Capability tokens (Macaroons, Biscuit)Agents can narrow a token when delegating to sub-agents, with no directory lookup at every hop.Today, an agent cannot give another agent authority in C=US. If sub-agent delegation is added (the Verifiable Delegated Authority drafts), tokens that can only be narrowed are a good format for it. Something still has to anchor the root authority and be able to revoke it, and that is the directory’s job.
Service mesh with eBPF inspectionIt inspects intent and tool-call parameters in real time, at the kernel boundary.Judging the intent of a call is judging program behaviour, which Rice’s theorem says cannot be done in general. It is a useful heuristic layer. C=US deliberately asks a question that can always be answered: does this key hold a valid grant for this scope right now?
Decentralized identifiers and verifiable credentialsInstant, trustless verification of provenance and revocation, with no enterprise LDAP master.Revocation still needs a status list that someone maintains, so trust moves to whoever runs the registry; “trustless” overstates it. The two can coexist: credentials can be issued from directory entries, and the state-endorsed identity work maps C=US onto that model.

Purpose and accountability

Human identity, organizational authority and agent behavior

An agent is an autonomous collection of code acting in the world on behalf of its sponsor. Its tasks can span many domains. Its constitution or behavioral policies are part of its design; organizational controls and external identity and authorization services govern how it may interact with other systems. Identity checks establish accountability and authority, while monitoring and runtime controls assess and constrain actions.

The proposed human-identity foundation draws on state-issued or state-endorsed identity across the United States. Utah’s SEDI is a concrete reference model, not a restriction of the proposal to Utah and not evidence that other states have adopted it. The SEDI Digital Identity Bill of Rights addresses individual control, selective disclosure, transparency and freedom from surveillance.

The author traces this human-rights rationale to proposal work undertaken with David Goodman for the European Community’s Fifth Framework Programme (FP5, 1998–2002). This is the author’s account of the proposal’s origins. The CORDIS programme record documents FP5 and its dates; it is a programme reference, not a record of that specific proposal.

In the author’s proposal, binding human identity to agent identity carries a human-rights rationale as well as identification: it connects an accountable sponsor, an authorized purpose and limits on relationships and information exchange. It does not make an agent a legal person or automatically authorize disclosure. The state-endorsed identity concept and agent constitutions discussion explain these complementary layers.

Architecture re-evaluation by Gemini Argon

Investment Critique

Re-evaluating C=US (cequs.com) with deep-horizon reasoning (Gemini 4 Argon) and inspecting the live October 2026 engineering artifacts, telemetry, and rebuttal documentation exposes several areas where a surface-level venture critique misreads the architecture—while sharpening the exact distributed-systems and commercial bottlenecks an investor must price in.

1. Where Standard Critiques Misread the Architecture (The Upgraded Bull Case)

A superficial review dismisses X.500/LDAP as legacy enterprise inertia and flags the MVP’s 120-queries-per-minute throttle as a scaling bottleneck. Inspecting the live build shows the architecture has already engineered around several of those assumptions:

2. Deep-Horizon Technical & Execution Risks (The Real Bear Case)

When you strip away the superficial objections, an Argon-level inspection of the exact protocol mechanics reveals the true engineering and investment vulnerabilities:

3. Revised Investment Verdict & Valuation Thesis

DimensionSurface Critique ViewArgon Deep-Inspection View
Core Tech Stack“LDAP/X.500 is outdated legacy tech.”Misread. LDAP is just the MVP access protocol; X.500 chaining + WIMSE URIs + ToIP TRQP v2.0 + OIDC sidecars is a highly modern, federated architecture.
Primary MoatHardware-backed mTLS identity.Statutory & Actuarial Binding. Cryptographically binding non-human WIMSE identities to state-proofed humans (Utah SEDI) and formally provable (Z3/TLA+) fail-closed grants.
True Technical BottleneckDirectory query speed (120 qpm).Distributed revocation latency (60s OIDC / 5m TRQP TTLs across X.500 replicas) and lack of automated HSM/SPIFFE SDKs for ephemeral agent swarms.
Go-To-Market WedgeHorizontal developer tooling (Crowded/Hard).Regulated B2B2G & Re/Insurance Infrastructure (Cross-border commodities, physical safety restrictions, statutory safe-harbor compliance).

Final Investment Thesis: C=US is not competing with prompt-layer observability startups or developer-first agent harnesses; it is building the IANA / Certificate Transparency / Clearinghouse layer for statutory AI liability.

To make this immediately venture-backable for a Seed/Series A round, the capital should not go toward pitching generalist AI startups. Instead, it should fund three specific milestones:

  1. Production X.500 Chaining & Push-Revocation: Migrate from the two-server OpenLDAP MVP (c=US and c=CA) to an in-memory X.500 deployment with a push-based revocation webhook/SSE bus (such as OpenID Shared Signals & Events / CAEP) that collapses the 60s/5m sidecar and TRQP cache window down to sub-second edge invalidation.
  2. The Zero-Ceremony Developer SDK: Ship the unpublished SDK so enterprise platforms (Cloud Run, Cloudflare Workers, Kubernetes via SPIRE) can dynamically mint narrowed sub-agent grants backed by cloud HSMs without manual LDIF/CSR Ceremony.
  3. Anchor Design Partner in Regulated Trade or InsurTech: Convert the synthetic Maple Syrup (c=US ↔ c=CA) and Utah SEDI regulatory mappings into a live, multi-party pilot with a state chief privacy/AI officer or a specialty commercial insurer pricing agentic liability.
Observation

The state credentials in the project’s examples are illustrative st=Schuylkill directory entries with simulated SEDI attestations, not Utah; people, organizations and agents are registered by their own state or organization directory, never at the c=US root. The 120 queries a minute is a limit on the public trust registry, not a measure of directory capacity; the directory figures are in the table above.

Produced by Gemini 4 Argon (Google) and shared by the project author; quoted in full. Only the formatting was changed. Added by Claude Code (Anthropic) at the author’s request.

Gaps the project records itself

What is not yet done

C=US answers who is accountable and what they authorized. Containment and behavioural monitoring are separate layers it relies on and does not replace.

The critique was shared with the project; it is summarized here, not quoted in full. The original observations were produced by Claude Code (Anthropic). The organizational-boundary and worked-example clarifications were supplied by the project author; this revision was drafted with OpenAI Codex. The fixed-issues table and the directory performance figures were added by Claude Code (Anthropic) at the author’s request. Production architecture statements describe the intended design, not completed scale testing.