Skip to content

License Assignment

When a PLG (Plugin) entitlement is created, a software license is generated. This page explains how licenses are assigned, activated on sites, managed during the entitlement lifecycle, and what happens at renewal, suspension, and cancellation.

License creation

The license key is generated by the WooCommerce Software License layer. Each license is linked to:

  • The Organization that owns it
  • The PLG Entitlement that granted it
  • The product (plugin) it covers

Site activation

Each license has a configurable maximum number of site activations. The customer manages activations from the portal:

To activate a site:

  1. The customer navigates to the license in the portal.
  2. They enter the site URL (e.g., mysite.com).
  3. The system validates the URL format (valid TLD, no protocol, no path).
  4. The system checks that there are available activation slots.
  5. The activation is recorded and the site can receive updates and use the plugin.

To deactivate a site:

  1. The customer selects an active site from the list.
  2. They click deactivate.
  3. The activation slot is freed immediately.

Deactivation is always available, even for expired licenses, so customers can clean up their site list.

License key management

  • License keys are partially masked in list views for security (only the last characters visible).
  • Full keys are shown on the detail screen within the portal.
  • The entitlement code (e.g., PLG-2026040142) provides a cross-reference between the license and all related records (orders, invoices).

Site limit enforcement

License typeSite limit
StandardConfigurable per product (e.g., 1, 3, 5 sites)
BundlePer-plugin limits within the bundle
AgencyUnlimited activations

When the activation limit is reached, the portal disables the "Activate" button and shows a message directing the customer to either deactivate an existing site or upgrade their license.

What happens during the entitlement lifecycle

On renewal

When a PLG entitlement is renewed (auto-renewal or manual):

  1. The license expiration date extends to match the new entitlement period.
  2. All existing site activations remain intact.
  3. Download access continues without interruption.

On suspension

When a PLG entitlement is suspended (typically from a payment failure):

  1. The license status transitions to suspended.
  2. Existing activations remain -- sites that already activated the license continue to function with their current version.
  3. New activations are blocked -- the customer cannot activate additional sites.
  4. Updates are blocked -- the customer cannot download new versions of the plugin.
  5. When payment is recovered and the entitlement returns to active, all capabilities are restored.

On expiration

When a PLG entitlement expires:

  1. The license is marked as expired.
  2. New activations are blocked.
  3. Updates and downloads are blocked.
  4. Deactivation remains available (so the customer can free slots before renewing).
  5. The customer sees a renewal link in the portal.
  6. If the customer renews within the grace period, the license returns to active with all activations intact.

On cancellation

When a PLG entitlement is cancelled:

  1. The license is marked as inactive.
  2. All capabilities are blocked (no activations, no updates, no downloads).
  3. The license remains visible in the portal for the duration set by the CancellationPolicy (default: 90 days visibility).
  4. Site activations are retained in the record for audit but are no longer valid.

Downloads

Download access for plugin files is tied to the license:

  • The customer downloads products from the portal.
  • Downloads are authorized at the edge via Cloudflare Workers, which validate the license key.
  • Only active, non-expired licenses grant download access.
  • Bundle licenses map to multiple plugin files.