Ecosystem

The AgentCompliant Ecosystem — Beyond governance. The standard.

Seven strategic products that extend the core platform — from free risk tooling and open source SDKs to certification, APIs, and insurer partnerships.

v1.0.0MIT LICENSE

One SDK between your AI agent and its tools

Runtime interception for AI agents. Every tool call goes through synchronous policy enforcement before execution — not after. Tamper-evident audit trail, kill switch, compliance passports. The governance layer IBM and Microsoft don't have.

npm install @rends/agent-sdkpip install rends-agent-sdk

5-Stage Governance Pipeline

Every client.govern() call runs through this pipeline:

1. beforeActionValidates action context, computes input hash
2. policyCheckPOST /compliance/check-action — synchronous rules evaluation
3. decisionReturnParses { allowed, status, violations[], warnings[] }
4. executionGateExecute tool if ALLOW, throw GovernanceBlockError if BLOCK
5. telemetryEmitLog to tamper-evident audit trail with hash chain

What you get

  • Synchronous policy check before every tool call (ALLOW / BLOCK / MODIFY)
  • Tamper-evident audit trail with SHA-512 hash chains
  • Kill switch — pause or terminate agents in < 100ms
  • LangChain adapter (governTool, governTools, createRendsCallback)
  • CrewAI adapter (govern_crewai_tool, RendsCrewAICallback)
  • AutoGen adapter (govern_autogen_tool, RendsAutoGenHook)
  • Three enforcement modes: enforce, monitor, dry-run
  • Fail-open option for non-blocking telemetry
  • Batched telemetry with automatic flush
  • TypeScript + Python — identical API surface

TypeScript / Node.js

npm install @rends/agent-sdk

Python

pip install rends-agent-sdk

Quick Start — TypeScript

import { RendsClient } from "@rends/agent-sdk";

const client = new RendsClient({
  apiKey: "ac_live_...",
  orgId: "your-org-uuid",
  agentId: "your-agent-uuid",
  mode: "enforce", // or "monitor" or "dry-run"
});

const result = await client.govern(
  {
    actionType: "database_query",
    actionName: "select_users",
    resourceType: "customer_records",
    inputSummary: "SELECT * FROM users WHERE region = us-east-1",
  },
  async (params) => db.query("SELECT * FROM users")
);

// result.allowed = true/false
// result.status = "pass" | "warn" | "block"
// result.result = query output (if allowed)
// result.check.violations = [{ruleName, message, severity}]

Quick Start — Python

from rends_sdk import RendsClient, RendsClientConfig, ActionContext

async with RendsClient(RendsClientConfig(
    api_key="ac_live_...",
    org_id="your-org-uuid",
    agent_id="your-agent-uuid",
)) as client:
    result = await client.govern(
        ActionContext(
            action_type="database_query",
            action_name="select_users",
            resource_type="customer_records",
            input_summary="SELECT * FROM users",
        ),
        tool_fn=lambda p: db.query("SELECT * FROM users"),
    )

Framework Adapters

One-line integration for every major agent framework.

LangChain

TypeScript & Python

import { governTools } from "@rends/agent-sdk/adapters/langchain";

// Wrap all tools in one line
const governed = governTools(client, [search, calculator, browser]);
const agent = createReactAgent({ llm, tools: governed });

CrewAI

Python

from rends_sdk.adapters import govern_crewai_tool

search = SerperDevTool()
governed = govern_crewai_tool(client, search, resource_type="web_search")
agent = Agent(tools=[governed], ...)

AutoGen

Python

from rends_sdk.adapters import govern_autogen_tool

governed_search = govern_autogen_tool(
    client, search_web, "search_web", resource_type="web_search"
)
agent.register_function(function_map={"search_web": governed_search})

Enforcement Modes

enforce

BLOCK → throws GovernanceBlockError. Tool never executes.

monitor

All decisions logged but never block. Full telemetry, zero disruption.

dry-run

Policy checked, nothing executed. Test rules before deployment.

← Ecosystem hub