Integration Guides
Integrate DingDawg with Any Framework
Two lines of code. Any agent. Governed by default.
Every integration includes
Governance Receipt
Signed receipt per action — decision, risk score, policy trace, timestamp.
Rollback on Violation
Deny decision halts execution immediately. No side-effects proceed.
IPFS Audit Trail
Every execution pinned to IPFS. Tamper-proof. Forever accessible.
1
CrewAI
pip install dingdawg-loop
Works in 60 secondsPyPI
crew_governed.py
from crewai import Agent, Task, Crew
from dingdawg_loop import schedule_governed
@schedule_governed(cron="0 9 * * *", risk_tier="high")
def run_crew():
agent = Agent(
role="Compliance Scanner",
goal="Scan codebase for EU AI Act violations",
backstory="Expert in AI regulatory compliance",
)
task = Task(
description="Scan all model decision paths for audit gaps",
agent=agent,
)
# Every task auto-governed, receipted, and auditable
return Crew(agents=[agent], tasks=[task]).kickoff()- Every CrewAI task execution gets a signed governance receipt
- Automatic rollback if any task violates policy during the run
- IPFS audit proof pinned per execution — tamper-proof forever
$pip install dingdawg-loop
2
LangGraph
pip install dingdawg-loop
Works in 60 secondsPyPI
graph_governed.py
from langgraph.graph import StateGraph
from dingdawg_loop import governed_node
from typing import TypedDict
class AgentState(TypedDict):
messages: list
findings: list
builder = StateGraph(AgentState)
# governed_node wraps any LangGraph node with DingDawg verification
builder.add_node(
"scanner",
governed_node(scan_fn, risk_tier="medium"),
)
builder.add_node(
"reporter",
governed_node(report_fn, risk_tier="low"),
)
builder.set_entry_point("scanner")
builder.add_edge("scanner", "reporter")
graph = builder.compile()- governed_node wraps any existing node — zero graph restructuring required
- Each node execution receives its own governance receipt and risk score
- Full graph execution trace stored on IPFS — every edge, every decision
$pip install dingdawg-loop
3
Claude Code
npx dingdawg-governance
Works in 60 secondsnpm
.claude/settings.json
{
"mcpServers": {
"dingdawg-governance": {
"command": "npx",
"args": ["dingdawg-governance"]
},
"dingdawg-loop": {
"command": "npx",
"args": ["dingdawg-loop"]
}
}
}- Every Claude Code tool call passes through a governance gate before executing
- Receipts written locally to ~/.dingdawg/governance/receipts/ after each call
- Add DINGDAWG_API_KEY to sync receipts to cloud for team audit trails
$npx dingdawg-governance
4
Cursor
npx dingdawg-governance
Works in 60 secondsnpm
~/.cursor/mcp.json
{
"mcpServers": {
"dingdawg-governance": {
"command": "npx",
"args": ["dingdawg-governance"]
},
"dingdawg-loop": {
"command": "npx",
"args": ["dingdawg-loop"]
}
}
}- Every Cursor AI action passes through a governance gate — deny means block, allow means execute
- Receipts stored at ~/.dingdawg/governance/receipts/ with risk score and policy trace
- Same MCP config as Claude Code — one governance layer for both editors
$npx dingdawg-governance
Framework not listed?
If it runs Python or Node, it works with DingDawg
Any agent that accepts a function wrapper (Python) or MCP server config (Node) can be governed. AutoGen, Semantic Kernel, custom loops — governed_node and schedule_governed work anywhere.