SLAW Botfather · the centralised control plane

One control plane for the agent fleet you bring under governance.

Botfather is the self-hosted governance layer your whole agent estate reports into: centralised spend caps, policy and approval gates, centralised locks and revocation, alerts, and an attributable audit trail. It governs the agents from every enrolled team in one place — and because there is no hosted version, it runs entirely inside your own environment, so your governance data has nowhere external to go.

9
Admin screens
100%
Self-hosted
~60s
Heartbeat interval
0
Telemetry phoned home

The sovereignty boundary

There is no hosted offering. So your governance data has nowhere external to go.

SLAW and Botfather are self-hosted software only — no SaaS tier, no vendor cloud, no managed service. You run the control plane on your own infrastructure, inside your own tenancy. Instances report governance metadata to it over your own network, so there is no external endpoint anything can reach. Sovereignty isn't a setting you trust; it's structural.

The only outbound calls are to the model provider you configure for your agents — and you can run self-hosted or open-weight models to keep even that inside your boundary. Botfather is the governance half of the Agentic Control Plane.

your environment — nothing crosses the boundary
Inside your environment

Instances report to the self-hosted control plane on your network. This governance metadata moves between them — but never out of your environment:

  • Squad & agent metadata (names, roles, reporting lines)
  • Budgets, cost & token metrics, run status
  • Project & issue titles (per-instance opt-out)
  • Never config, secrets, issue bodies, or logs — those stay on each instance
The outside world

There is no hosted service to send to. No vendor cloud, no third party — nothing crosses your boundary.

  • No metadata sent to any vendor
  • No metrics or telemetry phoned home
  • No configuration or secrets
  • No issue bodies, logs, or code
no SaaS · self-hosted only · on your network only · zero vendor egress (model traffic aside)

Governance

Cap spend from the centre. Without touching a config file.

Set an enterprise default for cost and token limits, then override per instance. Limits push down as a set_limits directive on the heartbeat back-channel — the tower can only cap stricter, never looser, than local.

  • Soft or hard. Soft-default with opt-in hard enforcement; a monotonic version counter per instance.
  • Fail-open by design. Enrolled instances keep running if the tower is unreachable; never-enrolled stay gated.
  • Enforce or advise. Run a hard startup gate, or advisory mode for a softer rollout.

Alerts, evaluated continuously

Know before it costs you

budget breach

Hard or soft breach of a cost or token limit, deduped and auto-resolved.

offline · stale

An instance stops sending heartbeats, or hasn't synced within the window.

spend spike

Spend jumps 3× over the recent baseline — catches a runaway loop fast.

version drift

An instance falls behind the fleet's SLAW version.

auto-resolve

Alerts clear themselves when the condition clears — no manual cleanup.

ack & route

Acknowledge from the dashboard; the alert engine runs as a background job.

The admin UI

Nine screens. One fleet under control.

Cost analytics

Subscription or metered — the numbers add up either way.

Hourly rollups, a spend forecast, and a top-burners leaderboard. When dollar cost is $0 on a subscription plan, the tower shows a SUBSCRIPTION badge and token-weighted model bars instead of pretending.

  • Per-instance token tiles: input · cached · output · total.
  • Drill from fleet → instance → squad → agents and issues in flight.
  • Forecast end-of-month spend from the current burn rate.

Zero-touch enrollment

Provision once. Approve by rule. Govern from day one.

01 · discover

URL is the switch

IT pre-provisions botfather.url. Presence of the URL turns the integration on — no flag to toggle.

02 · enroll

Self-enroll, token-less

On startup the instance enrolls itself and lands pending in the approval queue.

03 · approve

By hand or by rule

Approve manually, or auto-approve by hostname pattern like *-ENG-*. Revoke any key later.

04 · active

Keyed and reporting

The instance polls, receives a per-instance API key (argon2-hashed), and goes active.

Stand up your control plane.

Self-hosted and zero-config: embedded database, migrations on boot, then it listens. Point your teams' instances at it, approve by rule, and govern.