Licensing
dxflow uses a permission-based licensing system to control access to features. Licenses are JSON files signed with RSA, verified at engine startup against an embedded public key: a valid license starts the engine, an invalid one stops it, and a missing license falls back to the built-in General license. No custom license is required to start.
Default license (General)
The built-in General License needs no registration and is valid until January 1, 2030. It grants the core modules shell, artifact, runtime, workflow, and agent.
The auth and engine controllers (and console when started with --console) are always served regardless of license.
Permissions
| Module | Description |
|---|---|
shell | Terminal access and command execution |
artifact | File storage and management |
runtime | Docker, Podman, Singularity, and Apptainer integrations |
workflow | Workflow creation, lifecycle, logs, and stats |
agent | AI agent sessions and workflow assistance |
Comparing licenses
| General | Free | Custom | |
|---|---|---|---|
| How to get it | Built into the binary | dxflow login, then issue it in dxflow platform | info@dxflow.ai |
| Registration | None | Google, GitHub, or Stripe verification | Contact us |
| Cost | Free | Free | Contact us |
| Valid for | Until January 1, 2030 | 1 year from issue | Your term |
| Runs on | Any machine | The Identity it was issued for | The Identities you need |
shell, artifact, runtime, workflow, agent | ✓ | ✓ | ✓ |
A Free license ties the same core modules to your machine's Identity for a year. Reach for a Custom license when you need a longer term, several engines, or specific compliance terms.
Getting your identity
Licenses are tied to your machine's unique Identity and cannot be transferred between machines. Get it with:
dxflow engine info
● Engine
Identity cc2bcf4a9fc3fa056189533df3ee3af6
Directory ~/.dxflow
Profile default
Version 2.4.0
License commands
| Command | Description |
|---|---|
dxflow login | Connect this engine to your account (alias: platform login) |
dxflow license info | View active license details |
dxflow license activate | Download and activate this engine's license (alias: license active) |
dxflow license activate --no-download | Activate a license file already in the dxflow directory |
dxflow license deactivate | Revert to the built-in General license (alias: license deactive) |
dxflow login connects the machine to an account, which is what a license is issued against. Activating issues the license where the account has none for this engine, stores it as license-<identity>.json (identity truncated to 8 chars), and updates the license config setting.
activate carries the platform session, so the engine issues and downloads its own license and nothing asks you for an Identity. An engine can only ever license itself.
Creating a custom license
Connect the engine
dxflow login
Your browser opens on the login page, carrying this machine's Identity.
Authenticate
Choose Google or GitHub (verified via your account email), or Stripe (verified with any payment card — no charges, the card is used only for identity verification and is not stored).
Take the code across
The page shows an eight-digit code. Where the browser runs on the machine itself, the terminal takes it and the prompt fills itself; otherwise type it at the prompt. It lives five minutes and works once.
Issue and activate
dxflow license activate
The engine asks the platform for its license, which is issued against the account holding it — validity 1 year, all core modules enabled — then downloads and activates it.
Authentication ties each license to a verified identity to prevent abuse; no payment or personal data is collected beyond what verification needs.
License format
{
"identity": "your-machine-identity",
"name": "License Name",
"owner": "Anonymous",
"starts": "Mon, 01 Jan 2025 00:00:00 GMT",
"expires": "Mon, 01 Jan 2030 00:00:00 GMT",
"permission": {
"shell": {},
"artifact": {},
"runtime": {},
"workflow": {},
"agent": {}
},
"link": { "name": "dakumori", "count": 2 },
"signature": "cryptographic-signature",
"issued": "Mon, 01 Jan 2025 00:00:00 GMT"
}
Links
link sits beside permission and carries a subdomain the platform allocated for the engine, with certificates already issued for it. The root serves the engine's own API and console, and count decides how many sub-labels workflow steps can publish on. It is the grant itself, so no permission flag goes with it. See Links.
Need a different license
The Free license fits a single engine. Write to info@dxflow.ai when you need any of:
- A longer term — beyond the 1 year a Free license carries
- Several engines — one license per Identity, issued together
- Compliance requirements — a named owner, an agreed term, or a signed agreement
Tell us your engine Identity (dxflow engine info), the modules and limits you need, and the term. Licenses arrive the same way as any other: dxflow license activate picks them up.
When a Free license expires, delete it in the workspace and run dxflow license activate again.
Troubleshooting
| Problem | Fix |
|---|---|
| License not verified | Confirm the file is unmodified, the license identity matches your machine, and the system date/time is correct |
| License expired | Check the expiration date with dxflow license info, then delete it in the workspace and run dxflow license activate |
| Invalid license signature | The file may be corrupted — download a fresh copy |
| License not found on activate | The engine holds no platform session — connect it with dxflow login |
Check current status with dxflow license info, and report issues at GitHub.