Start a trial
Color

How license checks work

See when the server checks your license, what the health page shows, and which requests pause when the license goes read-only.

For
OwnerAdministrator
Hosting
Any hosting
Devices
Server
Business
All businesses

Checked against Pop Dispatch 0.1.0

The Pop Dispatch server asks the license service for a signed license file, keeps the last answer on disk, and decides from that answer whether people can add and change records. You will be able to read the license status, understand why a write was refused, and put the server back to full use.

Before you start #

  • Your license key, which starts with PSDP.
  • You type the key in the setup wizard, or later on the license screen. A server set up from a command window can read it from PSD_LICENCE_KEY. The license service's public keys are built into the server; PSD_LICENCE_PUBLIC_KEYS replaces them after a key change.

What the server does #

  1. At start, the server loads the last signed answer saved in licence-state.json in the data folder.
  2. Then it asks the license service at https://thepopstreet.com/api/licence for a fresh answer, and again every 6 hours.
  3. Between checks it decides from the saved answer, so a short internet outage changes nothing.
  4. If the server has had no successful check for more than 45 days, the license goes read-only with export. There are no grace days for this limit. A free trial has a shorter limit of 72 hours; see "Trial and read-only mode".

What each state allows #

  • Full: everything your plan includes.
  • Grace: a term license ended and its grace days are running. Everything works, with a reminder.
  • Read-only with export: people can read, export and back up. Adding or changing records answers licence_read_only (HTTP 403) with the license message.

Sign-in, sign-out, and paths under /export and /backup stay open in every state. Reading is always open.

Check the state #

Call GET /health. The licence field says active, grace, read_only or unchecked. unchecked means license checks are switched off on this server.

Steps to restore full use #

  1. Make sure the server can reach the internet.
  2. Wait for the next check (at most 6 hours), or restart the server to check at once.
  3. If the license ended, renew it with your supplier.
  4. Confirm with GET /health that licence is active.
Technical details
  • The server never trusts the computer clock going backwards: it remembers the newest time it has seen.
  • A refused check (withdrawn, ended, wrong product or suspended) is saved and keeps the server usable for the license's grace days, then read-only.
  • PSD_LICENCE_CHECK=off or --licence-check off switches checks off in a development build. A release build ignores it, keeps checks on and logs a warning.
  • The newest time the server has seen is kept in licence-state.json, in the database and in the operating system key store. The newest copy is used at start. The license service's signed time replaces it at each check.
  • The device id for the license service is made once and kept in licence-state.json.

If something goes wrong #

  • The log says the program holds no license public key: this is a development build. Install the build from your supplier. The server still starts and the setup wizard still opens.
  • A check fails every 6 hours while the internet works: send your supplier the license key and the time of the failed check from the server log.
  • See the playbook "License expired or unreachable".
  • A wrong computer clock or a missing licence-state.json: see "Clock and offline troubleshooting".