Setyenv · Docs
  • English
  • Spanish
  • Chinese
  • Japanese
  • Arabic
  • German
  • French
  • Hindi
  • Indonesian
  • Italian
  • Dutch
  • Portuguese
  • Russian
  • Turkish

Licensing

How license keys work in Setyenv, end to end. If you are a developer integrating with the activation REST surface, jump to REST API reference → Licenses.

What a license is

A license is a row in the setyenv.com database with:

  • A key that you (the customer) receive after purchase, in the format PFW-XXXX-XXXX-XXXX-XXXX-XXXX.
  • The product it grants — the unified Setyenv PF Pack (setyenv), which entitles both bundled plugins (wp-pfmanagement and wp-pfworkflow) from the one key. WP-PFAgent is free and needs no license. (A handful of legacy standalone licenses still entitle a single plugin; the pack is the product sold today.)
  • A domain limit — how many domains may run the pack at once. You choose it at checkout; two or more earns a multidomain discount.
  • A billing period — monthly or annual (annual saves 20%), and an optional annual source-access add-on.
  • A status (active, expired, revoked).
  • An expiration date (set at issuance + one billing period).

The activation flow

When you paste your key into a plugin's settings and click Activate:

  1. The plugin computes a site fingerprint (a hash of the WP home URL + secret salt). This identifies the specific install without sending the URL in cleartext.
  2. It calls the portal's POST /wp-json/pfw-portal/v1/license/activate with the key + fingerprint.
  3. The portal looks up the license, checks the variant's site limit is not exceeded, records the fingerprint as an activation, and returns a per-site token signed with HMAC.
  4. The plugin stores the token. From now on every API call from the plugin to the portal carries that token, so reactivation is not needed.

Heartbeat (verify) cadence

Every 24h (by default) the plugin re-checks the license is still valid via POST /wp-json/pfw-portal/v1/license/verify. If the portal responds with revoked or expired, the plugin gracefully deactivates premium features.

If the portal is temporarily unreachable, the plugin keeps premium features working and retries on the next cycle. Features lock out only after a sustained inability to verify.

Moving a license between sites

  1. On the OLD site: Settings → Setyenv → Deactivate.
  2. On the NEW site: paste the same key → Activate.

The site limit only counts CURRENTLY-active sites. Deactivating frees a slot.

What happens if I do not deactivate before moving?

The slot is still counted. If you fill all your slots and try to activate on a new site you will get error: license_slot_limit_exceeded. From your customer dashboard you can see which sites are using each license and force-deactivate stale ones.

What revoked means

revoked is only ever set manually by a Setyenv administrator for cases of fraud, chargeback or terms-of-service violation. It cannot be undone by the customer. If you believe your license was revoked in error, contact support.

A note on price

Prices on the prebuy and product pages are adjusted to the country the visit comes from — markets with different purchasing power see the price in their own currency at a level calibrated for that market. The variant (x1, x5, x25) and what it grants is the same everywhere; only the price scales.

While the platform is in its initial release phase a launch discount is applied automatically at checkout. The discount and its scope are listed on the prebuy page; this docs page does not promise a specific percentage so it stays correct once the launch window closes.