- An enrollment token so your code can self-bootstrap.
- An agent registered against your org with its own signed identity.
- A policy denying
delete_filepublished as a bundle. - An audit event in the dashboard for the denied call, with the full trace attached.
This page assumes you’ve already been onboarded onto Rubric and your operator gave you the API URL plus a dashboard URL. If you haven’t installed the SDK yet, do Installation first.
1. Issue an enrollment token
Open the dashboard, go to Enrollment in the sidebar, and click Create token. You’ll be given anenr_… string shown once — copy it immediately.
2. Install the SDK
[mcp] extra pulls in MCP. Use [langchain] or [claude-agent] for those frameworks. Without an extra you still get the core SDK — the adapters are just optional wrappers.
3. Bootstrap and decorate
quickstart.py
4. Author a policy and scope it to your agent
In the dashboard, go to Policies → New policy. The form has three required sections:- Name / slug — call it
deny-destructive-fs. - Applied to agents — pick
quickstart-botfrom the list. This is required at publish time. Empty scope means the policy applies to nobody. - YAML — paste this:
quickstart-bot to include this policy. Within ~30 seconds the SDK’s bundle poller picks it up and the next delete_file(...) call raises GovernanceDeniedError.
5. Re-run and see the deny
deny. In the dashboard’s Audit log, click the deny row — the trace drawer opens with the full conversation transcript. Insights shows the deny on the timeline.
What’s next
Wire up your real agent
Drop in the MCP, Claude Agent, or LangChain adapter — no manual
evaluate calls.Write better policies
Conditions, scope, dry-run, version pinning.
Attach traces
Pass a
TraceContext so every audit row has the conversation behind it.Turn on DLP
Block tool calls whose arguments contain secrets, PII, or PHI.