User guide
When a licence expires
Your site keeps working. An expired licence loses updates, support and hosted credits — it never disables a plugin, hides your settings or deletes your data.
Your site keeps working. When a Subset licence lapses — because you cancelled, because a card failed, or because you simply did not renew — the plugin carries on doing exactly what it did the day before. Nothing switches off, nothing hides, nothing gets deleted.
What you lose is the part we actually sell: updates, support, and hosted AI credits.
Why it works this way
The plugins are GPL. We sell updates, support and hosted services — not permission to run code you already have. A plugin that disabled itself when a payment failed would be charging you for permission, and it would be doing it on a live site, at a moment you did not choose.
So the rule is written down in two places and enforced in one. The repository calls it
“fail open on customer sites”; the licence state machine in @subset/core states it as
a comment at the top of the file, and every state it can derive leaves the installed code
running. There is no capability in that file that means “turn the plugin off”, because
there is nothing that would read it.
The same rule covers the boring failure too. If our API is unreachable — our outage, your firewall, a DNS problem at four in the morning — the licence client keeps using its last good answer. A network error on our side is not a feature flag on yours.
What you lose, state by state
A licence is in one of four states. The first two are the healthy ones.
| State | What it means | Plugin runs |
|---|---|---|
| Active | Paid up and inside the term | Yes |
| Grace | A payment did not go through; the window is still open | Yes |
| Expired | The term and the grace window are both over | Yes |
| Revoked | Refunded, suspended, or deliberately revoked | Yes |
The last column is the same every time, on purpose. What changes is everything else:
| What you get | Active | Grace | Expired | Revoked |
|---|---|---|---|---|
| Plugin keeps working | Yes | Yes | Yes | Yes |
| Your settings and data | Yes | Yes | Yes | Yes |
| Plugin updates | Yes | Yes | No | No |
| Told a new version exists | Yes | Yes | Yes | No |
| Support | Yes | Yes | No | No |
| Hosted AI credits | Yes | Yes | No | No |
| Activating more sites | Yes | Yes | No | No |
Two rows in that table are worth reading twice.
Grace loses nothing at all. A failed payment is almost always an expired card, not a decision, so the grace window keeps every single thing an active licence has. You get the renewal prompt and nothing else changes. The window is 14 days from the end of the term.
An expired licence is still told that a new version exists. That is deliberate: it is what makes the “your licence expired, renew for updates” notice possible at all. WordPress is told the version number and is not given the download, so you can see what you are missing and decide — rather than having updates silently stop looking available.
Cancelling
Cancelling does not cut you off on the day you click it. A cancelled licence runs to the end of the term you paid for, exactly like one you did not cancel, and only then does it read as expired.
Refunds, chargebacks and revocation
Three different things that land in the same place.
- A refund inside the 14-day window takes the entitlement back with the money. That is the trade: you get the payment back, we stop providing updates and support.
- A suspension is what a chargeback or an abusive account gets. It is operational, not a billing state, and it is reversible by talking to us.
- A revocation is the deliberate version of the same thing.
All three read as revoked and lose the same things — and all three still leave the
plugin running on your site. A revoked licence additionally stops being told what the
latest version is, because there is no renewal prompt to make and nothing useful to say.
Renewing after it has expired
Renew and you are back to active: updates resume, support resumes, and credits resume with the next billing period. Nothing needs reinstalling and nothing needs re-entering — the licence key and your site activations are the same rows they always were. An expired licence cannot activate a new site, but the sites it already had stay recorded and come back with it.
If you let the whole year lapse and come back later, you are buying a new term, not paying off a debt — there is no catch-up charge for the months you were not a customer.
What this does not cover
Two honest caveats.
WordPress and PHP move underneath you. A plugin frozen at the version you last downloaded keeps doing what it did, and then WordPress 7 ships and something it relied on changes. We cannot promise an old build works forever on a platform we do not control — only that we will not be the ones to break it.
Security fixes are updates. If a vulnerability is found in a version you are frozen on, the fix arrives as an update, and an expired licence does not get updates. We will say so publicly rather than quietly, and renewing is how you get the fix. This is the one place where “it keeps working” is genuinely not the same as “it is fine”.
See also
- Pricing — the tiers, and what the grace and refund windows are.
- Licence agreement — the same rules in their contractual form.
- Moving a licence between sites — if the site, not the licence, is what ended.