licensing
Licensing — PacketPilot Analyze
Analyze uses per-device tier licensing. You pay based on the number of network devices you manage, not per-seat or per-analysis.
Tiers
| | Solo (Free) | Pro | Enterprise | |---|---|---|---| | Price | Free | €588/year | €999/year | | Devices | 5 | 50 | 500 | | Cases/month | 10 | 100 | Unlimited | | AI explanations | ✓ | ✓ | ✓ | | Self-hosted | ✓ | ✓ | ✓ | | Support | Email | Email | Priority |
What is a "Device"?
A device is any network device (switch, router, firewall, access point) that you manage and submit cases against. Each device you create a case for counts toward your tier limit.
What is a "Case"?
A case is created each time you upload one or more artifacts (pcap, log file, etc.) for analysis. Each upload creates one case, regardless of how many artifacts are included.
License Activation
Solo (Free Tier)
No license key is required. The Solo tier activates automatically on first launch when PPRO_LICENSE_KEY is left blank in .env.
Activating a Paid Tier
- Purchase a license by contacting support@db-electronics.no
- You will receive a license key in the format:
PPRO-ANALYZE-XXXX-XXXX-XXXX-XXXX - Open your
.envfile and set:PPRO_LICENSE_KEY=PPRO-ANALYZE-XXXX-XXXX-XXXX-XXXX - Restart the stack:
docker compose down && docker compose up -d - Verify the license is active in Settings → License in the web UI
How License Validation Works
The license server runs as a container inside the Analyze stack (license-server, port 9000). It validates licenses against a hardware identifier generated from the host server's MAC address and hostname.
[Backend] ── license check ──► [license-server :9000]
│
└── validates key + hardware ID
On first activation, the license server registers the hardware ID and caches the license locally. Subsequent validations use the local cache.
Offline / Air-Gapped Operation
If the Analyze server cannot reach the license server (e.g. in a fully air-gapped environment), the last known license state is used from cache.
Grace period: 30 days. After 30 days without a successful validation, Analyze enters read-only mode:
- Existing cases are accessible
- New cases cannot be created
- Existing cases can still be viewed and exported
To restore full functionality, reconnect the server to the network and restart the stack to trigger a validation cycle.
License Server in the Bundle
The license server is embedded in the Docker bundle and runs as license-server on port 9000. It is not a hosted external service.
This means:
- No internet connection required for license validation
- The license server works inside air-gapped networks
- License validation happens entirely within your infrastructure
Multiple Analyze Deployments
If you run Analyze on multiple servers (e.g. one per site), each deployment requires its own license — or a multi-site license that covers all deployments. Contact support@db-electronics.no for multi-site licensing.
Managing Your License
View current license status in the web UI at Settings → License.
The page shows:
- Current tier
- Devices used / limit
- Cases this month / limit
- License expiry date
- Days remaining in grace period (if offline)
Exceeding Your Limits
Device Limit
If you exceed your device limit (e.g. you try to add a 6th device on Solo):
- Config continues to work — no lockout
- The new device appears in a "pending" state
- Upgrade your tier or remove a device to activate it
Case Limit
If you exceed your monthly case limit:
- New case creation is blocked
- Existing cases remain accessible
- Upgrade your tier or wait for the monthly reset
To upgrade mid-month, contact support@db-electronics.no.
FAQ
Q: Does the trial include AI features? Yes. AI (Ollama) is available on all tiers, including Solo. The difference between tiers is the number of devices and cases per month.
Q: Can I switch tiers mid-year? Yes. Contact support to upgrade. Prorated billing is available for mid-cycle upgrades.
Q: What happens to my cases if I don't renew? Cases are never deleted. If your license lapses, you lose the ability to create new cases, but all historical cases remain accessible.
Q: Can I run Analyze without Ollama (no AI)?
Yes. Set AI_SUMMARIES_ENABLED=false in .env and restart. Deterministic findings still work without AI.
Q: My server is fully air-gapped. Will it work? Yes. The license server runs locally. Ollama models are downloaded once and cached. After initial setup, no internet connection is needed.