Perpetual license
A perpetual license grants long-term use without a subscription term. Choose online (live validation, activations, and sessions in the dashboard) or offline (signed license.bin for air-gapped installs). Online perpetual is ideal when you need real-time revocation and usage visibility.
Long-term entitlement
No renewal cycle unless you set optional expiry.
Online or offline
Step 1 of the create wizard — Activation mode.
Multi-device
Online perpetual can show many activations (∞ limit when unset).
Create a perpetual license (dashboard)
Licenses → Generate License. Four-step wizard: Activation → License Type → Basic Info → Details.
Step 1 — Activation mode
- Online — SDK calls the API on validation; activations and sessions are tracked. Revoke a device from the dashboard and the next check fails immediately.
- Offline — distribute
license.bin; daily use does not require API connectivity. Not available for all product access types (Opened products may restrict to offline perpetual only).
Step 2 — License type
Select Perpetual — multi-user, indefinite use; works online or offline depending on step 1.
Step 3 — Basic info
- Product and Software release (required)
- Issued to — for perpetual, often auto-assigned or open access depending on product type. When set, the SDK
UserNamein the license file must match for online validation. - License name (required)
Step 4 — Details
Perpetual licenses do not show Device binding mode (that is node-locked only). Configure optional expiration (maintenance window), entitlement sets, and notes, then generate.
Licenses list — perpetual vs node-locked
| Column | Perpetual (example) | Node-Locked (example) |
|---|---|---|
| Type | Perpetual badge | NodeLocked badge |
| Mode | Online / Offline | Online / Offline |
| Expiration | Often ∞ (no expiry) | Often Never |
| Activations | e.g. 2 / ∞ — many devices allowed | e.g. 1 / 1 — one bound device |
Machine workflow (online perpetual)
- Distribute license key +
license.bin+ embedded public key. - App calls
LicenseClient.ValidateAsyncor Validate License in the WinForms sample. - Server checks signature, status, expiration, optional
UserName/ issued-to match, and device block list. - On success, SDK creates an activation record (first time per device) and a live session.
- Heartbeats keep the session online while the app runs; disconnect on exit.
Block or deactivate a device from the license Activations tab. The next online validation or heartbeat on that machine fails with a device-blocked or invalid message — other activations stay valid.
License details — Overview tab
- License type — Perpetual
- Validation mode — Online or Offline
- Expiration — No expiration (∞) unless you set a date
- Usage statistics — active devices vs max (unlimited when max not set)
- Online activity — shortcut counts for Activations and Active Sessions
Perpetual online licenses do not show Device Binding fields (no hardware binding mode).
Activations tab
Each row is a device that validated or activated this license key. Online perpetual may have many rows; there is no single-machine lock unless you set max activations on create.
| Column | Meaning |
|---|---|
| Device | Hostname and hardware fingerprint |
| User | OS / SDK user at activation |
| IP | Client IP when activated |
| Activated | First-seen time for this device |
| Status | Active — device may validate; Blocked — denied on next check |
Active Sessions tab (online only)
Lists apps currently connected with a live heartbeat. Multiple sessions can exist when several users run the app at once (subject to max concurrent seats if configured).
| Column | Meaning |
|---|---|
| User | Session identity + app version |
| Device | Machine name and OS |
| IP Address | Current connection IP (masked in UI) |
| Connected | Session start time |
| Heartbeat | Last SDK ping — stale heartbeats mark session offline |
Offline perpetual workflow
- Create with Offline activation mode.
- Customer imports
license.bin; SDK verifies RSA signature locally. - First online validation may still be required once to bootstrap cache (SDK-dependent).
- Dashboard may show fewer live sessions; Device Binding tab is not used.
Global monitoring
Sidebar Activations and Sessions aggregate all licenses. Filter by device, user, or IP for support. See Sessions & Activations.
Compare with node-locked
- Perpetual online — many devices possible; focus on Activations + Sessions.
- Node-locked — one hardware binding; focus on Device Binding tab + binding mode at create.
- See Node-locked license for Auto-bind and approval flows.
