A site limit that holds
Each site activates with its key, and the limit holds even when two sites activate at the same moment. Local copies on localhost, .test, .local or a private address don't take a seat, and customers free a seat themselves from My Account.
Renewals that keep the key
Customers renew from My Account and keep the same key on the same sites. Sold through Payments via Polar subscriptions, each payment extends the license by itself; licenses that don't renew by themselves get reminder emails.
Ship carefully
A beta channel for sites that ask for betas, and staged rollouts that offer a new version to a share of sites before everyone.
Everything on record
Keys are encrypted at rest with AES-256-GCM. Each license keeps its history: issued, sites added and removed, revoked, renewed, and by whom. Refunding a renewal takes back that year: the expiry moves back one term and the key works until then. Refunding the first order revokes the key.