Eviworx
Docs

Licensing

Eviworx starts automatically in trial mode. A valid license is required for production use. Activation is done either via the .env file or directly in the web UI.

🔑
License Overview
⏱️ Trial

30 days from first start

Max. 3 agents

No license key required

🌐 Online License

Full functionality

Heartbeat every 4 hours

Internet connection required

🔒 Offline

Air-gapped environments

Manual renewal

Fixed expiry date

Trial Mode

After installation, Eviworx automatically starts in trial mode — no configuration, no license key required. The trial is bound to the installation and runs for 30 days.

Property Value
Duration30 days from first start
Max. agents3
Feature scopeComplete (all modules)
Grace Periodnone — the trial ends directly after 30 days
After expiryRead-only mode (TRIAL_EXPIRED, no write operations)

Note: Trial mode cannot be extended by resetting the database. The counter is bound to the installation identity.

License Status

Status Meaning Write Access
VALIDLicense active and valid
TRIALTrial active (max. 3 agents)
WARNINGExpires in 14 days or less
GRACEExpired, grace period active (7 days by default)
READ_ONLYGrace period expired
TRIAL_EXPIREDTrial expired, no license
REVOKEDLicense revoked by the vendor
HEARTBEAT_OVERDUEOnline license has not reached the license server for too long (7 days without heartbeat by default)
TAMPEREDLicense data invalid (signature check failed)

In every status without write access, GET requests remain allowed. POST, PUT, PATCH and DELETE are rejected with HTTP 402 (errorCode LICENSE_EXPIRED, LICENSE_REVOKED or LICENSE_HEARTBEAT_OVERDUE). Read access to all data and reports remains available; login and entering a license keep working.

Option A: Online Activation (recommended)

Add your license key and license secret to the .env file. The backend container automatically validates the license against the license server on startup.

1. Add credentials to .env

# In .env:
LICENSE_KEY=EVI-XXXX-XXXX-XXXX
LICENSE_SECRET=your-license-secret-from-vendor
# LICENSE_SERVER_URL=https://lic.eviworx.com  # Optional, default is used automatically

2. Backend restart

docker compose up -d backend

Alternatively, activation can also be done directly in the web UI: Admin Center → System → Product License → Online Activation

After successful activation, the backend service sends a heartbeat to the license server every 4 hours to keep the license current.

Option B: Offline Activation

For environments without internet access (air-gapped), offline activation is available. Offline licenses have a fixed expiry date and must be renewed manually.

  1. Open Admin Center → System → Product License in the web UI — note the Installation Fingerprint
  2. Go to https://lic.eviworx.com/activate
  3. Enter License Key + Fingerprint
  4. Copy the generated activation code
  5. Enter it under Admin Center → System → Product License → Offline Activation

Deactivation & Server Migration

To transfer the license to a new server, first deactivate it on the old system:

  1. Old system: Admin Center → System → Product License → Deactivate License
  2. New system: Add LICENSE_KEY + LICENSE_SECRET to .env and restart backend

If the old system is no longer accessible, the binding is automatically released after 60 days without heartbeat. Contact info@eviworx.com for immediate manual release.

Privacy & Heartbeat Transparency

During online activation and heartbeat, the following data is transmitted to the license server (lic.eviworx.com):

Data point Description
Installation fingerprintCryptographic hash — uniquely identifies the installation, contains no personal data
Installation IDAnonymous UUID (randomly generated on first start)
Active agents (count)Count only — no names, emails or further data
Server-IP + TimestampFor heartbeat verification and abuse detection

No personal data is transmitted: no usernames, email addresses, ticket content or configuration data. All communication with the license server is HTTPS-encrypted.

Check License Status

# Lizenz-Status via API
curl -k https://your-domain.com/api/settings/license \
  -H "Authorization: Bearer YOUR_TOKEN"

# Logs on license issues
docker compose logs backend | grep -i "license\|TRIAL\|GRACE"
Next Steps
Quickstart →

First steps after installation

Environment Variables →

LICENSE_KEY, LICENSE_SECRET and all other variables