Licensing
How Orbtrace licensing works — the free COMMUNITY edition, the paid editions, how to obtain and activate a license offline, and exactly what happens when one expires.
Orbtrace is licensed per deployment, and it's designed for the on-prem, air-gapped world: a license is a small signed file you drop in, verified entirely offline against a public key baked into the product. There is no phone-home — Orbtrace never contacts Nivorbit to check your license, so it works on a network with no internet at all.
Out of the box, with no license, Orbtrace runs in the free COMMUNITY edition. You only need a license to lift the COMMUNITY limits and turn on the paid features.
The editions
- COMMUNITY (free)Core observability — logs, traces, metrics, search, the screens. Capped at 3 services, 3-day retention, 3 user seats, 1 node. No license required.
- PROLifts the caps (default 50 services / 30-day retention / 25 seats) and unlocks the premium features: full search, the dashboard editor, SLOs, anomaly detection, alerting, Causal RCA, the Astra AI assistant, async stitching, adaptive sampling, multi-provider AI, and cost observability.
- ENTERPRISEEverything in PRO with the caps lifted further (typically unlimited), plus Time-Travel Replay, granular controls, longer audit retention, PII redaction, AI provider failover, and session persistence.
Exact limits and the feature set for your contract are written into the license itself (Nivorbit sets them when minting it), so the numbers above are the defaults, not hard rules.
What a license actually controls
A license governs two things at runtime:
- Caps — how many services Orbtrace will fully account for, how far back queries can reach (retention), and how many user seats can be provisioned. The service cap is soft: Orbtrace never drops your telemetry (that's the Collector's job) — it warns and surfaces the overage. The seat cap is hard: new users can't be provisioned past the limit (your bootstrap admin is always exempt, so you can never lock yourself out). The retention cap clamps how far back a query window can go.
- Premium features — the on-demand AI and configuration surfaces. Today the license actively gates: interactive log/trace search, Causal RCA, the Astra assistant, Time-Travel Replay, and SLO configuration. When a feature isn't included in your edition (or you're in a degraded state), those endpoints return a clear "license required" response instead of failing oddly.
How to get a license
- 1
Read your install fingerprint
Every Orbtrace install generates a stable fingerprint on first boot — an ID derived from a per-install UUID, like
ORB-FP-XXXXX-XXXXX-XXXXX-XXXXX. Find it in Admin → License, or over the API —<your-orbtrace-url>is the address you open Orbtrace at (your Ingress/Route host;http://localhost:8080on a single-host Compose install):curl -s https://<your-orbtrace-url>/api/admin/license/fingerprint \ -H "Authorization: Bearer <admin-token>"The fingerprint survives restarts and even a disaster-recovery restore of your Postgres database, so a license issued against it keeps working. A fresh install gets a new fingerprint.
- 2
Send it to Nivorbit
Email the fingerprint to sales@nivorbit.com, together with your company (licensee) name, the edition, and the term you're purchasing — clicking the address opens a pre-filled draft. Any channel you already have with Nivorbit (your account contact, an existing support thread) works too — the fingerprint is not a secret, so plain email is fine. The license is minted bound to that fingerprint, so the token only activates on your install — copying it to a different deployment falls back to COMMUNITY, it doesn't grant access elsewhere.
- 3
Receive your .orblic token
You get back a small
.orblicfile (a signed token). It contains your licensee name, edition, limits, term, and a grace period — all signed, none of it editable without invalidating the signature.
How to activate it
Supply the token in any one of three ways (checked in this order):
- Environment variableSet
ORBTRACE_LICENSE_KEYto the token's contents. Highest precedence. Good for Compose.env, Helmorbtrace.licenseKey, or Ansible Vault. - Mounted filePlace the file at
/etc/orbtrace/license.orblic(the default path; configurable). Good for read-only secret mounts. - Admin uploadSign in as an admin, go to Admin → License, and upload the
.orblic. It's verified and stored in Postgres, so it survives restarts. A bad/tampered file is rejected on the spot.
Orbtrace re-checks the license hourly, so a renewal takes effect without a restart — just supply the new token. There is no "turn licensing off" switch; the product is always either licensed or running COMMUNITY.
What happens when a license expires
This is the part operators ask about most, so here it is precisely. Orbtrace is a monitoring tool — losing observability during an incident because a license lapsed would be the worst possible failure mode, so the behavior is deliberately gentle and depends on the license type:
- PerpetualNever stops. The expiry date is only your support-and-updates window. Past it, Orbtrace keeps running at full function and simply notes that updates are no longer covered. It only hard-stops if the token is tampered with or revoked.
- SubscriptionSteps down gracefully, never a hard cut-off: Active → Expiring (a banner appears within the warning window) → past expiry, Grace (still fully functional for the grace days, with a renew banner) → Degraded. Degraded is the terminal state and it still keeps the lights on.
- TrialHard-stops at expiry into a Locked state — only the license screen is reachable so you can upload a real license.
What "Degraded" actually means (a lapsed subscription past its grace period): the things that protect you keep running — telemetry ingest, background stitching/sampling/anomaly detection, and existing alerts all keep firing, and the live view stays available. What's switched off is the interactive and creative surface: ad-hoc historical search, on-demand AI (RCA, Astra, Replay), and creating or editing alerts/SLOs/dashboards. Renew and it's instantly back.
What "Locked" means (a tampered/revoked token, or an expired trial): everything is gated except the Admin → License screen, so an operator can always upload a valid token to recover.
The clock can't be wound back
Expiry uses a high-water-mark that only moves forward, so setting the server clock backwards can't resurrect an expired term. (This also means a badly-skewed clock is worth checking if a license looks wrong — see Troubleshooting.)
Air-gapped activation
Nothing about licensing needs the internet. You read the fingerprint locally, send it out-of-band, receive the .orblic, and drop it in. Verification is local. Renewal is the same loop. This is the same flow whether your box is on the open internet or in a sealed network.
Where to go next
- Just installed? Set
ORBTRACE_LICENSE_KEYnow or upload later — see the Installation post-install checklist. - Want the full settings reference? Configuration.
- Curious what each edition's features look like in the UI? Most live under Admin and the AI-powered screens (Incidents, Replay).