Skip to content

License tiers

Vesana has three license tiers. All run on the same codebase with the same feature set — the only difference is the number of allowed hosts and tenants, and the price. No feature is reserved for a higher tier.

Tiers

Tier Hosts Tenants Typical use
Community up to 25 1 A single company, one environment
Professional unlimited up to 5 A company with several sites/environments, or a small MSP
MSP unlimited unlimited Managed service provider with many customer environments

Everything else — agent, collector, active collector, auto-discovery, SNMP sensor picker, MIB snippets, custom dashboards, public status pages, mobile app + push, AI chat/analysis, wiki, SLA/PDF reports, anomaly detection, policies, custom roles + granular RBAC, audit log, soft delete & trash, backup sidecar, multi-API replicas, NSCA receiver — is fully included in every tier.

What counts against the 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.

Price scales with the number of tenants, not with feature unlocks. Current prices and custom quotes (e.g. for a very large number of hosts under a single tenant): hello@vesana.org.

Snapshot of this page

State at last_verified of this page. Current values and pricing: hello@vesana.org or vesana.org/home#pricing.

Activation

Online (default)

  1. Copy license key in format OVS-XXXX-XXXX-XXXX from licence portal
  2. Admin → License → Set key
  3. Save

API server verifies against license.vesana.org at boot. On success, caches the result and rechecks every 24 h. Cache TTL keeps the server productive even during portal outages.

Offline license (MSP)

For air-gapped environments, offline-signed license files:

  1. Licence portal: Licenses → Create offline license with customer UUID
  2. Download <customer>-license.json
  3. Admin → License → Upload offline license

Offline licenses have a duration (typically 1 year) and must be renewed before expiry. Server warns 30 days ahead via banner.

Community without a license key

Without a license key on file, Vesana runs in community mode: up to 25 hosts, 1 tenant, all features. This isn't a demo mode — Community is a full, permanently usable tier for small environments.

Tester mode

For acquaintances and beta testers, a bypass:

echo "VESANA_TESTER_MODE=true" >> /opt/vesana/.env
docker compose -f /opt/vesana/docker-compose.prod.yml up -d

With tester mode active:

  • All limits are lifted, no license key needed
  • Setup wizard skips license step
  • Instance registers with licence portal as tester
  • Lukas / vendor team can block updates per instance

Remove tester mode before handing over to a real customer

Anyone who knows the env bypass gets around the host/tenant limits. For a commercial handover: remove VESANA_TESTER_MODE from .env, set a license key, restart the stack.

Details: Self-hosting → Tester mode.

Renewal & switch

Switching tiers (e.g. more tenants needed): a new license key is generated in the licence portal and swapped into Vesana. No migration needed — all data stays, only the limits change. Ask about pricing changes at hello@vesana.org.

Downgrading to a smaller tier: hosts/tenants above the new limit stay registered, but new ones can't be added until the limit is undercut.

Instance pulse

Every instance reports a small record to license.vesana.org once a day and learns in return whether its updates are released.

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
Size Number of hosts (by mode), checks (by mode), agents/collectors online and total, 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 doesn't restrict source access — anyone who clones the repo sees everything. Protection is via the license check at API boot, not obfuscation.
  • 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.
  • It's per instance, not per server — one license can only be active on one instance.
  • It doesn't unlock or lock features — Community, Professional, and MSP differ purely in host/tenant limits.

Next