License
The License page displays the current license status for your Chompy installation and provides the ability to upload new or renewed license files. Chompy uses a JWT-based licensing system with RSA-256 signature verification to validate subscription authenticity, expiration, and feature entitlements.
License Status
The top banner shows the current license state with a color-coded indicator:
| State | Color | Description |
|---|---|---|
| Valid | Green | The license is active with time remaining. Full platform access is enabled. |
| Grace | Yellow | The license has expired but is within the grace period. The platform operates in read-only mode — all dashboards and data remain accessible, but configuration changes, device management, and write operations are disabled. |
| Expired | Red | The grace period has ended. Depending on the license configuration, the platform either remains in read-only mode or enters full lockout. |
| Invalid | Red | The license file is missing, malformed, or the signature cannot be verified. No access is granted. |
The banner also displays the number of days remaining until expiration (e.g., "327 days remaining").
License Details
Four detail cards display the key properties of the active license:
Organization
The licensed organization name (e.g., "Eric Dev"). This is set when the license is generated and identifies the customer the license was issued to.
Tier
The license tier determines which features are available. Tiers are used for feature gating across the platform:
| Tier | Description |
|---|---|
| Community | Basic monitoring capabilities with limited retention and feature access. |
| Pro | Full platform features including alerting, API access, extended retention, and all integrations. |
| Enterprise | All Pro features plus SSO/LDAP support, multi-tenancy, and unlimited device capacity. |
Expires
The license expiration date (e.g., 12/29/2026). After this date, the platform enters the grace period before transitioning to the expired state.
Devices
The licensed device limit shown as current count vs. maximum (e.g., ... / ∞). The infinity symbol (∞) indicates unlimited devices. When a device limit is set, adding devices beyond the limit is blocked and the device count is checked against the license on each API request that creates or imports devices.
Upload License
Click the Upload License button to install a new or renewed license file. The license file must be in JWT format with a .key extension. After uploading:
- The backend validates the JWT signature against the public key (
license-public.pem). - If valid, the new license file replaces the existing one.
- Restart the backend container to apply the new license:
docker compose restart chompy-backend.
The license file and public key are mounted into the backend container as read-only volumes:
volumes:
- ./license.key:/app/config/license.key:ro
- ./license-public.pem:/app/config/license-public.pem:ro
License Information
The information panel at the bottom of the page provides quick reference notes:
- License files must be in JWT format (
.keyextension). - After uploading, restart the backend container to apply the new license.
- The grace period allows read-only access for 14 days after expiration.
- Contact support to renew or for licensing questions.
License States and Behavior
The license system follows a defined lifecycle:
┌─────────┐ expiry ┌─────────────┐ grace ends ┌─────────────┐
│ VALID │──────────────▶│ GRACE │───────────────▶│ EXPIRED │
│ │ │ (read-only) │ │ (lockout) │
└─────────┘ └─────────────┘ └─────────────┘
Valid State
Full access to all platform features based on the license tier. All read and write operations are permitted. The frontend may display a warning banner as the expiration date approaches (typically within 14 days).
Grace Period
After the license expires, a configurable grace period begins (default 14 days). During this period:
- All dashboards, flow data, alerts, reports, and topology views remain fully accessible.
- Configuration changes, device management, user management, and other write operations are disabled.
- A persistent banner appears in the UI indicating the license has expired and read-only mode is active.
The grace period gives operations teams time to renew without losing visibility into their network.
Expired State
After the grace period ends, the platform enters the expired state. The behavior depends on the expired_mode setting in the license:
- readonly — The platform remains in read-only mode indefinitely until a new license is uploaded. This is the recommended setting for production environments.
- lockout — The platform is fully locked. Users are redirected to the license page and cannot access any features until a valid license is installed.