Licensing
Community builds run without a license file. A signed file from dflux is optional and unlocks commercial editions. Verification is fully offline — nothing phones home.
Community — no file required
Unsigned community builds are fail-open. d3x-run starts and runs flows without a license file. There is nothing to download from a portal, and a missing file does not block a first run.
Optional signed license
Commercial editions get a signed license file from dflux. The file names your organization, edition, and expiry. Drop it at one of the paths below when you have one. The download link for a binary archive is separate and time-limited; the license file, if you have one, is yours to keep.
There is no account, no portal, and no activation server to reach.
Path resolution
When a signed file is present, licensed entrypoints resolve it in this order (first match wins):
| Source | Path / variable | Notes |
|---|---|---|
| Environment variable | D3X_LICENSE_FILE=/path/to/file.lic | Explicit override; used even if the other files exist |
| Per-user compound | $HOME/.dflux/d3x.lic | One file can grant every product for this user |
| Per-user product | $HOME/.dflux/runner.lic | Fallback when no per-user compound file is present |
| System compound | /etc/dflux/d3x.lic | One file can grant every product on the host |
| System product | /etc/dflux/runner.lic | Last fallback |
Install example (only if dflux gave you a signed file):
There is no -license-path CLI flag and no license_path key in environment YAML — use D3X_LICENSE_FILE or the default paths above.
Startup output
With no file, the process starts with no license banner. With a clean production license, d3x-run logs who it is licensed to. On grace / development licenses it prints banner lines such as:
d3x-run -v prints the binary version.
Fully offline / air-gapped
License verification is entirely local. dflux Runner never contacts dflux or any other host to validate a file — there is no phone-home, no telemetry, and no network dependency in the check. It runs unchanged on an air-gapped host.
Renewal
When a signed license nears expiry, ask dflux for a new file. Renewing is a file swap — drop the new file in place and restart the process (CLI one-shots pick it up next invocation; agents need a restart):
Where to go next
Run the canonical flow end to end in the Quickstart, or read the architecture overview for the conceptual model.