Licence
The offline licence, bound to one edge PC, with 30 days' grace after expiry.
BooleX is licensed per edge PC with a file signed by 4M. The licence is checked on the edge PC alone, with 4M's public key: nothing is fetched from a network, and there is no online licence check (REQ-ARCH-009).
What the licence holds
The site, the edge PC it is bound to (its machine identifier), the edition and features, and the issue and expiry dates, signed with Ed25519. A licence changed in any byte, or copied to another edge PC, is refused.
Files
| File | Default | Variable |
|---|---|---|
| The licence | /config/licence.json | BOOLE_LICENCE |
| 4M's public licence key | /config/licence.pub | BOOLE_LICENCE_KEY |
The machine identifier is the host's /etc/machine-id, which Compose mounts read-only into the Assistant (or BOOLE_MACHINE_ID if set).
Install a licence
python -m settings.licence machine-id # this edge PC's machine identifier, for 4M python -m settings.licence install licence.json --public /config/licence.pub # check the file, then put it in place python -m settings.licence show # the installed licence and its status
install checks the signature and the machine binding before it replaces the current licence, so a wrong file never replaces a good one.
When it is checked, and what happens
The Assistant checks the licence when it starts, once a day and whenever the file changes (REQ-ARCH-010).
| Status | Questions | What users see |
|---|---|---|
| Valid (to the end of the expiry day) | Answered | Nothing |
| Expired, within 30 days | Answered | A renewal notice in the top bar of the Web UI with the last day of grace, and a platform alarm |
| Expired for longer, missing, changed or bound to another PC | Not answered: the Assistant says why | The notice and the platform alarm |
The licence gates questions only. Data collection, the store, the source viewer, reports and backups keep working whatever its status. Every change of status is recorded in the audit log. The development profile (the bench) runs without a licence.
See Renew a licence.