Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

FieldTypeMeaning
productstringalways "as2d"
idstringlicense serial (quote it in support requests)
customerstringlicensee name
issueddateissue date
type"subscription" | "perpetual"commercial model
expiresdatesubscription only — expiry (14-day grace follows)
maintenance_untildateperpetual only — latest build release date this license activates

[features] (anything omitted is granted)

FieldDefaultMeaning
sendtrueoutbound sending
receivetrueinbound receiving
async_mdntrueasynchronous receipts (both requesting and honoring)
algorithms["all"]permitted encryption algorithms (wire names, see Algorithms)

[limits] (anything omitted is unlimited)

FieldMeaning
messages_per_dayinbound messages per UTC day, per running instance; exhaustion answers 503 + Retry-After until midnight UTC
partnerships_maxmaximum 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_until covers → 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.