Documentation

@kanunilabs/licensing


@kanunilabs/licensing / LicensePayload

Interface: LicensePayload

The signed claims inside a license key.

Properties

domains

domains: string[]

Allowed hostnames. Empty = unrestricted. Supports "*.acme.com" wildcards.


email?

optional email?: string

Billing email (optional).


exp

exp: number | null

subscription: expiry (unix seconds). perpetual: end of the update period, or null for no end.


features

features: string[]

Entitled feature flags.


iat

iat: number

Issued-at (unix seconds).


lid

lid: string

License id, e.g. "KL-2026-000123".


scope

scope: LicenseScope

subscription = hard wall-clock expiry with a grace window. perpetual = covers every build released on or before exp, indefinitely; paid licences are issued this way, so a shipped application never starts showing a watermark after the subscription ends.


seats

seats: number

Number of developer seats.


sub

sub: string

Subject — customer / company name.


tier

tier: LicenseTier

Pricing tier.


v

v: 1

Payload schema version.