The Subset team3 min readengineeringlicensing
A licence that cannot break your site
Why the licence client caches its last good answer for three days and fails open, and what an expired licence actually stops.
There is a category of WordPress plugin failure that happens entirely on the vendor’s side of the wire. The licence server has an outage, and thousands of sites that were working a minute ago start printing a warning, disabling features, or in the worst cases white-screening.
That is a design choice, and it is avoidable. Here is ours.
The rule
An expired or unverifiable licence loses updates, support and hosted credits. It does not stop the plugin working.
The code is GPL. We sell updates, support and hosted services — not permission to run code — and pretending otherwise would be both dishonest and unenforceable.
Failing open, concretely
The licence client caches its last good check for three days and fails open. In practice:
Day 0 check succeeds → cached "active", plugin fully functional
Day 1 our server is down → cache used, plugin fully functional
Day 2 our server is still down → cache used, plugin fully functional
Day 3 our server is still down → cache expired, plugin STILL functional
(Pro features degrade, nothing is disabled)
Three days is a deliberate number. It is long enough to cover a bad weekend on our side without anybody noticing, and short enough that a genuinely cancelled licence stops receiving updates within a reasonable window.
What an expired licence actually stops
- Updates. The update check returns nothing, so wp-admin shows no new version. The installed version keeps running.
- Support. The direct channel closes. The WordPress.org forum for the free plugin does not.
- Hosted credits. Anything with a per-use bill attached to it stops, because the bill does not.
What it does not do
- It does not disable the plugin, or any feature that runs entirely on your server.
- It does not put a banner in your dashboard.
- It does not phone home on every page load. The check is scheduled, not per-request, and a page view never waits on our infrastructure.
Development and staging sites are free
A staging site does not consume a licence slot. Neither does localhost, an IP
address, a .local or .test domain, or the staging subdomain your host gave you.
This is not generosity. A licence model that punishes you for testing before you deploy is a licence model that encourages deploying without testing, and we would rather not be the reason somebody pushed straight to production.
A multisite network is one site, for the same class of reason: one WordPress install, one wp-admin, one update check.
Why write this down before shipping
Because it is checkable later. The behaviour above is either what the licence client does or it is not, and having said it in public in September 2026 makes that a thing you can hold us to rather than a thing we can quietly revise.
The pricing page has the rest of the policy — including the part where the price you joined at is the price you keep.