The license file
A .lic file is a short piece of armored text: a human-readable payload
(base64 of TOML) plus an Ed25519 signature over it. Validation happens
locally against a public key embedded in the as2d binary — no network,
no telemetry.
AS2D-LICENSE-V1
KEY-ID: prod-1
<base64 payload>
SIGNATURE
<base64 signature>
The file survives careless handling: line-ending conversion and re-wrapping do not invalidate it. Any content change does.
Payload fields
| Field | Type | Meaning |
|---|---|---|
product | string | always "as2d" |
id | string | license serial (quote it in support requests) |
customer | string | licensee name |
issued | date | issue date |
type | "subscription" | "perpetual" | commercial model |
expires | date | subscription only — expiry (14-day grace follows) |
maintenance_until | date | perpetual only — latest build release date this license activates |
[features] (anything omitted is granted)
| Field | Default | Meaning |
|---|---|---|
send | true | outbound sending |
receive | true | inbound receiving |
async_mdn | true | asynchronous receipts (both requesting and honoring) |
algorithms | ["all"] | permitted encryption algorithms (wire names, see Algorithms) |
[limits] (anything omitted is unlimited)
| Field | Meaning |
|---|---|
messages_per_day | inbound messages per UTC day, per running instance; exhaustion answers 503 + Retry-After until midnight UTC |
partnerships_max | maximum configured partnerships |
Enforcement summary
- Signature/structure checked at startup and on each hourly re-read.
- Missing file → degraded boot (health answers, AS2 traffic 503s).
- Invalid file at startup → refuse to boot with the reason.
- Configuration exceeding entitlements → refuse to boot, naming the partnership and entitlement.
- Subscription expiry → 14 days of grace with warnings, then inbound 503 and outbound paused (queued work is kept, never dropped).
- Perpetual + newer build than
maintenance_untilcovers → that build refuses to start; your existing build keeps running forever. - Receipts for messages already sent are never blocked by license state.
To inspect a license file you have received, any text tool shows the
armor; your vendor can decode and re-verify it from the id if there is
ever a question.