Gardience Documentation gardience.com →
Docs / Administration

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:

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.

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

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

License states

StateMeaningCan you make changes?
okValid, in date, within the node limit.Yes
missingNo license file installed.No
invalidThe file was changed or is not a Gardience license.No
expired_graceExpired less than 30 days ago (7 days for a trial). The message gives the date the grace period ends.Yes
expiredExpired more than 30 days ago (7 days for a trial).Paid licenses: only security patching (see below). Trials: no
over_graceMore nodes are managed than the license covers, for less than 30 days (7 for a trial or the free license).Yes
over_nodesMore 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
unboundIssued from November 1, 2026, not bound to a server, and its 7 days to bind have passed.No
wrong_serverThe license file is for a different server, for more than 7 days.No
server_unknownGardience has not been able to read this server's ID from Salt for 3 days (the scanner account needs @wheel key.finger_master).No
cancelledgardience.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:

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:

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:

Adding an add-on issues a new license file: install it with gardience license FILE as above.

Gardience by Bouziden Management LLC.