Licensing built to be relied on.
The service that decides who can run your software – and keeps working when it matters. Licensing and entitlement APIs for desktop applications, games, and developer tools.
Your licensing server is load-bearing: it gates who can open your product, on which plan, with which features. When it is slow or down, paying customers are locked out – so it has to be both correct and dependable. Code Bunnies build licensing and entitlement backends designed around that reality, with offline-tolerant clients so a momentary blip never stops your users working.
Control who runs your software
Issue, activate, and revoke licences with confidence – per seat, per device, per plan. You decide exactly who is entitled to what, and can change it in real time.
Stop revenue leaking
Shared keys, over-installs, and trials that never expire quietly cost you money. Proper entitlement checks and signed, tamper-evident licences close the gaps – without punishing honest customers.
Dependable by design
Licensing is availability-critical, so we build it that way: health-checked redundancy on the server, and offline grace on the client so a blip never locks your users out.
Everything the licence check needs.
Licence key lifecycle
Generation, activation, transfer, and revocation – with a full audit trail and an admin dashboard to run it all.
Online & offline activation
Always-online entitlement checks where you want them, and signed, tamper-evident offline keys with grace periods where connectivity cannot be assumed.
Plans, seats & trials
Tiered plans, per-seat and per-device limits, time-limited trials, and feature gating – the commercial rules your product actually needs.
Billing integration
Subscriptions and one-off purchases tied straight into Stripe, so entitlements follow payment state automatically.
Client integration
Guidance and helper code for wiring desktop applications, game clients, and IDEs against the licensing server – the part that has to be robust.
Accounts & sign-in
Account-based licensing with OAuth2 and PKCE when you want users to log in – identity and entitlement from one system, of the kind we run in production elsewhere.
A licence server nobody has to worry about.
When licensing is down, paying customers are locked out. We engineer it so that never becomes your problem.
Offline-tolerant clients
The licence server is never a single point of failure for your users: cached entitlements and signed grace periods keep people working through an outage or a flaky connection.
Health-checked & redundant
Containerised deploys with health checks and rollback paths, sized so a single failure does not take licensing down.
Monitored, with a person on call
On a retainer we watch the endpoints and dependency advisories and respond to production issues as a priority – before your customers notice.
Tested and documented
The licensing paths ship with their test suite and clear documentation, so changes stay safe and the next engineer is never guessing.
From commercial rules to production.
Model the rules
We start from your commercial model – plans, seats, trials, feature gates – and turn it into an entitlement model that will not fight you later.
Design for offline
We decide together where checks are online, where signed offline keys and grace periods apply, and how the client behaves when the server is unreachable.
Build & integrate
The server, admin dashboard, and client integration ship in reviewable slices, tested, against a staging environment you can see.
Run & watch
We deploy to infrastructure you own, hand over documentation, and – on a retainer – keep the endpoints monitored and patched.
The things worth asking first.
What if the licensing server goes down – are my users locked out?
Not if it is designed properly. We build clients to tolerate the server being unreachable: cached entitlements and signed offline grace periods let people keep working through an outage, while the server catches up when it returns. The licence check should never be a single point of failure for your customer.
Online activation or offline keys – which do I need?
Often both. Always-online checks give you instant revocation and accurate seat counts; signed offline keys work where connectivity cannot be assumed. We usually combine them – online where possible, a signed grace period where not.
How do you stop people sharing licence keys?
Per-seat and per-device binding, activation limits, and server-side entitlement checks make casual sharing visible and enforceable – without heavy-handed DRM that punishes legitimate customers. The goal is to close the leaks, not to fight your own users.
Can it gate features and plans, not just on or off?
Yes. Entitlements can drive tiers, per-feature access, seat counts, and trial windows, so a single account unlocks exactly what it has paid for.
Does it work for desktop apps, games, and IDEs?
Those are exactly the clients this is for. We provide integration guidance for desktop and game clients where the check has to be robust and hard to bypass, and where offline behaviour matters.
How does billing connect to entitlements?
Through Stripe. Subscription and payment state drives entitlement automatically – when a subscription lapses or upgrades, access follows, with webhooks handled idempotently so nothing is lost.
Do we own it, and can we self-host?
Yes to both. The licensing server runs on infrastructure in your name, documented for your team. No lock-in – you hold the keys to the thing that holds your keys.
Need a licensing backend you can trust?
Tell us how your product is sold and how it runs. A Code Bunny will tell you honestly how we'd build the licence server around it.
Talk to a Code Bunny