Skip to content

Concepts

Concept Meaning
Public App ID Public software identifier, not an API credential
Customer key Private purchase credential supplied by the customer
Installation Stable randomly generated identity scoped to origin/App ID/environment
Activation token Stored private credential for validate/deactivate; never log it
Signed license Ed25519-authenticated response plus binding and time policy
Feature Product-plan entitlement, interpreted by your application
Sandbox / Live Explicit access separation; TEST/production aliases normalize

The compatibility default is LIVE. Examples always explicitly choose SANDBOX. A developer management API key is neither required nor suitable in a client app.

Lifecycle: activate once, check before protected work, validate when needed, deactivate to release. check may use verified cache before next-validation; validate requests online but can use authentic grace after a network failure. A refused HTTP response is not an offline outage fallback.

A result with valid=True from deactivate acknowledges release, not access. Constructing LicenseResult manually does not verify data. Client-level feature helpers check again; result-level helpers re-evaluate deadlines. Signed status, bindings, expiry and clock/grace all matter.

The JSON contract is PHP's unchanged sorted JSON encoding, not RFC 8785/JCS. Use the SDK decoder; numeric spelling such as 19.0 and exponents is signed data.