Skip to content

Proposal: Agent Identity Verification for Agent Cards #1672

Description

Summary

The A2A protocol defines a robust framework for agent-to-agent communication, but identity verification is currently left to external mechanisms. The Agent Card spec includes metadata fields, yet there is no standardized way for a receiving agent to cryptographically verify who it is communicating with.

Problem

When Agent A discovers Agent B's Agent Card, it has no protocol-level mechanism to verify that the card is authentic. The current spec relies on transport-layer trust (HTTPS, OAuth), which covers authorization but not identity verification of the agent itself. This matters in:

  • Open agent marketplaces where agents from different organizations interact
  • Delegation chains where an agent acts on behalf of another
  • Audit and compliance contexts requiring proof of which agent performed an action

Proposal

Add an optional verifiedIdentity field to the Agent Card specification:

{
  "verifiedIdentity": {
    "agentId": "agent_abc123",
    "certificate": "<base64-encoded certificate>",
    "issuer": "getagentid.dev",
    "verificationEndpoint": "https://getagentid.dev/api/v1/agents/verify"
  }
}

This allows any A2A-compliant agent to inspect identity claims, verify certificates, and optionally enforce identity verification as a precondition for communication. The field is optional and fully backward-compatible.

Reference Implementation

AgentID provides the building blocks for this:

  • ECDSA P-256 certificates issued per agent
  • Verification API for real-time credential validation
  • Agent registry for discovery of verified agents
  • Existing integrations with CrewAI, LangChain, and MCP

Source: github.com/haroldmalikfrimpong-ops/getagentid

Happy to submit a sample implementation showing A2A agents exchanging AgentID-signed Agent Cards.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions