Offline Activation
Offline licensing is always supported (no extra setup). Place a signed .lic file on the device and the SDK validates it locally with the embedded public key — zero server communication.
The core guarantee: “on this hardware, only until the license period ends.” The device identifier and expiration date are signed into the .lic, so even offline, use on a different device, extending the period, or tampering with the contents is blocked.
- Get the device code — on the air-gapped device, the SDK displays the device identification code (hwid) on screen (offering a copy button + QR is recommended — scan it with a phone to register from outside the air-gapped network).
- Register the device — the end user registers that code in the self-service portal (or the vendor does it on their behalf in the dashboard), and it is added to the device list.
- Download the
.lic— download the device’s.licfile from the device list (re-downloadable). - Place the file — put the
.licat a path the app can read. - Local validation — the SDK validates the signature, device, and expiration, and provides the feature values.
If the device has internet access, you can also issue the .lic directly from within the app via the SDK (no need to go through the portal).
What to implement in the app
Section titled “What to implement in the app”Supporting offline requires only two things on the app side:
- A device-code screen — display the code provided by the SDK together with a QR code and copy button.
- Loading the
.licfile — after the user selects the file (or you watch a designated path), pass it to the SDK.
Validation and feature-value parsing are all handled by the SDK.
Things to know (intended trade-offs)
Section titled “Things to know (intended trade-offs)”.licexpiration = license expiration. There is no separate file validity period. The.licfor a perpetual license is valid indefinitely on that device.- Limits on reflecting revocation: a
.licis a snapshot taken at issue time. Even if you revoke or suspend the license after issuing it, the offline device keeps working until its expiration date (plus grace period). Online devices reflect the change immediately on the next validation. If early revocation matters for your product, consider an online-required policy (term license with a short expiration and auto-renewal). - Clock-rollback defense: attempts to bypass expiration by rolling the system clock back are defended against by the SDK itself (it records the maximum time it has observed and cross-checks it). When detected, it is flagged as an anomaly in the dashboard on the next online connection.