Admin guide · Licensing
License management
~10 minutes · requires portal admin role
Activate, move, and audit DALI clinical seats through the portal and the DALI CLI.
DALI licenses are managed through two surfaces: the portal at daliplan.com (web UI) and the DALI CLI (uv run python main.py --license-status). This page covers the admin-facing flows.
License model
- Tier
- Clinical · Clinical+ · Research
- Seat
- Per-user · bound to hardware fingerprint
- Validation
- Keygen.sh · 24 h offline grace
- Transport
- HTTPS · Ed25519 signed token
- Machine move
- Self-serve in portal · unlimited reassignments
Activate a seat
- Sign into the portal with an admin account.
- Open Licenses → Assign seat.
- Paste the target machine's hardware fingerprint (surfaced in DALI via Help → About → Copy fingerprint).
- The portal issues a signed license token and stores it on the machine's next DALI launch.
Move a seat to a new machine
Moving a seat is self-serve. In the portal:
- Licenses → Assigned seats → ⋯ → Revoke.
- On the new machine, launch DALI once to emit a fingerprint, or copy it from About.
- Assign the freed seat to the new fingerprint.
Audit access
The portal's Audit log lists every license validation, move, and administrative action. Export as CSV for compliance reporting (KVKK / HIPAA).
- Retention
- 365 days online · 7 y cold archive
- Fields
- timestamp · actor · action · target · IP · user-agent
- Export
- CSV · JSON · Audit-ready PDF
Troubleshooting
Grace period expired · validation loop in DALIIf DALI reports "license invalid" after grace, verify:
- Outbound HTTPS to
api.daliplan.comis open (no TLS MITM that breaks the Ed25519 chain). - System clock is accurate (Keygen rejects > 5 min skew).
- Hardware fingerprint has not changed (motherboard or primary NIC swap invalidates).
What next
- For first-install flows, see Install on Windows.
- For airgapped deployments, reach out via support.