Offline license keys for a browser plugin: a signature, WebCrypto, and a Worker that signs after Stripe pays
No license server at runtime and no database at issue time. What the key contains, how renewal and grace work, how a sandbox deployment almost handed out real keys, and what you give up: revocation.