Licensing
Editions
| Community | Business | Enterprise | |
|---|---|---|---|
| Price | Free | $10 / seat / month or $108 / seat / year (save 10%), 25 min | From $25k / year |
| Who | Personal; orgs <100 people and <$10M revenue | Any organization | Any organization |
| Seats | 25 active users | Purchased pool, split across gateways | Unlimited |
| Nodes per gateway | 1 | 3 | Unlimited |
| Gateways / sites | 1 | Unlimited | Unlimited |
| SSO groups, SCIM, LDAP, multi-IdP | — | ✓ | ✓ |
| HA, guardrail enforcement, reports, captures, audit export, fallbacks, alerting | — | ✓ | ✓ |
| Air-gap bundle, perpetual option, white-label, SLA | — | — | ✓ |
The key
A key is a signed text file: JANUS-LICENSE-1.<payload>.<signature>. The gateway verifies it with public keys built into the binary — no network needed. Install under Admin → System → License, or mount it at JANUS_LICENSE_FILE.
Payload fields: license_id, org, issued_to, edition, seats, nodes, site, features, issued, exp, grace_days, term, maintenance_until, offline, sync_url.
Seats
An active user is a person who signed in during the last 30 days. Buy a pool in the portal, then issue one key per gateway with a seat allocation and a site label. The sum of allocations can never exceed the pool. Revoke and re-issue to move seats.
Automatic sync (optional)
Automatic license sync is off by default and separate from software update checks. We recommend it for monthly and annual subscriptions. An online key, sync_url, token or active subscription does not enable it.
Explicitly enable Automatic sync in Admin → System → License and supply the portal sync credential, or set JANUS_LICENSE_SYNC=true and JANUS_LICENSE_SYNC_TOKEN. An explicitly supplied true/false environment setting controls enablement; when unset, the saved UI setting applies. JANUS_OFFLINE and offline licenses override sync. File-mounted licenses are not automatically rewritten: deliberately switch to a managed database-installed key if you want sync.
The portal's Sync token copy button copies only the raw token. Direct API clients use Authorization: Bearer <license_id>.<sync_token>; the gateway also accepts that complete credential only when its license ID matches the installed key (do not paste the Bearer header text).
A revoked sync response preserves existing signed rights and warns administrators. Sync continues when enabled, but an active flag alone cannot clear that warning. Automatic recovery requires a newly signed same-identity license issued after the stored revocation barrier and a newer, fresh, matching subscription generation. Old servers without revoked_at cannot authorize automatic recovery; obtain and manually install a verified replacement key.
Without sync, download and install the renewed license after each paid renewal. Paying an invoice alone does not update an offline gateway. Sync failures do not extend the signed license or grace period. Check the License card for exact dates and sync health.
Online checkout is currently restricted to approved bootstrap administrators and explicitly designated test organizations. Test licenses use separate signing keys and are not accepted by production gateways. Contact sales for production purchasing. Owners or administrators manage billing; the billing portal supports invoices, payment methods and cancellation at period end, not mid-cycle seat/cadence changes.
Expiry behavior
- Before expiry: an ordinary expiry warning may be suppressed only while automatic renewal and fresh, healthy sync are positively confirmed. Cancellation, failed payment, stale/failed sync and expired licenses remain visible.
- Stripe subscription paid-through → +7 days (grace): banner, configured work continues. Coverage comes from verified paid invoices, not the next scheduled billing date. Existing manual and Community keys retain their signed grace period (normally 30 days); they are not shortened by this policy.
- After grace: existing configuration continues to run — proxying, SSO/SCIM, guardrails, quotas, HA, reports. Creating new models, upstreams, keys, quotas, rules, teams, schedules or captures is blocked until a current key is installed. Edits and deletes still work. Existing users are never signed out.
- Over seat allowance: new users cannot complete first sign-in; existing users are unaffected.
Perpetual keys
Sold by agreement for restricted environments. term: perpetual with a maintenance_until date: any release published on or before that date runs forever; newer releases refuse the key before running migrations, so you can roll back cleanly. Maintenance renewals extend the date.