K
KernoDocs
Docs/License keys & trial

License keys & trial

How the licence state machine works, where to paste a key, and what happens when one expires.

Four states

  • Trial mode — no LICENSE_KEY configured. Engine runs unrestricted, the chat shows a subtle "Trial mode" tag. Used for evaluation / development. The licence server is never contacted.
  • Valid — daily check against the licence server succeeded. Silent.
  • Grace — daily check has been failing (server down, key expired). Yellow banner, 7 days. Goes red at ≤ 2 days remaining.
  • Locked — grace ran out. Full-screen overlay blocks chat. Engine's background jobs keep running so a renewal unsticks the app without restart.

The check runs once a day and caches to memory/.license-cache.json. Restarts don't reset the cache, so the grace window survives docker compose down.

Getting a trial key

Drop your email at getkerno.ai/trial. The licence server issues a 7-day key and the welcome email arrives within seconds. After the 7 days, the engine flips to grace for another 7 days, then locks.

Where to paste it

First-time setup: wizard step 4 (API keys) → Licence key field → click Test connection.

After setup: /adminAPI keys section. Same field, same Test button. Saving a fresh key resets the grace window immediately.

Rotating a key

Bought a Pro upgrade or got a replacement key after revocation? Paste the new key in /admin → API keys → Save. The engine writes a key-hash to the cache file, so changing the key resets grace from scratch — you start the next 7-day cycle clean.