Feature-Based Licensing

Feature-based licensing controls which capabilities of your product each license unlocks, so you can sell tiers like Standard, Pro, and Enterprise, or enable individual features per customer, all from one build of your app. It is not a separate license type: you attach feature entitlements to any node-locked or floating license to enable, disable, and configure features.

How it works

  1. Define your product's features in the admin portal. A feature present on a license is enabled, and each feature can carry an optional value (string, number, or boolean) for your app to interpret.
  2. Package features into reusable Entitlement Sets to model tiers (Standard, Pro, Enterprise), or assign feature entitlements directly to a license for per-customer needs. You can combine both, and license-level entitlements override the Entitlement Set.
  3. Your app reads the license's feature entitlements at runtime through the SDK (LexActivator or LexFloatClient) and enables, hides, or configures functionality accordingly. See Accessing Feature Entitlements for the exact functions.
  4. Optionally set an expiry date on a license-level feature entitlement for time-bound access, such as feature trials or temporary unlocks.

Feature entitlements enable and configure features; they do not track consumption. To meter usage against a quota, such as API calls or exports, use meter attributes, which implement usage-based licensing. You can combine the two on the same license.

Common patterns

  • Product tiers: group features into Entitlement Sets (Standard, Pro, Enterprise) and link the right set to each license.
  • Value-based limits: use a feature value such as max_projects = 20 that your app enforces at runtime.
  • Beta rollouts: add a feature like beta_dark_mode to selected licenses to gate functionality without separate builds.
  • Feature trials: set an expiry date on a license-level feature entitlement for temporary access.

Next steps

Usage-Based LicensingOffline Licenses
Last updated: