Skip to content

Licenses

A license lets protected code run on one specific host. You protect your code once with the License option, then issue a license for every customer host. Without a valid license for the host, the protected files don’t run.

Licensing uses a keypair you create in the Vault:

KeyWhere it goesShare it?
Public keyInto the Encoder, when you protect with LicenseSafe to share
Private keyInto the Licenser, to sign licensesNever share

Use one keypair per product or project. Every license signed with a private key works with all files protected with the matching public key.

  • Host — the one host the license is for.
  • Expiry — an optional date and time after which the license stops working. Without one, the license never expires.

Licenses are signed, so neither the host nor the expiry can be changed. To change anything, issue a new license.

A license is for exactly one host: a domain such as shop.example.com, localhost, or an IP address.

  • example.com and www.example.com are different hosts. If a site answers on both, issue a license for each.
  • The port is ignored: a license for example.com also works on example.com:8080.
  • Upper and lower case don’t matter.

The Loader takes the host from the incoming web request. Code that needs a license doesn’t run from the command line, where there is no host.

A license is a small file ending in .lic. Oxrion names it automatically from the license public key and the host, for example 4dd390c7e80bd49479aa883814db249106596746.lic.

Don’t rename it. The Loader finds the license by this exact name, so a renamed file is not found. Because each host gets its own name, licenses for different hosts can sit side by side in the same folder.

The first lines of the file are a plain-text note for people (# Host: and # Expiry:); the rest is the signed license.

Put the .lic file in the root folder of the project, next to or above the protected files. The Loader looks for it in the folder of the protected file being run and then in each parent folder, so one license at the project root covers every protected file below it.

A license with an expiry stops working at that exact moment, wherever the server is. The Loader checks it on every request.

The expiry is the date and time you pick, in your own time zone. The # Expiry: line of the license file and the Loader’s messages show it the same way, with the time zone — for example 2026-10-07 20:38 (UTC+3) — so you and your customer see the time you chose.

To renew, issue a new license for the same host with a later expiry and replace the old file. For the same host the new file has the same name, so it simply overwrites the old one. In Oxrion Desktop, New license from this in License History fills in the host and customer for you.

License expiry is separate from file expiry. See Expiry explained.

Issue licenses in the Licenser in Oxrion Desktop, or with oxrion-licenser on the command line. Both work offline. Oxrion Desktop can also keep a history of the licenses you issue and email them to your customers.