crewai - ✅(Solved) Fix Add Verifiable Audit Trail Support (VAL) [1 pull requests, 2 comments, 2 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
crewAIInc/crewAI#4483Fetched 2026-04-08 00:27:04
View on GitHub
Comments
2
Participants
2
Timeline
6
Reactions
0
Timeline (top)
commented ×2closed ×1cross-referenced ×1labeled ×1

Fix Action

Fixed

PR fix notes

PR #4726: feat(val): add VALCrew verifiable audit trail support (#4483)

Description (problem / solution / changelog)

Summary

This PR implements issue #4483.

  • Scope: Add Verifiable Audit Trail Support (VAL)
  • Source branch: yuweuii:codex/issue-4483
  • Commit: f42872ef

Linked Issue

Closes #4483

<!-- CURSOR_SUMMARY -->

[!NOTE] Medium Risk Medium risk because it introduces new event-listening and persistence pathways (default JSONL writes + flush() blocking) that could affect performance and capture sensitive event payloads when enabled.

Overview Adds Verifiable Audit Log (VAL) support via a new crewai.val module: a VALAuditListener that records selected runtime events into a hash-linked VALRecord chain and sends them to pluggable attestors (JSONLVALAttestor, InMemoryVALAttestor, CallableVALAttestor).

Introduces VALCrew as an optional wrapper around Crew that installs the listener and (optionally) waits for event handlers to drain after kickoff/async kickoff methods, and exposes VALCrew via lazy import in crewai.__init__ plus a crewai_val compatibility export.

Updates docs with usage examples and adds tests covering event filtering, tamper detection via verify_val_chain, and import compatibility.

<sup>Written by Cursor Bugbot for commit 92e99d11efb4cf79c9a3445556f4a80a0cd3e333. This will update automatically on new commits. Configure here.</sup>

<!-- /CURSOR_SUMMARY -->

Changed files

  • docs/en/concepts/event-listener.mdx (modified, +39/-0)
  • lib/crewai/src/crewai/__init__.py (modified, +2/-0)
  • lib/crewai/src/crewai/val/__init__.py (added, +31/-0)
  • lib/crewai/src/crewai/val/attestors.py (added, +75/-0)
  • lib/crewai/src/crewai/val/crew.py (added, +98/-0)
  • lib/crewai/src/crewai/val/listener.py (added, +250/-0)
  • lib/crewai/src/crewai/val/types.py (added, +126/-0)
  • lib/crewai/src/crewai_val/__init__.py (added, +24/-0)
  • lib/crewai/tests/val/test_val.py (added, +113/-0)

Code Example

from crewai import Crew, Agent, Task
from crewai_val import VALCrew

researcher = Agent(role="Researcher", ...)
writer = Agent(role="Writer", ...)

# Wrap your crew - all actions attested to HCS
crew = VALCrew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    topic_id="0.0.12345"
)

result = crew.kickoff()
RAW_BUFFERClick to expand / collapse

Add Verifiable Audit Trail Support (VAL)

Problem: Multi-agent systems need verifiable records of which agent did what. Current CrewAI logging can be modified or deleted - no way to prove agent actions to third parties.

Proposed Solution: Add VALCrew wrapper that automatically attests all crew actions to immutable storage (Hedera HCS by default, chain-agnostic spec).

Example Usage:

from crewai import Crew, Agent, Task
from crewai_val import VALCrew

researcher = Agent(role="Researcher", ...)
writer = Agent(role="Writer", ...)

# Wrap your crew - all actions attested to HCS
crew = VALCrew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    topic_id="0.0.12345"
)

result = crew.kickoff()

Benefits:

  • Attribution: Prove which agent in your crew did what
  • Trust: Users can verify crew behavior
  • Debugging: Complete crew interaction history
  • Compliance: Auditable multi-agent workflows

Specification: https://github.com/aite550659-max/verifiable-agent-log

Reference Implementation: https://github.com/aite550659-max/verifiable-agent-log/tree/main/integrations/crewai

Cost: ~$0.0008 per attestation on Hedera HCS

Would CrewAI consider adding this as an optional feature?

extent analysis

Problem Summary

VAL (Verifiable Audit Trail) Support

Root Cause Analysis

Lack of verifiable records of agent actions in CrewAI logging.

Fix Plan

Add VALCrew Wrapper

Step 1: Install VALCrew

pip install crewai_val

Step 2: Import VALCrew

from crewai_val import VALCrew

Step 3: Wrap Your Crew

crew = VALCrew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    topic_id="0.0.12345"
)

Step 4: Kickoff Crew with VALCrew

result = crew.kickoff()

Step 5: Verify Attestations on Hedera HCS

Use the Hedera HCS explorer to verify the attested actions.

Optional: Implement Chain-Agnostic VALCrew

To make VALCrew chain-agnostic, you can use a library like web3 to interact with different blockchain networks.

Step 1: Install web3

pip install web3

Step 2: Import web3

from web3 import Web3

Step 3: Configure VALCrew for Chain-Agnostic Support

class ChainAgnosticVALCrew(VALCrew):
    def __init__(self, ...):
        ...
        self.web3 = Web3(Web3.HTTPProvider('https://mainnet.infura.io/v3/YOUR_PROJECT_ID'))

Step 4: Use ChainAgnosticVALCrew

crew = ChainAgnosticVALCrew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    topic_id="0.0.12345"

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

crewai - ✅(Solved) Fix Add Verifiable Audit Trail Support (VAL) [1 pull requests, 2 comments, 2 participants]