Skip to content

Licensing

Licences authorise a deployment to run. For on-prem appliances especially, the licence is a signed token the box activates and then renews by heartbeat — and that lets you control a deployment remotely.

Who can do this:

  • Issue: onboarding, support, super_admin (license.issue).
  • Revoke / rebind: support, super_admin (license.revoke).
  • Signing keys: super_admin only (signing.manage).

The licensing screens live under licensing/.

  1. Open Licenses (licensingGET /licenses) to see existing licences.
  2. Choose New license (licensing/license-newPOST /licenses). For on-prem, a licence can be auto-issued during provisioning.
  3. The licence is a signed token (signed by a control-plane signing key). Issuing is audited (license.issue).

Signing keys are managed under Signing Keys (licensing/signing), super_admin only.

The appliance activates its licence on first run (POST /licenses/:id/activate). Activation binds the licence to the box’s fingerprint and drives the deployment to active.

The appliance renews by heartbeat (POST /licenses/:id/heartbeat). A healthy heartbeat keeps the deployment active. If the box can’t reach the control plane, it runs on an offline grace window (on the order of two weeks) before it locks down — so brief outages don’t disrupt care. Heartbeat directives and licensing settings are under licensing/heartbeats and licensing/settings.

The state machine is drivable end to end: a healthy heartbeat keeps it active; an invalid subscription drives it to suspended; restoring the subscription reactivates it.

  • Revoke (POST /licenses/:id/revoke) denies future activation and locks the deployment — your remote anti-theft / decommission lever.
  • Rebind (POST /licenses/:id/rebind) moves a licence to a new fingerprint (for example, replacement hardware).
  • A health sweep (POST /licenses/health/sweep) reconciles licence states across the fleet; re-running it is idempotent.

All of these are audited (license.revoke).