Licensing
A Gardience license is a small JSON file signed by the vendor. Gardience checks the signature on the server itself, with no call to the internet, so licensing works on air-gapped networks.
A license states the customer, the license type, the number of nodes it covers, its expiry date, and the server it is for.
Without a valid license the console is read-only: you can still view the fleet, scan and run reports, but changes are refused. Salt itself is never affected, so agents keep running.
Two free licenses are available, both issued from a link sent to your work email:
- Free (
https://gardience.com/free): up to 10 machines with no end date. Single sign-on, team scopes, signed evidence packs and standby failover are part of the paid plans and are refused on it with a message saying so. - Trial (
https://gardience.com/trial): everything, up to 25 machines, for 90 days.
The license also lets the install download Gardience's images and new releases (gardience upgrade --latest). A free license always can; a trial or paid license until 7 or 30 days after it ends. A lapsed license gets no new releases, and everything installed keeps working.
Install a license
Any of these works. The new license takes effect at once, with no restart.
- At install time: pass
--license FILEto the installer. From the command line on the server:
/opt/gardience/gardience license /path/to/license.json- In the console: open Settings, find License, choose the file and click Install license. This needs the
adminrole. The console checks the file's signature first and refuses a file that is not valid. Installing a license this way is recorded in the audit log (license.installed).
The license is stored as config/state/license.json in the install directory, readable by its owner only.
Bind a license to its server
Each license file is for one server. A server's ID is the SHA-256 fingerprint of its Salt master's public key, written sha256: and 64 characters. Salt makes that key at install; upgrades and restores keep it, and a standby server shares it, so none of them change the ID. Find it in Settings > License (with a Copy button), or run:
sudo /opt/gardience/gardience license id- The one-line install binds it for you. Right after installing, it sends this server's ID (and nothing else) to gardience.com and installs the license file for this server.
- Air-gapped servers, or an install from the offline bundle: in your account at gardience.com, open Subscriptions, add the server's ID under Servers, download that server's license file, and install it.
- A new license works unbound for 7 days from the day it is issued, so there is time to bind it. After that an unbound license is read-only until it is bound. Licenses issued before November 1, 2026 are not bound and keep working until they end.
- A license file for another server is refused when you install it. If one is already in place (new hardware without a restore), everything keeps working for 7 days while you move it in your account.
More than one server
One subscription covers all your servers. Split its machines across them under Servers in your account, for example 600 on-premises and 400 in the cloud, and install each server's own file. The shares never add up to more than the license covers. Trials and the free license run on one server and can be moved, not split.
Moving a license to new hardware, or lowering a server's share, can be done twice a year. A file already handed out cannot be taken back on an offline server, so each change is kept and checked against the usage report at renewal.
Yearly usage report
At renewal, send the usage report from each server: in Settings > License choose Usage report (admins). It holds this server's ID, the license, and the highest machine count of each month, and is signed with this server's evidence key. Gardience never sends it: you download it, read it, and send it. Downloading one is recorded in the audit log (license.report).
Check the license
gardience licensewith no file shows the current status.- Settings > License in the console shows the state, the customer, nodes in use against the limit, and the expiry date.
gardience doctorshows it as one of its checks.GET /gardience/api/v1/licensereturns it for scripts. See API keys and the REST API.
License states
| State | Meaning | Can you make changes? |
|---|---|---|
ok | Valid, in date, within the node limit. | Yes |
missing | No license file installed. | No |
invalid | The file was changed or is not a Gardience license. | No |
expired_grace | Expired less than 30 days ago (7 days for a trial). The message gives the date the grace period ends. | Yes |
expired | Expired more than 30 days ago (7 days for a trial). | Paid licenses: only security patching (see below). Trials: no |
over_grace | More nodes are managed than the license covers, for less than 30 days (7 for a trial or the free license). | Yes |
over_nodes | More nodes than the license covers for more than 30 days (7 for a trial or the free license). | Paid licenses: only security patching. Trial and free: no |
unbound | Issued from November 1, 2026, not bound to a server, and its 7 days to bind have passed. | No |
wrong_server | The license file is for a different server, for more than 7 days. | No |
server_unknown | Gardience has not been able to read this server's ID from Salt for 3 days (the scanner account needs @wheel key.finger_master). | No |
cancelled | gardience.com reported the license was cancelled (a refund or a disputed card payment). The message gives the date and the reason. | No, security patching included |
While a license is unbound and inside its 7 days, for another server inside its 7 days, or this server's ID cannot be read yet, the state stays ok and the console says what to do.
The node count is the number of nodes in the last scan. The 30-day period for being over the limit starts on the first day the fleet goes over, and resets when it is back under.
The daily release check
Gardience contacts no one on its own. If an admin turns on Check gardience.com once a day for a new release in Settings > License, then five minutes after the console starts and every 24 hours after that, it asks gardience.com for the newest release. It sends:
- the license file, so gardience.com can check its signature,
- the version of Gardience this server runs.
It sends nothing about your machines, users, or settings.
Settings > License shows the version this server runs, the newest release, and when it last checked. Check now asks once, whether the daily check is on or off.
When the check is on, its answer is also how a cancelled license reaches the server. If a license is cancelled after a full refund or a disputed card payment, the next check marks it cancelled and the console becomes read-only. If the license is restored, the next check clears it.
Only a definite answer from gardience.com changes anything. A server with no internet access never hears back, and an error or an ended license changes nothing. Whether or not the check is on, a cancelled license cannot install, bind to a server, or download releases.
Security patching never stops
When a paid license has expired or the fleet is over its limit for too long, these still run from the console:
- installing updates,
- rebooting to finish them,
- re-applying the security baseline,
- checking machines are back (ping).
Workflows made only of these steps, such as the patch rollouts, keep running too. Everything else is refused with a message that says why and what to do.
This protects paying customers whose renewal is held up. A trial is different: a week after it ends the console is read-only, patching included, until a license is installed. Machines keep running and nothing on them changes.
Requests made through the REST API or MCP server need the license to be ok or in a grace period.
Add-ons and support
A license can carry add-ons bought with a plan or added later:
- CMMC Level 2 (
"addons": ["cmmc"]in the license file): the CMMC Level 2 page, its policy templates, proof files, alerts and evidence. Included in Government and enterprise, in trials and pilots until they end, and in paid licenses issued before October 27, 2026 (until they end). See CMMC Level 2. - Standard or Premium support (
"support"): recorded on the license and in your account at gardience.com/account, where you open support requests. Every paid plan includes help with the license, install, upgrade and defects.
Adding an add-on issues a new license file: install it with gardience license FILE as above.