Plans and entitlements
Your signed license is the source of what your deployment may use. This page explains plans, add-ons, limits, and what applies today. For activation steps, see License management.
Plans
A license names one plan:
| Plan | Intended for |
|---|---|
| Free | Evaluating AIControls on a self-hosted Kubernetes install. No license file needed. |
| Team | A single team governing its AI traffic: budgets, virtual keys, routing, sessions, and detection. |
| Business | Several teams: adds SSO, roles, policy routing, session replay, and enforcement. |
| Enterprise | The full self-managed product, including Advanced Security and Workloads, with contract-specific limits. Hosted tenants have separate deployment restrictions. |
A trial is a time-limited license for evaluating a plan. It carries an expiry date and trial quotas, and a grace period follows expiry (see Grace period).
A new hosted organization starts on a 15-day Team trial. Nirmata can extend a trial on request, up to 90 days from its start.
Add-ons
Some capabilities are sold separately on Business and are included in Enterprise:
- Advanced Security
- Workloads
An add-on can have its own expiry date on the license; if omitted, it follows the license's validity.
On Business, an administrator can try Advanced Security for 14 days, once per organization. See Start an add-on trial.
Limits
A plan sets limits such as gateway identities and requests per month, seats, teams, history retention, and upstreams per provider pool. A license can override a plan's default for any limit, which is how contract values are applied. Monthly limits count in calendar months (UTC).
A paid plan's running traffic never stops because of a plan limit. A limit blocks new additions, trims history, or turns off one optional behavior, and the Admin UI says which. A dash means the plan sets no limit.
| Limit | Free | Team | Business | Enterprise | At the limit |
|---|---|---|---|---|---|
| Gateway identities | 5 | - | - | Contract value | Free: requests are refused with 402. Today the 5 identities are a lifetime cap; only the request cap resets monthly. A monthly identity cap applies once plan-based enforcement is available. Enterprise: traffic continues and the install is flagged for billing review. |
| Gateway requests | 1,000 a month | - | - | Contract value | Free: requests are refused with 402 until the month resets. Enterprise: as for gateway identities. |
| Seats | - | 50 | 500 | Contract value | Admins see a banner from 90%. Past the plan plus 10%, creating a user or approving a developer access request is refused with 402. Virtual keys and service-account credentials are still issued and mark the month for billing review. Existing people keep working. |
| Teams | - | 3 | Unlimited | Unlimited | Creating a team past the number is refused with 402. |
| Raw retention | - | 30 days | 365 days | Contract value | Audit events, snippets, and full-capture blobs are kept for the smaller of your configured retention and the plan's. |
| Trend retention | - | 180 days | 365 days | Contract value | Cost and productivity charts accept any range, show data only inside the window, and mark the earlier part as locked. Nothing is refused. |
| Upstreams | 2 | 3 | Unlimited | Unlimited | Saving a provider configuration that raises the number of enabled upstreams past the number is refused with 402. Upstreams you already have keep routing. |
| Full-capture sessions | - | - | 3 per seat a month | Contract value | New sessions are recorded without full capture until the month resets. Sessions already captured keep capturing. |
| Workload agents | Discovery only | - | Number bought with the Workloads add-on | Fair use | Enabling enforcement on one more workload is refused with 402. Re-enabling a workload never counts, and discovery continues. |
| Judge and Analyst calls | - | - | Your own key | Your own key | AIControls sets no cap. Without a key they stay off, and deterministic detection continues. |
A trial uses 10 identities and 10,000 requests a month unless its license sets other values. Plan limits describes what each limit counts. Entitlements API returns the values and current usage.
What applies today
- Enforcement is unchanged by default. AIControls runs in compatibility mode and keeps gating features and limits the way earlier releases did. Compatibility mode decides from the legacy
ui.tierandproxy.modesettings, not the resolved plan, so the Team, Business and Enterprise limits for seats, teams, retention, upstreams, full-capture sessions and workload agents are not active, and loading a license with a plan name does not by itself unlock or lock features. - An admin can turn on plan-based enforcement per install. Features, limits and locked controls then follow the resolved plan and add-ons, as described below. An Enterprise license keeps every feature. Compatibility stays the default, and you can switch back at any time. See Turn on plan-based enforcement.
- What still applies in compatibility mode is the Free-tier caps (5 identities for the life of the install, 1,000 requests a month), trial quotas, and a limit of 2 upstreams unless the legacy tier is Enterprise (refused with
403). An Enterprise license's monthly identity and request values still flag the install for billing review without refusing traffic. - The Admin UI shows the license's plan on Setup → System → License.
- The Free tier is described in License management. Its request cap is monthly; its identity cap counts over the life of the installation.
- Older licenses keep working. Existing Trial and Enterprise licenses need no change.
- A license can require a newer AIControls version. If it uses a plan or limit your version doesn't know, the upload is rejected and you need to upgrade first.
What plan-based enforcement gates
Until plan-based enforcement is turned on, nothing below changes. Once it is on, a feature your plan doesn't include is refused with HTTP 402 and a message naming the plan or add-on that includes it:
| Plan or add-on | What a plan without it can't do |
|---|---|
| Team | Start, view or approve sessions and session requests, create or change budget rules, create or change model routes and run routing tests, issue virtual keys |
| Business | Replay a session, revoke or resume a session |
| Advanced Security add-on (included in Enterprise) | Triage baseline alerts and incidents, delete anomaly events, manage suppressions, export the triage record, export or ticket incidents, notify a user about a finding, revoke access from a finding or incident, run the Analyst, change risk scoring, read or export workload compliance evidence |
| Workloads add-on (included in Enterprise) | Enforce, contain or release workloads, use the kill switch, change workload access and act on access recommendations, change runtime bindings, blueprints and onboarding, set the unregistered-workload and workload-caller policies |
Some things stay open on every plan:
- Detections and alerts. Security findings, incidents, alerts and their evidence stay readable, so a threat is never hidden behind a plan.
- Workload discovery and inventory on self-hosted installs: discovery scans and scope, and the Workloads pages' discovery and inventory reads. Workload compliance evidence is an Advanced Security surface, so it needs that add-on as well.
- Clean-up. You can still list and revoke virtual keys, delete a budget rule or model route, and list, read and revoke your own sessions after a downgrade.
Locked features
A feature that isn't included is locked, not removed:
- The refusal says what unlocks it. The
402body names the feature, the lowest plan that includes it, and the add-on if one does. - Existing data stays readable. Findings, incidents, alerts and the history a feature already recorded stay visible after a downgrade or an add-on expiry, and you can still list and revoke what you created.
- Every role can see what is locked. Entitlements API reports each feature's state, with the plan or add-on it needs. In compatibility mode it reports the state of the gates that apply today.
Without Advanced Security, the behavioral baseline, attack-sequence scoring, the access Judge and automatic SIEM export and ticket creation pause. Their existing data is kept, and they resume when the add-on is active again. The access Judge falls back to the deterministic access rules, as it does when the Judge is turned off.
The config-file tier is deprecated
Setting ui.tier in the configuration file to unlock features without a license is deprecated, and from v1.22.0 AIControls refuses to start with it set. Load a license before upgrading to v1.22.0. See Config-file tier.
Related
- License management — activate or renew a license
- Manage Licenses — SaaS admin console