Trial, licences, and seats

licensing

DocuCommit is licensed software with a plain check: the editor and the server each hold a signed licence token and confirm it periodically. Nothing about that check touches your documentation — it never leaves your machine.

Starting the trial

The trial starts inside the editor, not on the website. Open Settings → License, enter a Work email, tick the box confirming you have read the End-User License Agreement and Terms of Service, and select Start 14-day free trial.

  • 14 days, full functionality, no credit card.
  • One trial per machine. A second attempt on the same machine is refused — the editor says the device has already used its free trial.
  • The trial ends by turning into an ordinary expired licence. Activate a key to carry on; your files are unaffected either way.

You can also start from the trial page, but the trial itself is always activated in the editor on the machine that will use it.

Activating a licence

In the same place — Settings → License — paste the key into License key and select Activate with a key. If the editor is already showing the licence screen because no valid licence is present, the same two options are on that screen.

Activation records, on the licence server:

SentDetail
The licence keyTo find the licence and check it has a seat free
Which surfaceEditor or server; a key issued for one does not activate the other
A hardware fingerprintA SHA-256 hash of an OS-level machine identifier plus a fixed product salt
Operating system and app versionFor support and version statistics

The fingerprint is worth being precise about. It is computed from the Windows MachineGuid, the macOS IOPlatformUUID, or the Linux /etc/machine-id, hashed with SHA-256 before it leaves the machine. It is not derived from MAC addresses, IP addresses, or the hostname, and the underlying machine identifier is never transmitted and cannot be recovered from the hash. Your documents play no part in it. If no machine identifier is readable — common in containers — the fingerprint falls back to hashing coarse machine properties (home directory, OS name, username); the hash is still computed locally and the underlying values are never transmitted.

Activation returns a signed token, which is stored locally. That token — not a live connection — is what the editor checks on every start.

Seats

An editor licence is counted per activated machine. One person using a laptop and a desktop uses two seats.

To move a seat, free it first: Settings → License on the machine you are leaving, then Deactivate this device. You can reactivate the same key elsewhere afterwards, and you can come back to the original machine later with the same key.

A server licence is different: it covers one server install and an unlimited number of readers. Readers need no licence and install nothing. What the server licence includes varies by plan:

PlanRepositories the server may publishSign-in
Pro1Local accounts, plus Google and GitHub
Team1Adds OIDC SSO
Enterprise5Adds OIDC SSO

Seat counts per plan are on the pricing page.

Staying licensed

Once activated, the editor sends a heartbeat every 6 hours (and once shortly after start-up). A heartbeat carries the activation ID, the fingerprint hash, and the app version, and it comes back with a fresh token.

If the licence server cannot be reached, nothing breaks immediately. The licence stays valid for a 30-day offline grace window measured from the last successful heartbeat, which is also the remedy written into §7.3 of the EULA. Take a laptop to a site with no connectivity for a fortnight and it keeps working; reconnect and the next heartbeat resets the window.

The consequence is worth stating outright: permanently air-gapped use is not supported. A machine that never reaches the licence server will run for 30 days from its last successful heartbeat and then stop being licensed.

When a licence expires or the grace window runs out

The editor gates its own routes. With no valid licence — never activated, expired, or a licence token that has been altered — requests for content are refused and the editor shows its licence screen instead. What stays reachable is exactly what you need to fix it: Settings, the licence endpoints, and the app’s own assets. Activate a valid key and the editor unlocks on the spot; no reinstall, no data migration.

Your files are untouched. Every page is still a plain Markdown file in your Git repository, with its attachments beside it. You can read it, edit it, grep it, diff it, and publish it with any tool that understands text and Git, licence or no licence. That is the entire point of storing documentation this way: the software can lapse, and the documentation does not become a hostage. See Repository layout for what is on disk.

What the licence check sends

Every licence call, in full:

CallPayload
Start trialFingerprint hash, the work email you typed, OS, app version, EULA acceptance
ActivateLicence key, surface, fingerprint hash, OS, app version
HeartbeatActivation ID, fingerprint hash, app version
ValidateThe stored licence token
DeactivateThe stored licence token

Never sent: documents, frontmatter, attachments, file names, repository URLs, Git history, MAC addresses, or the hostname — hostnames are deliberately excluded because in corporate environments they often embed a person’s name.

Your IP address is visible to the licence service the way it is to any server you connect to. It is not kept in raw form: heartbeat IPs are replaced with an HMAC-SHA-256 digest, keyed by a server-side secret, before anything is stored, and the digest exists only for equality checks during fraud detection. The licence service runs on Supabase in the EU (eu-north-1, Stockholm). The full text is in §7 of the EULA and in the privacy policy.