Documentation · SoftActivate Licensing

Revocation

Revocation is how a vendor disables a license immediately: use it for refunds, chargebacks, or leaked keys. You revoke a license from its page in the console; this page describes what happens next, on the customer's machines.

How a device learns

There are two paths, covering both connectivity states:

  • Online: the next renewal fails, because a revoked license is not re-issued, and validation reports REVOKED.
  • Offline: the SDK keeps a locally cached revocation list, refreshed whenever the device is online. Validation checks the stored license against this cached list on every start, so a revoked license is detected even with no network, as soon as the device has seen a list issued after the revocation. If the list cannot be refreshed, that check is skipped rather than failed, so an offline customer is not penalized.

In practice, revocation reaches always-online machines at the next renewal, and mostly-offline machines the next time they connect. A machine that never goes online after the revocation keeps validating until its license lapses, and for offline-activated (air-gapped) licenses, until re-issuance. Scope your expectations accordingly.

What REVOKED should mean in your application

Treat REVOKED as terminal: deny the licensed functionality and direct the customer to support. Do not offer re-activation, since it will fail (the license itself is no longer valid, not only this device's binding), and do not retry silently. If the revocation was a mistake, fixing it is a vendor-side action: there is no way to un-revoke a license, so issue a fresh one instead.

Vendor-side notes

  • Revoking a license does not free its seat for reuse; it disables the license entirely. To reclaim a seat on a license that is still valid, use deactivation or force-release instead (deactivate and move).
  • Revocations take effect in the next issued revocation list, which for online fleets is effectively immediate.
  • The console side of revoking a license, including its confirmation step, is covered in the console guide.