Skip to content

docs: add agent identity verification and trust framework#1496

Open
thebenignhacker wants to merge 1 commit intoa2aproject:mainfrom
opena2a-org:feature/agent-identity-trust
Open

docs: add agent identity verification and trust framework#1496
thebenignhacker wants to merge 1 commit intoa2aproject:mainfrom
opena2a-org:feature/agent-identity-trust

Conversation

@thebenignhacker
Copy link
Copy Markdown

@thebenignhacker thebenignhacker commented Feb 18, 2026

Closes #1497

Summary

  • Proposes an Agent Identity and Trust Framework for A2A using existing extension points (zero protobuf schema changes)
  • Addresses security gaps exploitable in current deployments: agent impersonation, missing trust evaluation, delegation chain attacks, and absent revocation mechanisms
  • Defines three identity verification levels (self-asserted, domain-verified, organization-verified), standardized trust signals, mandatory AgentCard signing for production, revocation endpoints, delegation chain security with scope narrowing and depth limits, and application-layer message signing with replay protection

Files

  • docs/proposals/agent-identity-trust-framework.md — Main proposal
  • docs/proposals/agent-identity-trust-framework-design-rationale.md — Design rationale (ADR format, 4 options considered)

Design Approach

Uses the existing AgentExtension mechanism and message metadata fields. All changes are additive. Existing agents continue to work at Level 0 (self-asserted). Progressive adoption path from Level 0 to Level 2.

Considered and rejected: W3C DIDs/VCs (too complex for current ecosystem), X.509 certificates (too heavyweight for agent interactions), do-nothing (unacceptable given exploitable gaps).

Backward Compatibility

No protobuf schema changes. No existing fields modified. The MAY-to-MUST change for AgentCard signing applies only to production deployments over public networks, aligning with the existing MUST for encrypted communication (Section 7.1).

@thebenignhacker thebenignhacker requested a review from a team as a code owner February 18, 2026 01:42
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @abdelsfane, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a comprehensive Agent Identity Verification and Trust Framework for the A2A protocol. The primary goal is to address critical security vulnerabilities, such as agent impersonation and lack of trust evaluation, which are currently exploitable in multi-agent ecosystems. By defining clear identity verification levels, standardized trust signals, and robust mechanisms for delegation chain security and message integrity, this proposal aims to enhance the overall security posture of A2A deployments, paving the way for broader enterprise adoption in sensitive use cases.

Highlights

  • Agent Identity Verification Levels: Introduced three levels of agent identity verification: self-asserted, domain-verified (via DNS TXT records), and organization-verified (via third-party attestations), allowing clients to evaluate agent trustworthiness.
  • Standardized Trust Signals: Defined a set of standardized trust signals (e.g., uptime, compliance, security contact) that agents can declare, enabling clients to make informed trust decisions.
  • Mandatory AgentCard Signing: Elevated AgentCard signing from optional (MAY) to mandatory (MUST) for production deployments over public networks, enhancing security guarantees.
  • AgentCard Revocation Mechanisms: Established mechanisms for revoking compromised AgentCards, including removal from JWKS endpoints, DNS record updates, and a well-known revocation notification endpoint.
  • Delegation Chain Security: Implemented security measures for multi-agent delegation chains, such as maxDepth limits, scope narrowing, and mandatory signing of delegation contexts to ensure provenance and authorization.
  • Application-Layer Message Signing: Introduced application-layer message signing with timestamps and nonces to provide integrity and replay protection for sensitive messages, complementing TLS security.
Changelog
  • docs/proposals/agent-identity-trust-framework-design-rationale.md
    • Added a new design rationale document for the Agent Identity and Trust Framework.
  • docs/proposals/agent-identity-trust-framework.md
    • Added a new proposal document detailing the Agent Identity Verification and Trust Framework.
Activity
  • No human activity (comments, reviews, etc.) has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This is a well-written and comprehensive proposal that addresses critical security and trust gaps in the A2A protocol. The introduction of identity verification levels, trust signals, and delegation chain security is a significant step forward. The design rationale is sound, and the choice of an extension-based approach ensures backward compatibility. My review includes a few suggestions to improve clarity and consistency in the proposal, particularly regarding the structure of the AgentCard extension, the specification of the delegation signing mechanism, and consistency in enum value casing. These changes will help ensure a smoother implementation and adoption of this important framework.

@thebenignhacker thebenignhacker changed the title Proposal: Agent Identity Verification and Trust Framework docs: add agent identity verification and trust framework Feb 18, 2026
@thebenignhacker thebenignhacker force-pushed the feature/agent-identity-trust branch 2 times, most recently from 531e5c5 to 8179af0 Compare February 18, 2026 01:59
Addresses the most critical security gaps in A2A that are exploitable
today: agent impersonation, missing trust evaluation, delegation chain
attacks, and absent revocation mechanisms.

Proposes six capabilities using existing extension points (zero protobuf
schema changes): identity verification levels (0/1/2), trust signals,
mandatory AgentCard signing for production, revocation endpoints,
delegation chain security with scope narrowing and depth limits, and
application-layer message signing with replay protection.
@thebenignhacker thebenignhacker force-pushed the feature/agent-identity-trust branch from 8179af0 to ea307d7 Compare February 18, 2026 02:02
Copy link
Copy Markdown

@The-Nexus-Guard The-Nexus-Guard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent proposal — this addresses the right gaps. A few thoughts from building a working implementation of agent identity (AIP):

On verification levels: The three-tier model (self-asserted → domain-verified → org-verified) maps well to real deployment patterns. In practice, we found that a fourth level is useful: vouched — where another already-verified agent attests to a new agent's identity. This creates organic trust propagation without requiring every agent to go through DNS or org verification. It's especially important for ephemeral agents that spin up for a single task.

On DNS verification: The _a2a-identity TXT record approach is clean. One practical concern: DNS propagation delays mean there's a window where a revoked agent still appears valid. Have you considered specifying a maximum cache TTL for identity DNS records? We've seen 5-minute TTLs work well in practice.

On trust signals: The self-asserted vs. attested distinction is crucial. In our experience, self-asserted uptime/compliance signals are mostly ignored by clients — they need third-party attestation to be meaningful. Would it make sense to require attestation for signals above a certain trust threshold?

On revocation: The .well-known/a2a-revocations.json endpoint is a good addition. One gap: what happens when the agent's domain itself is compromised? A central or federated revocation registry (similar to CRL/OCSP for TLS) might be needed as a fallback.

On message signing: Strong +1 on mandatory signing for production. The replay protection via nonces is essential — we've seen replay attacks in the wild even in internal deployments.

Would be happy to share implementation experience from AIP's Ed25519 + DID-based approach if useful. The vouch chain mechanism in particular has been battle-tested with real agents.

The-Nexus-Guard added a commit to The-Nexus-Guard/A2A that referenced this pull request Feb 24, 2026
Proposes an A2A extension for cryptographic agent identity using
Decentralized Identifiers (DIDs) and vouch chains via AIP.

Companion to PR a2aproject#1496 (Agent Identity and Trust Framework) - provides
the DID infrastructure layer that a2aproject#1496's design rationale identified
as Option 2 but set aside due to missing infrastructure.

Key features:
- AgentCard extension for DID advertisement
- Identity verification flow with trust scoring
- Message signing with replay protection
- Transitive vouch chains for delegation
- Real-time revocation
- Compatibility mapping with PR a2aproject#1496 levels
@thebenignhacker
Copy link
Copy Markdown
Author

Excellent proposal — this addresses the right gaps. A few thoughts from building a working implementation of agent identity (AIP):

On verification levels: The three-tier model (self-asserted → domain-verified → org-verified) maps well to real deployment patterns. In practice, we found that a fourth level is useful: vouched — where another already-verified agent attests to a new agent's identity. This creates organic trust propagation without requiring every agent to go through DNS or org verification. It's especially important for ephemeral agents that spin up for a single task.

On DNS verification: The _a2a-identity TXT record approach is clean. One practical concern: DNS propagation delays mean there's a window where a revoked agent still appears valid. Have you considered specifying a maximum cache TTL for identity DNS records? We've seen 5-minute TTLs work well in practice.

On trust signals: The self-asserted vs. attested distinction is crucial. In our experience, self-asserted uptime/compliance signals are mostly ignored by clients — they need third-party attestation to be meaningful. Would it make sense to require attestation for signals above a certain trust threshold?

On revocation: The .well-known/a2a-revocations.json endpoint is a good addition. One gap: what happens when the agent's domain itself is compromised? A central or federated revocation registry (similar to CRL/OCSP for TLS) might be needed as a fallback.

On message signing: Strong +1 on mandatory signing for production. The replay protection via nonces is essential — we've seen replay attacks in the wild even in internal deployments.

Would be happy to share implementation experience from AIP's Ed25519 + DID-based approach if useful. The vouch chain mechanism in particular has been battle-tested with real agents.

Follow up -
Thanks for the thoughtful work here, @The-Nexus-Guard, and for referencing #1496's design rationale in your PR. It's encouraging to see more people thinking about cryptographic identity for agents. A few technical and architectural concerns I'd want to address before this moves forward:

1. Protocol specs should be implementation-agnostic

The spec as written hardcodes a specific hosted service (aip-service.fly.dev) into the extension definition — the verification_endpoint and trust_score_endpoint both point to a single provider's infrastructure. A protocol-level extension should define interfaces and behaviors, not route traffic to a particular service. If this extension were adopted, every A2A agent advertising DID identity would depend on one third-party endpoint for verification and trust scoring. That's a centralization risk that contradicts the goals of decentralized identity.

For comparison, #1496 defines an extensible trust framework with levels (0/1/2) that any implementation can satisfy — it doesn't mandate a specific verification service.

2. Single point of failure / trust anchor concerns

Related to the above: the spec doesn't mention self-hosting, federation, or what happens when aip-service.fly.dev is unavailable. If this becomes the reference implementation for DID-based identity in A2A, we're creating a single point of failure for agent identity verification across the ecosystem. The spec should at minimum define how alternative AIP service providers could operate, or better yet, define the verification protocol abstractly so it's not coupled to one deployment.

3. Signature serialization is underspecified

The Gemini review already flagged this, but I want to reinforce it — "the signature covers method + params.message.parts + timestamp + nonce" is not precise enough for interoperability. Without a canonical serialization format (RFC 8785 or equivalent), two compliant implementations could produce different byte sequences for the same message, causing verification failures. This needs to be fully specified before it's viable as a protocol extension.

4. Substantial overlap with existing work in #1496

The capabilities covered here — Ed25519 signatures, trust scoring, vouch/delegation chains, capability scoping, real-time revocation — are already addressed or planned within the Agent Identity and Trust Framework in #1496. Specifically:

Rather than a parallel spec, it might be more productive to contribute DID-specific extensions within the framework #1496 already establishes — particularly at Level 2 (cryptographic verification), where DID methods are a natural fit.

5. The "DID infrastructure doesn't exist" framing needs context

The design rationale in #1496 noted that DID infrastructure doesn't yet exist for agents specifically — meaning a purpose-built system with agent lifecycle management, NHI governance, capability enforcement, and supply chain verification integrated into the identity layer. A generic DID service with vouch chains is a useful primitive, but it doesn't solve the full problem that #1496's framework was designed to address.


To be clear, I think DID-based identity is valuable and should be part of the A2A identity story — that's why it's on the roadmap. My concern is with merging a spec that's tightly coupled to a single hosted service when we should be defining protocol-level interfaces that any implementation (AIP, AIM, or others) can satisfy.

Happy to discuss how we can incorporate DID verification into the existing framework in #1496 in a way that's implementation-agnostic and benefits the whole ecosystem.

@gstudiogdesigns-max
Copy link
Copy Markdown

We've built a production implementation of agent identity verification for A2A (Ed25519 message signing, identity registry, HITL escalation, prompt injection detection). Happy to share learnings from our deployment. Some of the design decisions here align with what we've shipped — particularly the trust levels and message signing approach

@amye amye requested review from a team and removed request for a team March 16, 2026 18:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Proposal: Agent Identity Verification and Trust Framework

3 participants