Documentation

@kanunilabs/licensing


@kanunilabs/licensing / LicenseReasonCode

Type Alias: LicenseReasonCode

LicenseReasonCode = "valid" | "grace" | "checking" | "missing" | "invalid-format" | "invalid-signature" | "engine-unavailable" | "expired" | "release-not-covered" | "domain-mismatch" | "revoked"

WHY a verification ended the way it did — finer than status, and stable enough to translate. The watermark shows it and the console notice names it.

Added beside status rather than as new statuses so the LicenseStatus union (which callers switch on) is unchanged. Two codes only exist here:

  • engine-unavailable — status invalid-signature: neither WebCrypto (browsers expose it only on HTTPS/localhost) nor the JavaScript fallback could run, so the key could not be CHECKED. Not "the key is bad".
  • release-not-covered — status expired: a perpetual key whose update period ended before this build was released.