Overview
Licensing
This page explains licensing from the end user's perspective: what is needed, how to obtain the license, and how to apply it.
How to obtain a license
Review plans, included features per tier (Base / Pro / Enterprise) and purchase on the public site:
After purchase you will receive an email with license-payload + license-signature to install as described in the "End User Procedure" below.
How It Works
- The license is valid only if:
- correct signature.
machineFingerprintof the current server is present in themachineFingerprintslist of the signed payload.- If the license is not valid, data reading (
getFlatRecordData) is limited to a maximum of 20 records. Additionally, the host hookcustomizeSelectis bypassed (not invoked).
Where to Find the machineFingerprint
Backend endpoint:
GET /api/Meta/FirstRunStatus- in the payload you will find
machineFingerprint.
Note: the local file installation.id is no longer used by licensing.
End User Procedure
1. Retrieve machineFingerprint from your host.
2. Send the value to the vendor/licensor.
3. Receive the license values:
license-payloadlicense-signaturelicense-public-key-pem(if required by your installation)
4. Enter the values in the appsettings.{Environment}.json file of the running host, AppSettings section.
5. Restart the backend.
6. Verify license status from API:
GET /api/Meta/LicenseStatus- expected:
licenseValid = true.
Multi-Machine License
A single license can authorize multiple machines by including multiple values in machineFingerprints.
Quick Troubleshooting
licenseReason = invalid_signature:- payload/signature are not consistent with each other or the public key is different.
licenseReason = machine_fingerprint_not_authorized:- the current machine's fingerprint is not present in the received license.
licenseReason = machine_fingerprint_missing:- the runtime cannot calculate the local fingerprint.
licenseReason = license_expired:- the license has expired, request renewal.
Screenshot
