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

See Faramesh in action.
Book a demo.

See Faramesh in action.
Book a demo.

See Faramesh in action.
Book a demo.

Watch Faramesh in action against a Shopify refund agent

Route high-impact actions for approval, enforce runtime policy, and get audit-ready receipts for every run.