@playstack/licensing
Portable signed-license parsing, offline validation, device binding, revocation checks, and Ed25519 verification.
Pro. Covered by the Playstack Pro License. Registry access is required; check preview availability before installing. See package access.
@playstack/licensing verifies Playstack license credentials without issuing licenses, storing private signing keys, processing payments, or validating App Store receipts.
import {
RECOMMENDED_OFFLINE_GRACE_SECONDS,
WebCryptoLicenseVerifier,
createLicensing,
} from '@playstack/licensing'
const licensing = createLicensing(
new WebCryptoLicenseVerifier({
subtle: crypto.subtle,
keys: { 'production-2026': publicKeyBytes },
}),
)
const result = await licensing.validate({
token,
product: 'quickzones',
deviceId,
now: Math.floor(Date.now() / 1_000),
highestTrustedTime,
offlineGraceSeconds: RECOMMENDED_OFFLINE_GRACE_SECONDS,
isRevoked: (licenseId) => revocations.has(licenseId),
})Grace policy is explicit; omitting it means zero grace. LicenseSignatureVerifier supports native key stores, and @playstack/licensing/vectors publishes deterministic cases for TypeScript, Swift, and Rust implementations.
Install
After confirming preview access, install the package at your application's shared Playstack version:
npm install --save-exact @playstack/licensing@0.1.0-beta.1Check the peer requirements below before choosing a runtime or provider.
API entry points and requirements
Reference snapshot: @playstack/licensing@0.1.0-beta.1. Import only the entry point your runtime needs. Paths below are relative to the installed package; use Go to Definition in your editor to inspect exact parameters, return types and overloads. Do not import the declaration-file paths directly.
| Public entry point | Declaration file |
|---|---|
@playstack/licensing | ./dist/index.d.ts |
@playstack/licensing/errors | ./dist/errors.d.ts |
@playstack/licensing/testing | ./dist/testing.d.ts |
@playstack/licensing/vectors | ./dist/vectors.generated.d.ts |
@playstack/licensing/vectors.json | No TypeScript declaration (asset or metadata export). |
@playstack/licensing/package.json | No TypeScript declaration (asset or metadata export). |
Node.js engine requirement: >=20. This is not a claim that every entry point works in browsers or Workers.
Peer dependencies
This package declares no peer dependencies. Its ordinary dependencies are resolved by the package manager.
For a complete first program, start with Getting started. For API lookup and partial-example conventions, see Reading the reference. Provider failures, lifecycle requirements and application responsibilities remain described in the guide above; types alone do not establish production safety.