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.