# Rotascale > RotaGrant documentation: state what an agent may do before it acts, refuse what exceeds it, and prove afterwards what was decided. ## Docs - [Introduction](https://docs.rotascale.com/introduction.md): RotaGrant states what an agent may do before it acts, refuses what exceeds that, and records what was decided either way. - [Quickstart](https://docs.rotascale.com/quickstart.md): Three lines in your agent's own code, one authorisation before the action, and a refusal you can read. - [Authentication](https://docs.rotascale.com/authentication.md): An API key for your service, a per-action credential where a grant mints one, and what each is scoped to. - [Errors](https://docs.rotascale.com/errors.md): The exception hierarchy, what each one means, and why they are not one type. - [Deployment](https://docs.rotascale.com/deployment.md): Single-tenant in your environment: your cloud, your data centre, or airgapped. What that means and what it costs you. - [What agent governance is](https://docs.rotascale.com/concepts/agent-governance.md): The unit of governance moves from the model to the action, and why that changes what you have to build. - [Grants](https://docs.rotascale.com/concepts/grants.md): A grant is a bounded authority a named human signed for. It is the object everything else on this site refers back to. - [The nine gates](https://docs.rotascale.com/concepts/the-nine-gates.md): What each gate asks, the order they run in, and why the order is part of the design rather than an implementation detail. - [The six outcomes](https://docs.rotascale.com/concepts/outcomes.md): allow, deny, exhausted, gated, review_sync and review_async are different findings with different remedies, which is why they are not a boolean. - [The enforcement ladder](https://docs.rotascale.com/concepts/enforcement-ladder.md): Observe, shadow, canary, enforce. Enforcement is a mode on a grant, it moves one rung at a time, and the mode is sealed into every record. - [Delegation](https://docs.rotascale.com/concepts/delegation.md): Delegated authority subdivides and never multiplies. The API refuses to issue a grant that exceeds its parent, and spend debits every ancestor. - [Revocation](https://docs.rotascale.com/concepts/revocation.md): Withdrawing authority, what happens to work already in flight, and the interval nobody rehearses. - [Certification](https://docs.rotascale.com/concepts/certification.md): May this agent be given authority at all? One check, called from every place authority is issued or escalated. - [Know your agent](https://docs.rotascale.com/concepts/know-your-agent.md): An inventory of what is deployed, with an owner, a provenance and a model binding. The question every regulator opens with. - [Silent change](https://docs.rotascale.com/concepts/silent-change.md): An agent whose tools, model or behaviour changed without anyone deciding to change them. - [Behaviour](https://docs.rotascale.com/concepts/behaviour.md): An agent whose model and tools are unchanged, and whose decisions have shifted. Built from decisions already held, not from a new signal. - [Clean context](https://docs.rotascale.com/concepts/clean-context.md): Every document an agent retrieves is an instruction it was never told to distrust. Taint is tracked by provenance, and it propagates forward. - [Personal data](https://docs.rotascale.com/concepts/personal-data.md): Eleven checksummed identifier families, verified rather than pattern-matched. We detect and do not tokenise, and the difference is deliberate. - [Evidence](https://docs.rotascale.com/concepts/evidence.md): Three properties kept as three mechanisms: nothing is missing, nothing was altered, and it existed by a certain time. - [Market profiles](https://docs.rotascale.com/concepts/market-profiles.md): Which law applies is a governed configuration resolved per decision and sealed into the record, not a setting somebody reads later. - [Behavioural contracts](https://docs.rotascale.com/concepts/behavioural-contracts.md): What an owner commits an agent will and will never do, in a form the platform can check against real traffic. Nine clause types, three states, and a revision that loosens must say so. - [Conformance claims](https://docs.rotascale.com/concepts/conformance-claims.md): You cannot certify a non-deterministic actor. You can maintain a claim: a lower bound, a denominator, a window and an expiry, signed and verifiable off the system that issued it. - [Circuit breakers](https://docs.rotascale.com/concepts/circuit-breakers.md): A standing instruction to withdraw authority when a behavioural contract breaks. Ships observing, and arming it requires stating what it would have done to real history. - [Issue a grant](https://docs.rotascale.com/guides/issue-a-grant.md): Register the agent, name the accountable human, draw the bounds, and start in observe. - [Authorise an action](https://docs.rotascale.com/guides/authorise-an-action.md): One call before a consequential action, and how to handle each of the four ways it can refuse. - [Delegate authority](https://docs.rotascale.com/guides/delegate-authority.md): Hand work to another agent without handing it more authority than the parent had. - [Move up the ladder](https://docs.rotascale.com/guides/move-up-the-ladder.md): Observe to shadow to canary to enforce, one grant at a time, and what to watch at each rung before you climb. - [Produce an evidence pack](https://docs.rotascale.com/guides/evidence-packs.md): Assemble what a reviewer needs, signed, with the limits of the claim inside the signature. - [Fairness screening](https://docs.rotascale.com/guides/fairness-screening.md): Group outcomes over declared attributes, with two rules about what a screen must not do to the people reading it. - [Verify an artefact](https://docs.rotascale.com/guides/verify-an-artefact.md): Check a signed record or pack without trusting the party that produced it, and without sending it anywhere. - [Govern an MCP server](https://docs.rotascale.com/guides/govern-an-mcp-server.md): Put a grant in front of tools an agent calls over MCP, including tools somebody else wrote. - [Capture with OpenTelemetry](https://docs.rotascale.com/guides/capture-with-otel.md): Govern an estate that is already emitting telemetry. Point a collector at the receiver, add six attributes, and your spans become governed trajectories — no SDK, no proxy. - [Integrations overview](https://docs.rotascale.com/integrations/overview.md): Four ways to get an agent's work under governance, eleven runtimes with a one-line adapter, and the rule for choosing between them. - [OpenAI](https://docs.rotascale.com/integrations/openai.md): Govern OpenAI with one line: watch_openai wraps `chat.completions.create`, and every model call, tool call and retrieval lands on the trajectory. - [Anthropic](https://docs.rotascale.com/integrations/anthropic.md): Govern Anthropic with one line: watch_anthropic wraps `messages.create`, and every model call, tool call and retrieval lands on the trajectory. - [Google Gemini](https://docs.rotascale.com/integrations/gemini.md): Govern Google Gemini with one line: watch_gemini wraps `generate_content`, and every model call, tool call and retrieval lands on the trajectory. - [AWS Bedrock](https://docs.rotascale.com/integrations/bedrock.md): Govern AWS Bedrock with one line: watch_bedrock wraps `converse` and `invoke_model`, and every model call, tool call and retrieval lands on the trajectory. - [LangChain](https://docs.rotascale.com/integrations/langchain.md): Govern LangChain with one line: watch_langchain wraps the callback interface, and every model call, tool call and retrieval lands on the trajectory. - [LangGraph](https://docs.rotascale.com/integrations/langgraph.md): Govern LangGraph with one line: watch_langgraph wraps the graph callback interface, and every model call, tool call and retrieval lands on the trajectory. - [Google ADK](https://docs.rotascale.com/integrations/adk.md): Govern Google ADK with one line: watch_adk wraps an ADK agent, in place, and every model call, tool call and retrieval lands on the trajectory. - [CrewAI](https://docs.rotascale.com/integrations/crewai.md): Govern CrewAI with one line: watch_crew wraps a `Crew`, and every model call, tool call and retrieval lands on the trajectory. - [AWS Strands](https://docs.rotascale.com/integrations/strands.md): Govern AWS Strands with one line: watch_strands wraps a Strands agent, and every model call, tool call and retrieval lands on the trajectory. - [AutoGen](https://docs.rotascale.com/integrations/autogen.md): Govern AutoGen with one line: watch_autogen wraps a `GroupChat`, and every model call, tool call and retrieval lands on the trajectory. - [MCP](https://docs.rotascale.com/integrations/mcp.md): Govern MCP with one line: watch_mcp wraps an MCP client session, and every model call, tool call and retrieval lands on the trajectory. - [Python SDK](https://docs.rotascale.com/sdk/python.md): Install, configure, register an agent, open a trajectory, authorise an action. - [Decisions](https://docs.rotascale.com/sdk/decisions.md): Every field on a Decision, what it is for, and the two that only mean something on the lower rungs. - [Framework middleware](https://docs.rotascale.com/sdk/middleware.md): Adapters for the agent frameworks you already run, so the governed unit is the action rather than the framework. - [TypeScript SDK](https://docs.rotascale.com/sdk/typescript.md): @rotascale/sdk: the same nine gates and six outcomes, from Node. - [MCP SDK](https://docs.rotascale.com/sdk/mcp.md): rotascale-mcp: expose your own tools with authorisation built in, so there is no unguarded path to them. - [MCP proxy](https://docs.rotascale.com/sdk/mcp-proxy.md): Govern an MCP server you did not write, without touching it. rotascale-mcp-proxy sits in front and authorises every tool call. - [API overview](https://docs.rotascale.com/api/overview.md): Base URL, authentication, versioning, and the shape of the endpoints. - [POST /v1/authorize](https://docs.rotascale.com/api/authorize.md): The decision. Nine gates in a fixed order, one of six outcomes, recorded either way. - [Grants API](https://docs.rotascale.com/api/grants.md): Issue, preview, approve, delegate, and template. ## Optional - [Live demo](https://demo.rotascale.com) - [Specification](https://rotascale.com/spec/) - [GitHub](https://github.com/rotascale/rotascale-sdks) - [Blog](https://rotascale.com/blog/)