The Python Governance Platform for AI Agents — compliance middleware for LangGraph, CrewAI, AutoGen
Project description
Drako SDK
The Trust Layer for AI Agents — Scan for governance gaps offline. Enforce policies in production via the Drako platform.
Quick Start
1. Install
pip install drako
With framework-specific extras:
pip install drako[crewai] # CrewAI support
pip install drako[langgraph] # LangGraph support
pip install drako[autogen] # AutoGen support
pip install drako[all] # All frameworks
2. Scan Your Project (free, offline, no account needed)
drako scan .
# → Governance Score: 35/100 | 8 findings | Agent BOM: 3 agents, 12 tools
# → Run `drako auth login` to enable runtime governance
3. Connect to Platform (optional, enables runtime governance)
drako init
This will:
- Validate your API key
- Generate
.drako.yamlconfig - Create a framework-specific middleware file
- Enable runtime policy enforcement
4. Integrate Runtime Middleware
CrewAI
from drako import with_compliance
from my_crew import MyCrew
crew = with_compliance(MyCrew())
result = crew.kickoff()
LangGraph
from drako import with_langgraph_compliance
graph = with_langgraph_compliance(my_graph.compile())
result = graph.invoke(input)
AutoGen
from drako import with_autogen_compliance
chat = with_autogen_compliance(my_group_chat)
Direct Client
from drako import DrakoClient
client = DrakoClient.from_env()
result = client.verify_agent_identity_sync("my-agent", "researcher")
CLI Commands
| Command | Description | Requires Account |
|---|---|---|
drako scan . |
Scan project for governance gaps | No |
drako init |
Initialize runtime SDK in your project | Yes |
drako status |
Check connection and quota status | Yes |
drako verify |
Verify audit hash chain integrity | Yes |
drako serve |
Start a local MCP compliance server | Yes |
Configuration
.drako.yaml:
version: "1.0"
tenant_id: your_tenant_id
api_key_env: DRAKO_API_KEY
endpoint: https://api.getdrako.com
framework: crewai
tools:
audit_log_action: true
verify_agent_identity: true
evaluate_policy: true
guardrails:
prompt_injection_detection: true
dlp_scanning: false
trust:
enabled: true
decay_half_life_hours: 168
circuit_breaker_threshold: 3
Capabilities
Scan CLI (free, offline)
| Capability | Status | Details |
|---|---|---|
| Governance Score | ✅ Built-in | 25 rules, 4 categories, deterministic evaluation |
| Agent BOM | ✅ Built-in | AST-based discovery, 6 frameworks |
| EU AI Act Gap Detection | ✅ Built-in | Art. 9, 11, 12, 14 mapping with fix snippets |
| SARIF 2.1.0 | ✅ Built-in | GitHub Code Scanning compatible |
| SVG Badge | ✅ Built-in | Embeddable governance badge |
Runtime Platform (requires account)
| Capability | Status | Details |
|---|---|---|
| Policy Enforcement | ✅ Production | Real-time evaluation on tool calls |
| DLP/PII Detection | ✅ Production | Presidio-based, 8+ entity types, anonymization |
| Circuit Breaker | ✅ Production | State machine + EigenTrust scoring |
| Audit Trail | ✅ Production | SHA-256/BLAKE3 hash chain + digital signatures |
| Trust Score | ✅ Production | 0-100 dynamic score per agent |
| OTEL Export | 🔜 Next Sprint | OpenTelemetry semantic conventions |
Environment Variables
| Variable | Description | Required |
|---|---|---|
DRAKO_API_KEY |
Your API key (for runtime features) | For platform |
DRAKO_ENDPOINT |
Custom backend URL | No |
DRAKO_TENANT_ID |
Override tenant ID | No |
Development
git clone https://github.com/angelnicolasc/drako.git
cd drako
pip install -e ".[dev]"
pytest
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
drako-2.5.3.tar.gz
(331.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
drako-2.5.3-py3-none-any.whl
(263.3 kB
view details)
File details
Details for the file drako-2.5.3.tar.gz.
File metadata
- Download URL: drako-2.5.3.tar.gz
- Upload date:
- Size: 331.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbeecfabe92e53afb85ac5f439527c36b4a0547890f9b35c28bbc77f3c16a975
|
|
| MD5 |
d14e9bde3bee1656ccd94918498960dd
|
|
| BLAKE2b-256 |
0b723c257dfd310f4e2aa0a30b13e05066fe64b6eead79867527d499cb58bbf1
|
File details
Details for the file drako-2.5.3-py3-none-any.whl.
File metadata
- Download URL: drako-2.5.3-py3-none-any.whl
- Upload date:
- Size: 263.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9065e0197a952e2f05d219531fc0f5a0dd3a56d6a0d32b81a309b1b2e2847897
|
|
| MD5 |
2cadbede55eac821a170a604f6822f9d
|
|
| BLAKE2b-256 |
18ebd2dd58971a070a2561fc62fe77a79d8d0cd76ce6def684d0c6a7c262020a
|