Skip to content

v0.6.0

Choose a tag to compare

@sylvesterdamgaard sylvesterdamgaard released this 16 Jul 16:40

On-prem / self-hosted software licensing — the issuer side (Cbox\Billing\Licensing).

Billing mints a signed, offline-verifiable software license from a licensable plan; the self-hosted app verifies it against a bundled public key and unlocks paid capabilities through its entitlements gate. Wraps the published crypto core cboxdk/license (EdDSA/Ed25519) — no hand-rolled crypto.

  • LicenseProfile (entitlement keys + LicenseLimits orgs/seats/environments) resolved from a plan, deny-by-default for non-licensable plans.
  • LicenseMintissue() / reissue() (renewal extends the validity window, re-pinning customer + deployment + domain binding); SubscriptionLicensePolicy derives expiry from the paid period + grace.
  • IssuedLicenseStore + RevocationRegistry ports (in-memory defaults; host supplies DB impls); RevocationPublisher emits the signed revocation list.
  • The key-holding core issuers are bound by the host app from config — this module is key-agnostic.
  • Requires cboxdk/license: ^0.1. 310 tests (real-keypair round-trip: mint → verify → revoke). PHPStan level max, permissive-only.