Agent Principal Identity¶
Status: Standard-only Alpha (v1.0.0-alpha.2)
Last Updated: 2026-03-20
Spec ID: ACGP-7
Normative Keywords: MUST, SHOULD, MAY (per RFC 2119 and RFC 8174)
Abstract¶
This specification defines the minimum public identity semantics for governed agents in ACGP. It establishes that agent_id identifies the governed agent principal within a deployment-defined trust domain, while agent_label is an optional display field and sender_id remains a transport or runtime sender identifier.
agent_id is the stable governed principal identifier within a deployment-defined trust domain. It is not, by itself, cryptographic proof of identity.
ACGP-7 standardizes identity meaning and governance keying. It does not define cryptographic proof of identity, certificate issuance, federation, workload attestation, or revocation protocols.
Requirements Language¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
1. Scope [NORMATIVE]¶
ACGP-7 defines:
- the meaning of
agent_idas the stable governed principal identifier - the meaning of
agent_labelas a non-authoritative human-readable label - the distinction between
agent_idand transport/runtimesender_id - the governance-state keying expectations for trust debt, intervention history, review posture, and rate controls
ACGP-7 does not define:
- identity provider integration
- signing, PKI, certificate issuance, or revocation
- workload attestation or hardware identity
- cross-domain federation or trust discovery
- new required wire fields beyond the existing ACGP trace model
2. Design Principles [NORMATIVE]¶
The following principles govern ACGP identity semantics:
- ACGP governs an agent principal, not an agent-chosen display name.
agent_idis consumed as a stable governance key within a deployment-defined trust domain.- Human-readable names are useful for operators but MUST remain non-authoritative.
- Transport senders and governed principals are related but distinct concepts.
- Identity meaning is standardized here; identity proof remains a deployment or extension concern.
3. Identity Model [NORMATIVE]¶
3.1 Core Terms¶
agent_id is the stable identifier of the governed agent principal within a deployment-defined trust domain.
agent_label is an optional human-readable display name associated with that principal. agent_label is non-authoritative.
sender_id identifies the transport or runtime sender of a message envelope. It is not necessarily the same as the governed agent principal.
session_id, task_id, trace_id, and runtime instance identifiers are correlation identifiers. They do not replace agent_id as the governance key.
3.2 Assignment Rules¶
Implementations MUST apply the following rules:
agent_idMUST be assigned by the host runtime, operator, or deployment control plane.- Model or agent logic MUST NOT unilaterally choose its own governing
agent_id. - Implementations MUST treat
agent_labelas optional display metadata only. - Implementations MUST NOT use
agent_labelas a trust anchor, audit correlation key, or state-storage key. - Implementations MUST NOT infer governing identity solely from a model-selected name, assistant name, or wrapper label.
3.3 Identifier Quality¶
agent_id SHOULD be stable across sessions for the same governed principal.
agent_id SHOULD be opaque or deployment-scoped rather than human-meaningful when practical.
agent_id MUST NOT embed secrets, credentials, or sensitive personal data.
Example valid forms include:
urn:acgp:agent:financeops:prod:7f4c9d2aagent-prod-42c9a7svc://governed-agents/risk-review/primary
4. Wire Semantics [NORMATIVE]¶
ACGP-7 does not introduce new core wire fields. It clarifies how existing fields are interpreted.
- TRACE
agent_ididentifies the governed agent principal responsible for the traced reasoning or action. - Envelope
sender_ididentifies the transport or runtime sender of the message. sender_idandagent_idMAY be the same string in simple deployments.sender_idandagent_idMAY differ in proxy, sidecar, brokered, delegated, or multi-runtime deployments.- Implementations MUST NOT reject an otherwise valid message solely because
sender_idandagent_iddiffer.
agent_label MAY appear in existing metadata surfaces such as TRACE meta, logs, dashboards, or operator interfaces. ACGP-7 does not require a dedicated top-level agent_label field.
5. Stateful Governance Integration [NORMATIVE]¶
Per-agent governance state MUST be keyed to agent_id.
This includes at minimum:
- trust debt state
- intervention history
- review posture
- rate controls
- any other governance memory intended to persist across sessions or runtimes for the same governed principal
Implementations MUST NOT substitute sender_id, agent_label, session_id, trace_id, or runtime instance identifiers when evaluating principal-scoped governance state.
If a deployment intentionally scopes governance state more narrowly than all runtimes in a trust domain, it MUST still preserve the invariant that the chosen state key represents the governed principal and not merely a display name or transport hop.
6. Conformance Requirements [NORMATIVE]¶
An implementation that claims conformance with ACGP-7 MUST:
- treat
agent_idas the governed principal identifier - treat
agent_labelas non-authoritative display metadata only - preserve the semantic distinction between
sender_idandagent_id - key principal-scoped governance state to
agent_id - avoid deriving
agent_idfrom agent-chosen names in governed execution paths
An implementation does not satisfy ACGP-7 if it:
- equates display name with governing identity by default
- rejects valid messages because
sender_id != agent_id - keys trust debt or rate limits to session-scoped identifiers instead of
agent_id
7. Security Considerations [NORMATIVE]¶
ACGP-7 defines semantic identity, not cryptographic identity proof.
Accordingly:
- Self-presented
agent_idvalues alone are not sufficient trust anchors for deployment security. - Deployments MUST still provide transport authentication, signing validation where required, and operator/runtime controls for assigning or validating governed principals.
- Certificate chains, issuer trust, workload binding, and revocation remain outside this specification.
The main security benefit of ACGP-7 is reducing ambiguity in governance state and audit semantics. It does not eliminate the need for deployment trust controls.
For the conceptual deployment-boundary map, see docs/learn/concepts/protocol-boundaries.md.
8. Future Extension Surface [INFORMATIVE]¶
Future extensions MAY define:
- signed agent identity documents
- issuer-backed or operator-backed principal assertions
- workload identity binding
- federation and cross-domain trust mapping
- revocation and rotation workflows for principal credentials
Those capabilities are out of scope for ACGP-7 core semantics.
9. Test Vector Guidance [INFORMATIVE]¶
Recommended checked-in conformance vectors include:
identity-001.jsonfor valid principal assignment withmeta.agent_labelidentity-002.jsonfor trust-debt continuity whenagent_labelchangesidentity-003.jsonfor valid TRACE handling whensender_id != agent_ididentity-004.jsonfor principal-scoped rate control across sessionsidentity-005.jsonfor audit correlation byagent_idacross runtimes and sessionsidentity-006.jsonfor rejection of self-named principal assignment