langgraph-trust
Trust-gated checkpoint nodes for LangGraph — cryptographic identity, governance policy enforcement, and trust-aware routing for multi-agent graphs.
Built on AgentMesh trust primitives. Designed as an external package per LangGraph maintainer guidance.
Install
pip install langgraph-trust
Quick Start
from langgraph.graph import StateGraph, END
from langgraph_trust import TrustGate, PolicyCheckpoint, trust_edge
from langgraph_trust.gate import TrustScoreTracker
# Shared trust tracker
tracker = TrustScoreTracker()
tracker.set_score("research-agent", 0.85)
# Build a trust-gated graph
graph = StateGraph(dict)
graph.add_node("research", research_agent)
graph.add_node("trust_check", TrustGate(min_score=0.7, tracker=tracker))
graph.add_node("execute", execution_agent)
graph.add_node("human_review", human_review_agent)
graph.add_edge("research", "trust_check")
graph.add_conditional_edges("trust_check", trust_edge(
pass_node="execute",
fail_node="human_review",
))
graph.add_edge("execute", END)
graph.add_edge("human_review", END)
graph.set_entry_point("research")
app = graph.compile()
Components
TrustGate
Conditional checkpoint node that evaluates an agent's trust score before allowing graph transitions.
gate = TrustGate(
min_score=0.7, # Minimum score to pass
review_threshold=0.8, # Optional: scores between min and review → REVIEW verdict
tracker=tracker, # TrustScoreTracker instance
identity_manager=idm, # Optional: AgentIdentityManager for capability checks
agent_name="my-agent", # Default agent (overridden by state["trust_agent"])
required_capabilities=["summarize"], # Optional capability requirements
)
PolicyCheckpoint
Governance policy enforcement at graph transitions.
from langgraph_trust.policy import GovernancePolicy
policy = GovernancePolicy(
name="production-safety",
max_tokens=4000,
max_tool_calls=5,
blocked_tools=["shell_exec", "file_delete"],
blocked_patterns=["password", "api_key", "secret"],
require_human_approval=False,
)
checkpoint = PolicyCheckpoint(policy=policy)
graph.add_node("policy_gate", checkpoint)
Trust-Aware Edges
from langgraph_trust import trust_edge, trust_router
# Simple pass/fail routing
graph.add_conditional_edges("gate", trust_edge(
pass_node="execute",
fail_node="quarantine",
review_node="human_review", # Optional
))
# General-purpose routing
graph.add_conditional_edges("gate", trust_router({
"pass": "execute",
"fail": "quarantine",
"review": "escalate",
}))
Dynamic Trust Scoring
from langgraph_trust.gate import TrustScoreTracker
tracker = TrustScoreTracker(default_score=0.5)
# After successful task
tracker.record_success("agent-a") # +0.01
# After failure (severity configurable)
tracker.record_failure("agent-a", severity=0.2) # -0.2
# Agent auto-blocked when score < min_score
Cryptographic Identity
from langgraph_trust import AgentIdentityManager
idm = AgentIdentityManager()
# Create Ed25519 identity with capabilities
alice = idm.create_identity("alice", capabilities=["summarize", "translate"])
print(alice.did) # did:langgraph:a3f7c2...
# Sign and verify data
sig = alice.sign(b"important data")
assert alice.verify(sig, b"important data")
How It Works
All components write their verdict to state["trust_result"]:
{
"verdict": "pass" | "fail" | "review",
"score": 0.85,
"threshold": 0.7,
"agent_did": "did:langgraph:abc...",
"reason": "Trust gate passed",
"capabilities_checked": ["summarize"],
"policy_violations": [],
"timestamp": "2026-02-17T..."
}
The trust_edge and trust_router functions read this verdict to route the graph.
Integration with Full AgentMesh
This package provides a lightweight, self-contained trust layer. For the full 5-dimension trust scoring engine with temporal decay, trust contagion, and hash-chain audit chains, install:
pip install langgraph-trust[agentmesh]
Related
- AgentMesh — Full trust scoring engine
- Agent OS — Governance kernel for AI agents
- Dify Trust Layer — Similar integration for Dify (merged)
- LlamaIndex Integration — Trust layer for LlamaIndex (merged)
License
MIT
Metadata
Release files for langgraph_agentmesh 3.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| langgraph_agentmesh-3.6.0.tar.gz | 11.4 kB | Without provenance | Details for langgraph_agentmesh-3.6.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| langgraph_agentmesh-3.6.0-py3-none-any.whl | Python 3 | none | any | Details for langgraph_agentmesh-3.6.0-py3-none-any.whl |
Total release size: 22.7 kB
Release files / langgraph_agentmesh-3.6.0.tar.gz
| Download URL | langgraph_agentmesh-3.6.0.tar.gz |
|---|---|
| Size | 11.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e63710718812d458ec80f88124a81e5bae4516c47dd355d0a8ebdb554702ac43
|
|
BLAKE2b-256 checksum How to use checksums |
157303a5cf6b0e8cbb1ce5477b0ca6e9d2cabefb57737469e9e73d95be905e73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
RestSharp/106.13.0.0
|
Release files / langgraph_agentmesh-3.6.0-py3-none-any.whl
| Download URL | langgraph_agentmesh-3.6.0-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
52fb552c5d4e1a538de20af640d3316e490e9ef03916fc79a9eee8e8b7e18510
|
|
BLAKE2b-256 checksum How to use checksums |
e039437ba093504db21663377ec9cb205a1c6d878b3fd60931f2c7ecb6cab391
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
RestSharp/106.13.0.0
|
Security for langgraph_agentmesh 3.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.