Licensing Overview
What a license is, how seats and devices work, and how to look after your customers' licenses
Written By Tobias Lønnerød Madsen
Every time someone buys your software, they get a license: the record that says they own it, and on how many computers they may use it. Moonbase issues and looks after these licenses for you, so your app only has to ask one question: is this computer allowed to run it?
This article covers products that use Moonbase for licensing, which is the default. Products delivered with key codes, iLok or your own license server work a little differently, see Product Fulfillment.
What a license is
A license belongs to one customer and one product. Most licenses come from a purchase, but they are also created by subscriptions, vouchers, imports, licenses you create by hand, and the license blocks in campaigns and automations (beta).
The pricing variation a customer buys decides what kind of license they get:
Perpetual license: theirs to keep. It never expires.
Subscription license: valid while the subscription is paid up. When a renewal fails, it keeps working for the variation's grace period (one hour unless you change it), so a late payment doesn't lock anyone out straight away.
A license is always in one of four statuses:
Active: the customer can activate and use it.
Pending: it is waiting to be delivered somewhere else, such as the customer's iLok account or your own license server.
Expired: the subscription behind it has ended. The admin app shows Expired as soon as the date passes, even while the grace period still lets the app run.
Revoked: it was refunded, or you revoked it. A revoked license can't be used again.
Seats and devices
Every computer a customer activates takes a seat on their license. You decide how many seats a license has with Number of activations per license, in the product's Licensing section. The default is one.
Customers can free a seat themselves: in their account on your storefront, under Licenses, they click Revoke next to a computer they no longer use. You can revoke any computer from the license's page.
Online and offline activation
Most customers activate online: typically the app opens a page in their browser, they sign in, and the computer is activated. The app then checks in with Moonbase now and then, which is how it notices a renewal, a refund or a revoked computer.
Computers that are never connected to the internet can activate offline. The app saves a machine file, the customer uploads it on your storefront's activation page, and downloads a license file to load into the app. An offline license is checked on the computer itself and never calls home. That has two consequences:
Customers can't free an offline seat themselves. Only you can, from the license's page.
Revoking it frees the seat in Moonbase, but the software keeps working on that computer, since it never checks in.
If you'd rather not offer offline activation, turn off Offline license activations enabled in the product's Licensing section. Activation Flows explains both flows in more detail.
Looking after a customer's license
Open Licenses in the sidebar and click View on a license to see everything about it: its status, how many seats are in use, the product and customer, and its Source, which tells you where it came from. Below it, Activations lists every computer that has activated it, with the app version, when it last checked in and from where, and whether it was activated online or offline:

The Licenses page filters by product but has no search. To find one customer's license, search for them under Customers and open their Licenses tab, or open their order and click License #1.
From the license's page you can:
Revoke a computer: Revoke on its row frees the seat, and the computer loses access the next time it checks in.
Revoke the license: Actions > Revoke locks the customer out on every computer that checks in. It can't be undone, so if you change your mind, create a new license for them.
Retry fulfillment: on a Pending license, once the reason it is stuck is fixed. The customer isn't emailed when it goes through, so let them know.
Creating a license by hand
To give someone a license without a purchase, for a reviewer, a giveaway or a customer who bought somewhere else, click Create license on the Licenses page, or Quick actions > Provision license on a customer's page:

Each license gets the product's usual number of seats and never expires. You can create up to 10 at once, and the customer is emailed that they have new licenses. Only Active and Private products can be given out this way.
Changing seats for everyone
Changing Number of activations per license or the offline setting only affects licenses issued from then on. To bring the licenses your customers already hold in line, save the new settings, then choose Actions > Update license entitlements in the same section:

The update runs in the background, so you can close the dialog, and gives you a CSV report of what changed once it is done.
There is no way to change the seats or the expiry of one single license. If one customer needs an extra computer, create an extra license for them.
Add-ons
An add-on (a sub-product, such as an expansion for your plugin) has a license of its own, with its own seats and expiry. When a customer activates the main product on a computer, the add-ons they own can be activated along with it, and your app can see which add-ons are unlocked. Selling add-ons with sub-products shows how to set them up.
What your app receives
When a computer is activated, your app gets a signed license token. It says who the license belongs to, which product and add-ons it covers, when it expires (if it does), whether it is a trial, and any custom properties you mark Include in license token. Your app can check the signature on the computer, without asking our servers. Licensing SDKs and your implementation guide helps your developer get started, and the licensing documentation has the details.
Frequently asked questions
A customer can't activate. Where do I start?
Open their license and look at its activations. Troubleshooting license activation goes through the problems we see most, with a fix for each.
What happens to the license when I refund an order?
It is revoked. Computers that were activated offline keep working, since they never check in.
Why does a license say Expired when the customer's app still works?
A subscription license keeps working through the grace period after a failed renewal, but the admin app shows Expired from the moment its date passes. If the renewal goes through, it is active again.
Can I test licensing before my account is live?
Yes. Until you go live, test purchases deliver real licenses, up to 100 of them. See Going live: demo mode and verification.
How do trials fit in?
A trial lets one computer run your product without a license, for a number of days or with no end date. With Auto-upgrade trials to licenses on, which is the default, that computer moves onto the customer's license once they buy. See Trials.
I sell through another store. Can Moonbase still issue the licenses?
Yes, see Using Moonbase licensing with another store.
Was this helpful?
More in Software Licensing
Activation FlowsVouchersTrialsDownloads / ReleasesStill need help? Ask the team