# LicenseExpiry Interface

Describes when a license entitlement stops being valid.

date is kept as a calendar string rather than an epoch, and is INCLUSIVE of its last valid day:

  • kind === 'usage': compared against the current instant in UTC. An earlier revision of the key spec called for the client's LOCAL calendar date; that was reversed, because the offline check and a future online check have to return the same verdict for the same key at the same instant, and any rule that reads a local clock breaks that parity. The practical cost is that a customer far west of UTC loses the tail of their last local day.
  • kind === 'release': compared against the library's build date; no clock is involved, which is what keeps an air-gapped install with a wrong system clock working.
  • kind === 'none': the entitlement does not expire.

# Properties

# date

date: string | null

Defined in src/license/LicenseEntitlement.ts:41 (opens new window)

ISO 'YYYY-MM-DD', or null when kind is 'none'.


# graceDays

graceDays: number

Defined in src/license/LicenseEntitlement.ts:43 (opens new window)


# kind

kind: "usage" | "release" | "none"

Defined in src/license/LicenseEntitlement.ts:39 (opens new window)


# noticeDays

noticeDays: number

Defined in src/license/LicenseEntitlement.ts:42 (opens new window)