License Web – Product Activation Management
License Web is a self-hosted licensing and activation-management portal for your products. Create perpetual, expiring, trial, or volume license keys, and let your software activate, deactivate, and check license status through a simple REST API. The APIs are very simple to understand and suitable for almost all types of products including Desktop software, Games, Online portals, Media Subscription, website themes/plugins and more.
You just focust on your product development and let License Web to handle control your product key distribution and activation process.
Lifetime updates
Key Features
- Perpetual, expiring, and trial licensing
- Volume / multi-seat keys with concurrent-seat enforcement
- Simple, wire-compatible activation API
- Four-stage key lifecycle with full history
- Auto or manual key generation, global or per-product rules
- Customer details on every key
- Token-authenticated admin REST API
- Role-based access with granular permissions
- Active Directory / LDAP sign-in
- Two-factor authentication for admins
- Full audit log
- Customizable email templates
- Activation dashboard and reporting
- Multi-database support (SQLite, MySQL, SQL Server, PostgreSQL)
- Runs as a Windows Service or Linux systemd unit
- Encrypted key storage
Licensing Models โ Perpetual, Expiring & Trial
Issue keys that fit however you sell. A perpetual key never expires on its own โ it stays valid until you deactivate or revoke it. An expiring key carries a validity period set at issue time (a default per product, or a custom date per key); once it lapses, the key stops passing activation checks. A trial key runs on a duration measured in minutes rather than days, starting from the moment it's first activated, so you can offer short evaluation windows without maintaining a separate trial system.
Volume & Multi-Seat Licensing
A single key doesn't have to mean a single machine. Set a maximum activation count on a key โ say, 10 โ and up to that many devices can hold an active seat concurrently. When a seat is deactivated, either by your software calling the deactivate endpoint or by an admin releasing it from the console, that slot frees up immediately for another device. Re-activating the same device is idempotent, so it never consumes an extra seat by mistake.
Activation API
Your software talks to License Web through a small set of endpoints: activate, deactivate, and check trial status. Responses come back as simple plain text your existing integration already expects (Activated, deactivated), with an optional structured JSON payload alongside it for anything that wants expiry dates and trial flags directly. The contract is wire-compatible with installs already in the field, so upgrading the server doesn't require touching client code, and the same endpoints are also reachable through clean /api/v1/license/... aliases if you're integrating fresh.
Key Lifecycle & History
Every key has a clear, current status: Created when it's issued, Activated on its first successful activation, Deactivated when its last active seat is released, and Expired once it lapses or is force-revoked. Only an Expired key blocks further activation โ a Deactivated key can always come back to life on a new device. Click into any key and its detail page shows a full status-history timeline alongside every activation it has ever had, so support questions like "when did this stop working" have a straight answer.
Key Generation โ Auto & Manual
Generate keys automatically from a configurable rule โ length, character set, casing, grouping, prefix and suffix, and whether to exclude ambiguous characters โ with a live preview as you adjust it. Set one rule for your whole catalog, or let individual products override it with their own format. When you'd rather supply the keys yourself, switch to manual entry, paste them one per line, and License Web validates the count, rejects blanks and duplicates, and checks for collisions with keys already in the system.
Customer & Key Metadata
Bind a customer's name, email, and mobile number directly to the key they hold, so a support agent can find the right license without digging through order history elsewhere. Free-form notes and metadata fields carry anything else you need attached to a key โ a plan tier, an order reference, an internal comment โ without requiring a schema change.
Admin REST API
Beyond the activation contract, a separate token-authenticated API lets your own tools manage Products, License Keys, and Activations directly โ list, create, revoke, or query status in bulk. Each tenant gets its own API key/secret pair, individual resources can be switched off entirely (a disabled resource simply 404s), and whether raw key values are exposed through the API is a toggle you control.
Roles & Permissions
Access isn't fixed to a handful of hardcoded roles. Build as many roles as your team structure needs, and scope each one to exactly the actions it should be able to take โ issue keys but not manage users, view activations but not touch settings, or full administrative control. The navigation itself adapts to what a signed-in user can actually do, so nobody sees a screen they can't use.
Active Directory / LDAP Integration
Let your team sign in with the credentials they already have. License Web authenticates against your Active Directory first and falls back to a local account if AD isn't reachable or the user isn't found there, and role membership is synced automatically from AD group names โ add someone to the right group, and their permissions in License Web follow.
Two-Factor Authentication
Admin accounts can require a second factor at login using standard TOTP authenticator apps, with one-time recovery codes issued in case a device is lost. Two-factor can be left optional, enabled per user, or enforced tenant-wide as policy; accounts signing in through Active Directory are exempt, since AD already governs their credential security.
Audit Log
Every meaningful admin action โ key created, key revoked, user added, settings changed, and more โ is written to a searchable audit trail, viewable from its own screen and surfaced as a live feed on the dashboard. When something changes unexpectedly, there's always a record of who did it and when.
Email Notifications & Templates
Key delivery and activation confirmations go out automatically over your configured SMTP server, using editable templates with simple placeholder tokens for things like the customer's name, the product, and the key itself. Test-send a template from the console before it goes live, and adjust the wording any time without touching code.
Dashboard & Reporting
Land on a dashboard that actually tells you something: a 14-day activation trend, keys expiring soon, the most recent activations, and the latest audit events, all in one view. It's built to answer "what's happening with my licenses right now" without clicking through five screens first.
Multi-Database Support
Run on whichever database you already operate: SQLite (with optional at-rest encryption), MySQL, SQL Server, or PostgreSQL. Schema updates ship as proper migrations for all four providers, so moving to a new version behaves the same regardless of which database backs your install โ no provider left patched together with hand-written scripts.
Deployment & Hosting
License Web is self-hosted and installs as a genuine Windows Service or Linux systemd unit, restarting automatically if it goes down and logging to the platform's own service tools as well as its own rolling log files. It sits comfortably behind IIS, Nginx, or any reverse proxy, with listening addresses, ports, and TLS certificates configured right from the admin console. A /health endpoint gives load balancers and uptime monitors something to check.
Security
License keys are encrypted at rest rather than stored as plain text, and lookups happen by hash rather than by exposing the raw value. Admin passwords are hashed with PBKDF2, repeated failed logins lock an account out temporarily, and changing a password or role immediately revokes any sessions that account already has open โ so a compromised session doesn't outlive the fix.
What is License Web and who is it for?
License Web is a self-hosted licensing and activation-management server for software vendors. If you sell a product that needs a license key โ desktop software, a web portal, a game, a plugin or theme โ License Web is where you issue those keys and track their activation status.
Is this an upgrade of the old License Web, and will it break my existing installs?
Yes, this is a ground-up rebuild of License Web with the same activation contract. Any client software already calling the activation endpoints keeps working without changes โ it's a drop-in replacement for the server side.
What are the server and OS requirements?
License Web runs as a self-contained service on Windows or Linux โ a Windows Service or a systemd unit. It sits comfortably behind IIS, Nginx, or any reverse proxy, but doesn't require one.
Do I need to install a database server?
Not necessarily. License Web supports SQLite out of the box โ a single file, nothing extra to install or maintain โ as well as MySQL, SQL Server, and PostgreSQL if you'd rather run one of those.
Can I switch databases later?
The database provider is chosen during setup and used from then on. Moving to a different provider afterward isn't a supported in-place switch โ plan your database choice up front.
What licensing models does it support?
Perpetual keys that never expire on their own, expiring keys with a validity period, and trial keys with a duration set in minutes from first activation. A single product can offer any mix of these.
How does volume or multi-seat licensing work?
Set a maximum activation count on a key and up to that many devices can hold an active seat at once. Deactivating a seat โ from your software or from the admin console โ frees it immediately for another device.
Can I generate keys automatically, or use my own?
Both. Generate keys from a configurable rule (length, character set, casing, prefix/suffix), or paste in your own keys manually โ License Web validates them for duplicates and collisions either way.
What do the key statuses (Created, Activated, Deactivated, Expired) mean?
A key starts as Created, moves to Activated on its first successful activation, and becomes Deactivated when its last seat is released. Only Expired blocks further activation โ a Deactivated key can always be reactivated on a new device.
Does it support Active Directory / LDAP login?
Yes. Admins can sign in with their AD credentials, and role membership syncs automatically from AD group names, alongside standard local accounts.
Is there an API for managing products and keys directly, separate from the activation API?
Yes โ a token-authenticated admin REST API lets your own tools list, create, and manage Products, License Keys, and Activations, independent of the activation endpoints your client software calls.
Can I customize the emails that go out to customers?
Yes. Key-delivery and activation emails use editable templates with placeholder tokens, so you control the wording without touching code.
How do I run it over HTTPS on my own domain?
Configure the listening address, port, and TLS certificate from the admin console under System โ Endpoints, then restart the service to apply it. Most deployments front it with a reverse proxy and keep License Web itself on an internal port.
Is it secure?
License keys are encrypted at rest and looked up by hash rather than stored in plain text. Admin passwords use PBKDF2 hashing, repeated failed logins lock an account temporarily, and two-factor authentication is available for admin accounts.
What if I get locked out of the admin account?
A break-glass recovery option lets you reset the local administrator via an environment variable and a service restart, so you're never permanently locked out of your own install.
Do I get updates?
Update terms follow your order/support plan โ check your purchase details for what's included. (Flagging this one for you: I left the wording open rather than repeating "lifetime updates" from the old page, since I couldn't confirm that's still your current policy โ let me know and I'll firm this up.)
Is there a live demo or documentation I can look at first?
Yes โ a live demo and full documentation, including the REST API reference, are linked from the product page.