WordPress Licensing Solution — Evoxup :root{ --bg:#fff;--soft:#f5f8ff;--ink:#0a1222;--muted:#5d6b82; --line:#dce5f5;--blue:#1769ff;--blue2:#0e48bd;--blue3:#0b2c71;--crimson:#d7263d; --dark:#07111f;--green:#16834c;--amber:#a36a00;--radius:22px;--shadow:0 18px 50px rgba(20,62,125,.10) } *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65} a{color:inherit;text-decoration:none} .container{width:min(1180px,calc(100% - 40px));margin:auto} h1,h2,h3{line-height:1.12;margin:0 0 18px} h1{font-size:clamp(3rem,6vw,5.9rem);letter-spacing:-.055em} h2{font-size:clamp(2rem,4vw,3.8rem);letter-spacing:-.045em} h3{font-size:1.2rem} p{margin:0 0 18px;color:var(--muted)} .lead{font-size:clamp(1.08rem,1.6vw,1.3rem);max-width:830px} .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)} .eyebrow:before{content:"";width:28px;height:2px;background:var(--crimson);border-radius:3px} .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:12px;font-weight:800;border:1px solid transparent;transition:.2s} .btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#fff;border-color:var(--line)} .btn:hover{transform:translateY(-2px)} .badge{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:.69rem;font-weight:850;background:#eaf1ff;color:var(--blue2)} header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,229,245,.8)} .nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px} .brand{display:flex;align-items:center;gap:10px;font-weight:900} .brandmark{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--blue),var(--blue3));position:relative} .brandmark:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--crimson);right:-3px;bottom:4px;border:3px solid white} .navlinks{display:flex;gap:24px;font-weight:700;font-size:.93rem;color:#30405a} .navlinks a:hover{color:var(--blue)} .navright{display:flex;gap:10px;align-items:center} .hero{padding:104px 0 78px;position:relative;overflow:hidden;background: radial-gradient(circle at 88% 12%,rgba(23,105,255,.15),transparent 28%), radial-gradient(circle at 8% 22%,rgba(215,38,61,.07),transparent 18%), linear-gradient(180deg,#fff,#f8fbff)} .hero:before{content:"";position:absolute;inset:0;opacity:.22;background-image:linear-gradient(#dce5f5 1px,transparent 1px),linear-gradient(90deg,#dce5f5 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 72%)} .hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center} .hero h1 span{color:var(--blue)} .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px} .visual{padding:28px;border-radius:28px;background:linear-gradient(150deg,#07111f,#10295a);color:#fff;box-shadow:0 30px 80px rgba(7,17,31,.25)} .visual p{color:#b9c8de} .license-box{margin-top:20px;border:1px solid #284268;background:#0d1e37;border-radius:18px;padding:18px} .key{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.15rem;letter-spacing:.08em;color:#dce9ff;background:#081425;border-radius:10px;padding:12px;margin:10px 0 14px} .stategrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px} .state{padding:12px;border-radius:12px;background:#102541;border:1px solid #27456f;text-align:center} .state strong{display:block;font-size:.78rem;color:#fff}.state small{color:#91a7c9} section{padding:92px 0}.soft{background:var(--soft)}.dark{background:linear-gradient(135deg,#07111f,#0a1d3b);color:#fff} .dark h2,.dark h3{color:#fff}.dark p{color:#aabbd4} .section-head{max-width:850px;margin-bottom:42px} .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px} .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px} .card{padding:26px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 26px rgba(28,64,117,.04)} .icon{width:46px;height:46px;border-radius:14px;background:#edf3ff;color:var(--blue);display:grid;place-items:center;font-weight:900;margin-bottom:18px} .split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center} .stack{display:grid;gap:14px} .stackitem{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff} .stackitem strong{display:block;margin-bottom:6px} .darkcards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px} .darkcard{padding:24px;border-radius:20px;background:#0c1b32;border:1px solid #1c3152} .journey{display:grid;grid-template-columns:repeat(5,1fr);gap:12px} .step{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;position:relative} .step:after{content:"→";position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:#8da0bd;font-weight:900} .step:last-child:after{display:none} .step strong{display:block;margin-bottom:6px} .policygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px} .policy{padding:25px;border:1px solid var(--line);border-radius:20px;background:#fff} .policy strong{display:block;font-size:1.1rem;margin-bottom:7px} .usegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px} .use{padding:25px;border:1px solid var(--line);border-radius:20px;background:#fff} .compare{overflow:auto;border:1px solid var(--line);border-radius:20px;background:#fff} table{width:100%;border-collapse:collapse;min-width:860px} th,td{padding:15px 17px;border-bottom:1px solid #edf1f7;text-align:left} th{background:#f7f9fd;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#40516a} td{color:#52627a} .yes{color:var(--green);font-weight:850} .notice{padding:18px 20px;border-left:4px solid var(--blue);background:#f1f6ff;border-radius:10px;color:#42536d} .warn{border-left-color:var(--crimson);background:#fff3f5;color:#7d3340} .cta{padding:84px 0;background:radial-gradient(circle at 20% 20%,rgba(23,105,255,.22),transparent 30%),linear-gradient(135deg,#07111f,#102a5a);color:#fff} .cta h2{color:#fff}.cta p{color:#b9c9e1} footer{background:#050b14;color:#a6b5ca;padding:55px 0 26px} .footgrid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px} footer h4{color:#fff;margin:0 0 13px}footer a{display:block;margin:8px 0;font-size:.9rem} .footnote{border-top:1px solid #172238;margin-top:34px;padding-top:20px;font-size:.82rem;color:#73839d} @media(max-width:980px){ .navlinks{display:none}.hero-grid,.split{grid-template-columns:1fr}.grid3{grid-template-columns:repeat(2,1fr)}.grid4,.darkcards{grid-template-columns:repeat(2,1fr)}.journey{grid-template-columns:1fr}.step:after{display:none}.policygrid,.usegrid{grid-template-columns:1fr}.footgrid{grid-template-columns:repeat(2,1fr)} } @media(max-width:640px){ .container{width:min(100% - 26px,1180px)}h1{font-size:3rem}section{padding:70px 0}.grid3,.grid4,.darkcards,.stategrid{grid-template-columns:1fr}.footgrid{grid-template-columns:1fr}.navright a:first-child{display:none} } img,svg{display:block;max-width:100%} .brand-mark svg{width:23px;height:23px;color:#fff} .brand-mark{ width:38px;height:38px;border-radius:12px; background:linear-gradient(145deg,var(--blue),var(--teal)); display:grid;place-items:center;box-shadow:0 8px 24px rgba(18,84,244,.24); }
Licensing Solution

Issue, Verify and Control Software Licenses From WordPress.

Evoxup connects license issuance, verification, activation policy and entitlement to the same product model used by your membership and commerce workflows.

LICENSE LIFECYCLE

One License. Clear State.

Track the relationship between the customer, product, activation and current license status.

EXAMPLE LICENSE
EVO-••••-••••-4821
STATUSActive
PRODUCTEVO Product
ACTIVATION1 / 3
The Licensing Problem

Licensing Breaks Down When It Is Detached From the Product.

A key generator alone is not a licensing platform. The license needs product context, policy, activation state, customer ownership and clear entitlement rules.

1

Keys Without Product Context

A raw key is not enough if the system cannot reliably determine which product, customer and policy it belongs to.

2

Verification Without Authority

Verification must come from a trusted internal authority, not from scattered extension logic or inconsistent provider callbacks.

3

Activation Without Policy

Activation counts, site rules and status handling need consistent policy rather than ad hoc checks in each client.

Product-Centered Licensing

The Product Defines What the License Means.

Evoxup treats licensing as part of the product lifecycle rather than as a disconnected key table.

A product can issue a license by itself, or participate in a broader membership + licensing workflow when both are required.

Product policy

Defines whether a license is required and which source issues or verifies it.

License record

Connects the key to product, customer, state and entitlement.

Activation policy

Defines site/domain usage and activation limits where applicable.

Verification response

Returns the current trusted state needed by the client product.

License Operations

Manage the Full License Lifecycle.

Issue

Create or associate a license when a product workflow requires one.

Verify

Confirm key status, product identity and policy requirements through the licensing authority.

Activate

Register a permitted site or installation according to the product activation policy.

Deactivate

Release an activation when the product or customer workflow requires it.

Verification Flow

From Client Request to Trusted License State.

1. Request

The client sends the license and product context required by policy.

2. Identify

Evoxup resolves the license and associated internal product.

3. Check Policy

Status, domain/site information, client version and other applicable policy rules are evaluated.

4. Resolve Entitlement

The license authority determines the effective access state.

5. Respond

The client receives a clear verification result it can act on.

License Policy

Different Products Can Require Different Rules.

Activation Limits

Allow one or more active installations according to the product's commercial policy.

Domain / Site Binding

Validate the site or domain information when the product policy uses site-bound licensing.

Server Requirements

Use server-side information such as IP/CIDR only where the selected product policy actually requires it.

Client Version

Include client version context where compatibility or update entitlement depends on it.

License State

Represent active, stopped, blocked/banned, expired or other defined states clearly.

Entitlement Source

Determine whether rights come from a membership, standalone product purchase or another valid product relationship.

Membership + Licensing

One Purchase Can Grant Both Access and a License.

For membership products, Evoxup can treat the license as part of the same commercial lifecycle rather than forcing a separate fulfillment system.

The internal flow remains consistent: product policy determines whether membership, license, entitlement — or a combination — should be created.

COMBINED FLOW

Sale → Product → Membership → License → Entitlements

Membership product

Can grant a plan relationship and issue or associate a license.

Standalone software product

Can issue a license without creating a membership.

External provider sale

Can enter the same licensing pipeline after provider verification and product mapping.

Authority & Security

Licensing Needs One Trusted Decision Point.

Evoxup keeps the licensing authority separate from commerce-provider trust. A sale verifies the commercial event; the licensing authority determines the license state.

License Authority

One trusted source evaluates current key status and policy.

Provider Verification

External sale verification proves the commerce event, not the ongoing license state.

Duplicate Protection

Repeated transaction events should not issue duplicate licenses or fulfillment.

Secret Handling

Provider credentials and licensing secrets should never be exposed in ordinary user interfaces.

Use Cases

Licensing for More Than One Product Model.

PLUGIN

WordPress Plugin Licensing

Verify a purchased plugin installation and control activations according to the product policy.

MEMBERSHIP

Membership + License

Grant software licensing together with broader member access from one purchase.

STANDALONE

License-Only Product

Issue a license even when the commercial product does not create a membership.

EXTERNAL COMMERCE

External Sale → License

Verify an external transaction, map the product and issue the appropriate license internally.

UPDATES

Protected Updates

Use current entitlement to control access to protected update channels where the product model requires it.

MULTI-SITE POLICY

Multiple Activations

Support one or more authorized installations according to the selected activation policy.

Clear Status

License State Should Be Understandable.

StateMeaningExpected Client Result
ActiveThe license is currently valid under the applicable policy.Grant the licensed capability according to entitlement.
StoppedThe license has been intentionally paused or disabled.Do not grant paid license access.
Blocked / BannedThe license is explicitly blocked due to policy or abuse handling.Reject verification with a clear status.
ExpiredThe applicable license or entitlement period has ended.Apply the product's expiry behavior.
Unknown / InvalidThe supplied key cannot be resolved as a valid license.Reject without exposing private internal data.
Important distinction: transaction verification and license verification are not the same operation. The commerce provider proves that a sale is legitimate; Evoxup's licensing authority determines whether the resulting license is currently valid and entitled.
Automatic refund/cancellation-to-license revocation should only be advertised when that lifecycle is actually implemented and tested. Until then, license stopping remains an administrative action.
Licensing That Fits the Product

One Product Model. Clear License Authority. Flexible Entitlement.

Use Evoxup to connect software licensing with products, memberships and external commerce without turning the license system into a separate island.