autogen - 💡(How to fix) Fix Feature: Cryptographic action receipts (AAR) for multi-agent conversation provenance [3 comments, 4 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
microsoft/autogen#7360Fetched 2026-04-08 00:39:41
View on GitHub
Comments
3
Participants
4
Timeline
3
Reactions
0
Timeline (top)
commented ×3

Code Example

from autogen import AssistantAgent
from botindex_aar import AARMiddleware

agent = AARMiddleware(
    AssistantAgent("analyst", llm_config=llm_config),
    signing_key=key
)
# Every reply now carries a .receipt attribute
RAW_BUFFERClick to expand / collapse

Cryptographic Action Receipts for Multi-Agent Conversations

In AutoGen's multi-agent conversation patterns, agents pass messages, invoke tools, and make decisions — but there's no standardized way to prove what happened. For enterprise deployments requiring audit trails, this is a gap.

Agent Action Receipts (AAR)

AAR is an open standard for Ed25519-signed proof of agent actions. Each action produces a tamper-proof receipt:

  • Agent identity + action + scope
  • SHA-256 hashes of inputs/outputs (PII-safe by design)
  • Ed25519 signature — offline-verifiable, no network calls needed

Receipts chain via Session Continuity Certificates (SCC) — a hash chain proving an agent maintained consistent identity across conversation turns.

AutoGen integration concept

An AARMiddleware agent wrapper that signs receipts on every generate_reply:

from autogen import AssistantAgent
from botindex_aar import AARMiddleware

agent = AARMiddleware(
    AssistantAgent("analyst", llm_config=llm_config),
    signing_key=key
)
# Every reply now carries a .receipt attribute

What's available

Already in discussion at crewAI (#4754), FINOS AI Governance (#266), and AWS Agent Squad (#429). Feedback welcome on how this maps to AutoGen's middleware patterns.

extent analysis

Fix Plan

To integrate Agent Action Receipts (AAR) into AutoGen, we will create an AARMiddleware that signs receipts on every generate_reply.

Here are the steps:

  • Implement the AARMiddleware class
  • Integrate the AARMiddleware with the AssistantAgent
  • Use the AARMiddleware to generate receipts for every reply

Example Code

from autogen import AssistantAgent
from botindex_aar import AARMiddleware
import hashlib
import ed25519

# Generate a signing key
signing_key = ed25519.SigningKey.generate()

# Create an AARMiddleware instance
agent = AARMiddleware(
    AssistantAgent("analyst", llm_config=llm_config),
    signing_key=signing_key
)

# Define a function to generate a receipt
def generate_receipt(agent, action, scope, inputs, outputs):
    # Calculate SHA-256 hashes of inputs and outputs
    input_hash = hashlib.sha256(str(inputs).encode()).hexdigest()
    output_hash = hashlib.sha256(str(outputs).encode()).hexdigest()
    
    # Create a receipt
    receipt = {
        "agent_identity": agent.identity,
        "action": action,
        "scope": scope,
        "input_hash": input_hash,
        "output_hash": output_hash
    }
    
    # Sign the receipt
    signed_receipt = agent.signing_key.sign(str(receipt).encode())
    
    return receipt, signed_receipt

# Generate a reply and a receipt
reply = agent.generate_reply("Hello, how are you?")
receipt, signed_receipt = generate_receipt(agent, "generate_reply", "conversation", "Hello, how are you?", reply)

# Print the reply and the receipt
print("Reply:", reply)
print("Receipt:", receipt)
print("Signed Receipt:", signed_receipt)

Verification

To verify that the fix worked, check that:

  • Every reply generated by the AARMiddleware has a .receipt attribute
  • The .receipt attribute contains the expected information (agent identity, action, scope, input hash, output hash)
  • The receipt is correctly signed with the signing key

Extra Tips

  • Make sure to handle errors and exceptions properly when generating and signing receipts
  • Consider implementing a mechanism to store and retrieve receipts for auditing and debugging purposes
  • Review the AAR specification and the botindex-aar SDK documentation for more information on implementing AAR in your application.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

autogen - 💡(How to fix) Fix Feature: Cryptographic action receipts (AAR) for multi-agent conversation provenance [3 comments, 4 participants]