License¶
Community edition (no license key)¶
Without a license key on file, Vesana runs in the Community edition:
- up to 25 hosts
- 1 tenant
- every feature
This isn't a demo mode — the Community edition is a full, permanently usable scope for small environments. No feature requires a license: agent, collector, active collector, auto-discovery, SNMP sensor picker, MIB library, custom dashboards, AI assistant, log collection, reports, status pages, anomalies & forecasts, mobile app + push, custom roles + granular RBAC, SSO (OIDC and Active Directory/LDAP), audit log, soft delete & trash, built-in backups, multi-API replicas — everything is fully included even without a license key.
With a license key¶
A license key is signed and issued by Vesana. It is perpetual — it never expires — and only raises the limits: with a key on file, the host and tenant limits contained in that key apply, permanently. A key does not unlock features — they are all included anyway. Every key also includes an update period of 12 months.
What counts against host/tenant limits: every device and every tenant you create — including copies ("copy host", "copy tenant") and restores from the trash. What sits in the trash does not count: deleting frees the slot immediately. If the budget is not enough, the message names the free slots.
Current prices and custom quotes: hello@vesana.org.
Reports and status pages are preview features: they only appear once a super admin enables them — with or without a key.
Limits per tenant: without its own limit a tenant is unlimited — only the license applies. To give individual tenants (e.g. customers) a cap, set it under Admin → License → "Limits per tenant". A limit only blocks new entries; existing ones stay. 0 means: no new ones.
Tester license and update channel¶
Tester licenses are issued by Vesana itself — they can't be requested directly. An instance with a tester license receives the tester versions (new line 1.<line>.0); all others only receive versions released for everyone and their patches. A tester instance can switch itself to Stable under Admin → System → Updates; only the Vesana team can switch it back.
If Vesana has prepared a license for an instance, the instance fetches it itself — as long as no key of your own is entered. A key you entered yourself is never overwritten. A fetched license is kept up to date: if Vesana later prepares a new one (e.g. when switching from tester to another edition), the instance takes it over within an hour. If you remove the fetched license yourself, the instance does not fetch it again.
Enter and activate the key¶
- Copy the license key Vesana sends you (a long string).
- Admin → License → Set key, save.
During installation setup.sh can already ask for the key; it then sits as LICENSE_KEY in the .env next to the compose file. If there are two keys (UI and .env), the more recently issued one applies. If saving would leave the .env key in effect, the license page says so instead of silently ignoring your key.
When you save, Vesana activates the key for this instance: one connection to license.vesana.org, after that everything runs offline. If activation does not succeed right away (no internet, slot taken), the key's limits still apply in full for 14 days; Vesana retries every 30 minutes, and Admin → License shows the deadline.
Slots per key: one production instance and two test instances. A test instance permanently shows a TEST label at the top of the interface, and each of its notifications starts with "TEST ·". You choose the kind under Admin → License → Activate.
What activation binds: the instance identifier and two salted check values — one from the database, one from the server's machine-id. Raw values never leave the instance. A database restore on the same server or a reinstalled operating system with the same database keep running silently. A copy on a different server counts as a new instance.
Moving¶
New server, same licence: enter the key on the new server. If the slot is taken, Admin → License names the current holder (hostname, last contact) and offers Move here. The old instance loses the slot at its next online contact. 4 moves per 12 months are allowed; for more, contact hello@vesana.org.
Offline activation¶
For environments without internet access:
- Admin → License → Offline activation → Download request file.
- Upload the file from a computer with internet access at license.vesana.org/activate. If the slot is taken, the page offers to move.
- Upload the response file (
vesana-activation.txt) under Admin → License → Offline activation.
After that the instance needs no connection. A revocation does not reach an instance without internet.
Online contact and revocation¶
An activated instance with internet access checks in briefly with license.vesana.org every 6 hours — with the key identifier, activation identifier, sequence number and the salted check values only, nothing else. This contact is separate from the instance pulse and is not switched off with it; without a key it does not happen. It lets the portal detect a move, a running copy of the same activation and a revoked key. If the key has been revoked, the Community limits apply from that contact on. If the portal cannot be reached, nothing changes.
Existing installations¶
Instances that already had a key entered before November 2026 activate themselves after the update if they can reach the internet. Without internet there are 90 days for offline activation; until then nothing changes.
Update period¶
A license key does not expire. It carries a signed date "Updates included until" (updates_until) — Admin → License shows it next to "Licence: Perpetual".
- Every Vesana version has a release date: the day its line (
1.<line>.0) came out. Patches of a line (1.<line>.1, …) carry the same date — so you always receive security and bug fixes for a version your key covers. - Every version with a release date up to and including
updates_untilis covered. The updates page only offers these versions; newer ones are listed as "Requires renewal", and automatic updates skip them. - Nothing is locked when the update period ends. The version you have stays licensed; host and tenant limits keep applying, every feature keeps running, and hosts and tenants can be created up to the limit. There is no deadline and no lock. 30 days before the end, Admin → License shows an unobtrusive renewal notice, afterwards the note "Updates ended on …".
- Older keys carry an expiry date instead of
updates_until. Vesana reads it as the end of the update period — no new key is needed. - Without a key (Community edition) an instance receives every version.
All checks run against the key's signature and the signed release date of the running version — without contacting the licence portal, even without internet access. The release date sits in a signed file inside the image; a self-built or modified image has none and is not covered by a key with an update period.
Installed a newer version¶
If you install a version released after the update period (e.g. via VESANA_VERSION or a manually pulled image), the key does not apply to that version: the Community limits apply (25 hosts, 1 tenant), and Over the limit takes over. A banner and Admin → License name the reason. There are two ways back:
- install a version released up to the end of the update period — the key's limits apply again immediately, or
- renew the update period and enter the new key.
The updates page refuses an offline package released after the update period before applying it.
Vesana library profiles: after the license's update period has ended, profiles from the Vesana library are no longer updated, neither automatically nor manually. Installing remains possible.
Renewal & switch¶
A renewal adds 12 months to the update period: Vesana issues a new key, you enter it under Admin → License (of two valid keys, the more recently issued one always applies). If you renew in time, the new period continues where the old one ends; after a break it starts on the day of the renewal. The old key stays valid.
If an instance needs different limits (e.g. more hosts or tenants), Vesana also issues a new key. No migration needed — all data stays, only the limits change. Ask about this at hello@vesana.org.
If a license is replaced by one with tighter limits, Over the limit applies.
Over the limit¶
If more hosts or tenants are active than the effective licence allows — a smaller key, key removed, version not covered, activation deadline passed, revocation —, this applies:
- Nothing is deleted, and monitoring keeps running. New hosts and tenants can only be created up to the limit.
- A 30-day grace period starts. Vesana warns at the start and 14, 7, 3 and 1 day before the end — as a banner, in the diagnostic log and through the channels from "Notify on new version" (otherwise through the channels of active alert rules).
- During the grace period you choose under Admin → License → Over the limit which hosts and tenants stay active. Without a choice, the ones created first stay.
- After the grace period Vesana pauses the excess ones: they are deactivated like manually deactivated hosts, without alerts and without recoveries. Configuration and history stay complete.
- With a valid licence the paused ones resume immediately — within a minute, without anything else to do. Manually deactivated hosts stay deactivated.
Switching paused hosts back on directly in the database does not start a new grace period: they are paused again on the next run.
Instance pulse¶
Every instance reports a small record to license.vesana.org once a day. The update check is separate from it.
What is reported — numbers, fixed terms and timestamps only:
| Group | Content |
|---|---|
| Instance | Identifier, hostname, version, server address, installation date, migration level |
| Platform | Kernel and architecture, timezone, interface language |
| License | Edition, whether it is a tester license, whether a key is set in the .env |
| TLS | Certificate mode (off / ACME / own) |
| Size | Number of hosts (by mode), checks (by mode), agents/collectors online and total, oldest agent version, whether an active collector runs, tenants and accounts |
| Activity | Timestamp of the most recent login, number of accounts that logged in within seven days |
What is never reported: device and tenant names, check configurations, measurements, log texts and user accounts (neither login name nor display name). Before sending, the record passes a fixed list of permitted fields — anything else is dropped. For diagnostic data there is the support bundle instead, which you send deliberately.
Switching it off: VESANA_PULSE=off in the .env next to the compose file, then docker compose up -d. The update check is unaffected.
Up to v1.9.437 switching it off had no effect
The compose files did not pass VESANA_PULSE into the container — the setting sat in the .env but never arrived. If you set it, verify once after updating that the report is really off.
What the license does NOT do¶
- It does not rely on obfuscation — protection is via signatures (key, activation, release date).
- It never switches monitoring off and never deletes anything. Whatever is over the limit is paused only after 30 days with warnings and resumes immediately with a valid licence.
- It does not phone home monitoring data — what the instance pulse reports is listed below in full; measurements, device and tenant data are not part of it.
Next¶
- Self-hosting
- Updates — license renewal workflow