A tool verifies ordered evidence chains in agent workflows across organizations

A2A-CaseVerify: Merkle-Linked Case-Evidence Verification for Cross-Organization A2A Workflows

Cryptography and Security

Summary

It can be hard to trust that a message passed between computer programs really has all the right supporting information in the correct order. The authors show a way to check if a set of messages and evidence pieces from different organizations fit together correctly like puzzle pieces. Their tool builds a special kind of summary called a Merkle root to confirm the story is complete and consistent. They tested it with healthcare data and found it can catch subtle errors and confirm valid cases.

What this means in practice

  • For healthcare data teams: Check if patient case data shared across organizations is complete and properly ordered to support clinical workflow claims.
  • For enterprise it security teams: Verify that cross-organization automated workflows have consistent, tamper-resistant evidence before approving actions or compliance reports.

Authors

Adil Alshammari, Hayretdin Bahsi

Abstract

Agent-to-Agent (A2A) communication enables large language model (LLM) agents to exchange tasks, messages, and artifacts across organizations. A valid message alone does not establish that a final workflow claim is supported by a complete, ordered, and case-consistent evidence path. We present A2A-CaseVerify, a deterministic offline verifier that maps preserved A2A runtime objects, business events, and typed support edges to a directed case evidence graph. It commits A2A envelopes, event projections, and support edges, then combines event and edge leaves into a deterministic case Merkle root. The verifier returns SUPPORTED with status OK only when protection and profile-specific reconstruction checks pass. We evaluate one canonical supported healthcare-profile bundle and 13 controlled mutations. We separately test a valid bundle generated with the official Python A2A software development kit (SDK). In these tests, the canonical and SDK-generated bundles are accepted. All 13 mutations are rejected, and each returned reason-code set contains its targeted diagnostic code. A2A-CaseVerify adds offline case-level evidence-support verification to A2A interoperability.