Usage Telemetry
AIControls can send one usage document a day: counts and identifiers only, never LLM prompt content, code, or tool content. A self-hosted install sends nothing until you set a telemetry endpoint.
When it is sent
| Deployment and plan | Telemetry |
|---|---|
| Nirmata-hosted (SaaS and composable mode) | Always on. There is no setting. |
| Self-hosted, Free plan | On once telemetry.endpoint is set. telemetry.enabled: false is ignored: usage telemetry is part of the Free plan. |
| Self-hosted, paid plan | Off unless telemetry.enabled: true and telemetry.endpoint is set. |
With no telemetry.endpoint, a self-hosted install sends nothing on any plan.
The document is sent once a day. When several replicas share one database, only one of them sends it. The License page shows whether telemetry is on for your plan and whether an endpoint is set.
What is sent
| Field | Content |
|---|---|
installationID | The install's random identifier, the one shown with upgrade and extension requests |
version | AIControls version |
source | Where the plan comes from: licence (a license), none (no license), or legacy_ui_tier (the deprecated ui.tier setting) |
catalogueRevision | Plan catalogue revision |
plan | Plan name |
addons | Applied add-on names |
licenceExceptions | Feature keys the license grants (+key) or revokes (-key) |
limitOverrides | Limit values set by the license, by limit name |
seats | Seats this month |
teams | Number of teams |
monthlyRequests | Gateway requests this month |
monthlyIdentities | Active identities this month |
detections | This month's detection counts by category: injection, secret_read, and pii |
shadowMCPServers | Number of quarantined or denied shadow MCP servers |
upgradePrompts | In-product upgrade prompts shown to admins and dismissed (shown and dismissed counts per trigger). These are AIControls' own upgrade suggestions, not LLM prompts. |
limits | For seats, teams, gateway_requests, and gateway_identities: value, unlimited and blocked flags, current count, and the warning, at-limit, over-grace, and billing-review flags |
seatOverage | True when seats are above the plan's seats plus grace, or when seats exceed a limit marked for billing review |
Never sent: LLM prompt and response content, code, tool content, email addresses, and user, agent, or team names.
The document is not signed. Nirmata uses it for usage reporting and sales follow-up only. It never changes your plan, entitlements, limits, license, or invoice; those come only from your signed license.
Configure it
Set the values in your Helm values file:
telemetry:
# Opts a paid plan in. Ignored on the Free plan.
enabled: true
# Where the daily document is posted. No default.
endpoint: https://telemetry.example.com/api/v1/telemetry
The same keys work in config.yaml. telemetry.enabled: true is applied on first start; after that, an admin turns the paid-plan opt-in on or off on the License page. Changing telemetry.endpoint takes effect after a restart.