
Non-bypassable execution control for AI agents.
Non-bypassable execution control for AI agents.
Faramesh sits between agent intent and real-world actions to enforce policy at runtime, route approvals, and generate proof for every decision.
The AI-native code editor that gets it exactly right. No approximation. No bloat. Just perfect code, every time.

//
Integrations
//
Integrations
//
Integrations
Integrate with any stack.
Enforce on every framework.
Integrate with any stack.
Enforce on every framework.
Connect these (and many more) tools your agents already use so every action routes through Faramesh.
Framework integrations.
Control every execution path.
From intent to action.
Framework integrations.
Control every execution path.
From intent to action.

from langchain.tools import ShellTool from faramesh.integrations.langchain import GovernedTool shell_tool = ShellTool() governed_shell = GovernedTool(tool=shell_tool, agent_id="my-agent") # Use like a regular LangChain tool result = await governed_shell.arun("ls -la")
LangChain
Wrap any LangChain tool with GovernedTool so every tool call routes through Faramesh first for policy checks and approvals before it runs.

from faramesh.integrations.crewai import GovernedTool, GovernedCrew # Wrap tools or crew governed_tool = GovernedTool(tool=my_tool, agent_id="crew-agent")
CrewAI
Govern crews and tools with GovernedCrew and GovernedTool, routing execution through Faramesh so high-impact steps never run unchecked.

from faramesh.integrations.autogen import GovernedFunction # Wrap your function; calls go through Faramesh governed_refund = GovernedFunction(fn=refund_fn, agent_id="autogen-agent")
AutoGen
Wrap function calling with GovernedFunction so AutoGen actions hit Faramesh for enforcement and approvals before executing.

from faramesh.integrations.mcp import GovernedMCPClient # MCP tool calls routed through Faramesh client = GovernedMCPClient(agent_id="mcp-agent")
MCP
Use GovernedMCPClient to route MCP tool calls through Faramesh, enforcing policy (like access control) before tools touch anything.

from faramesh.sdk.client import ExecutionGovernorClient def http_node(state): client = ExecutionGovernorClient() action = client.submit_action( tool="http", operation="get", params={"url": state["url"]}, context={"agent_id": "langgraph-demo"} ) if action["status"] == "pending_approval": return {"error": "pending_approval"} # Execute if allowed
LangGraph
Wrap tool calls inside graph nodes and submit actions to Faramesh first, so every node execution follows policy and approval rules.

from faramesh.sdk.client import ExecutionGovernorClient from llama_index.core.tools import FunctionTool def http_get(url: str) -> str: client = ExecutionGovernorClient() action = client.submit_action( tool="http", operation="get", params={"url": url}, context={"agent_id": "llamaindex-demo"} ) # Check decision, execute if allowed ... tool = FunctionTool.from_defaults(fn=http_get, name="http_get")
LlamaIndex
Wrap agent tools so tool functions submit actions to Faramesh before they run, keeping retrieval and tool use governed end-to-end.

# DSPy integration coming soon. # For now, govern tool calls inside your DSPy modules using the SDK client. from faramesh.sdk.client import ExecutionGovernorClient
DSPy
Wrap modules with GovernedModule so DSPy execution flows through Faramesh for consistent policy checks before running.
LangChain
CrewAI
AutoGen
MCP
LangGraph
LlamaIndex
DSPy

from langchain.tools import ShellTool from faramesh.integrations import govern_langchain_tool # One line! tool = govern_langchain_tool(ShellTool(), agent_id="my-agent") # Use in agent from langchain.agents import initialize_agent, AgentType agent = initialize_agent( tools=[tool], llm=llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION )
LangChain
Wrap any LangChain tool with GovernedTool so every tool call routes through Faramesh first for policy checks and approvals before it runs.

from crewai_tools import FileReadTool from faramesh.integrations import govern_crewai_tool # One line! tool = govern_crewai_tool(FileReadTool(), agent_id="researcher") # Use in agent from crewai import Agent, Task, Crew agent = Agent( role='Researcher', tools=[tool], # Governed tool verbose=True )
CrewAI
Govern crews and tools with GovernedCrew and GovernedTool, routing execution through Faramesh so high-impact steps never run unchecked.
LangChain
CrewAI
AutoGen
MCP
LangGraph
LlamaIndex
DSPy
//
Core features
//
Core features
//
Core features
Govern it before it governs you.
Move fast in production.
Govern it before it governs you.
Move fast in production.


Policy-as-code at runtime
Define deterministic rules like software, then enforce them while agents run. Version changes, review diffs, and ship updates across environments without breaking production.

Policy-as-code at runtime
Define deterministic rules like software, then enforce them while agents run. Version changes, review diffs, and ship updates across environments without breaking production.
View policies
View policies
Tool interception + intent diffs
Intercept every tool call before it touches data, infrastructure, or money. Capture the agent’s intent, validate inputs and permissions, and show diffs on high-impact actions before execution.


Tool interception + intent diffs
Intercept every tool call before it touches data, infrastructure, or money. Capture the agent’s intent, validate inputs and permissions, and show diffs on high-impact actions before execution.
See interception flow
See interception flow



Audit receipts + replay
Log every decision and tool call with verifiable receipts. Reconstruct what happened, prove compliance, and replay incidents for debugging, security review, and reporting.

Audit receipts + replay
Log every decision and tool call with verifiable receipts. Reconstruct what happened, prove compliance, and replay incidents for debugging, security review, and reporting.
Open audit log
Open audit log
Fleet governance + continuous monitoring
Apply consistent controls across teams, agents, and environments. Monitor live execution, detect violations and failure modes, and escalate checks automatically as risk increases.




Fleet governance + continuous monitoring
Apply consistent controls across teams, agents, and environments. Monitor live execution, detect violations and failure modes, and escalate checks automatically as risk increases.
Manage fleets
Manage fleets








Credential sequestration architecture
Credential sequestration architecture
Keep secrets out of prompts and out of reach. Isolate credentials behind controlled execution paths so agents can act without ever seeing, leaking, or mishandling sensitive access.
Keep secrets out of prompts and out of reach. Isolate credentials behind controlled execution paths so agents can act without ever seeing, leaking, or mishandling sensitive access.
//
Get started
//
Get started
//
Get started
Integrate in minutes.
Enforce on every action.
Integrate in minutes.
Enforce on every action.
1
from faramesh import configure, submit_action
2
3
# Configure client
4
configure(base_url="http://localhost:8000")
5
6
# Submit action with governance
7
response = submit_action(
8
agent_id="my-agent",
9
tool="shell",
10
operation="run",
11
params={"cmd": "echo 'Hello Faramesh'"}
12
)
13
14
print(f"Status: {response['status']}")
15
print(f"Action ID: {response['id']}")
16
17
# Check if approval is needed
18
if response['status'] == 'pending':
19
print("Action requires approval")
//
Book demo
//
Book demo
//
Book demo
