PHPackages                             laranail/license-kit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. laranail/license-kit

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

laranail/license-kit
====================

Laravel licensing package with polymorphic assignment to any model, activation keys, expirations/renewals, and seat control via LicenseUsage. Supports offline verification with public-key–signed tokens, a CLI to generate/rotate/revoke keys, and an extensible architecture via config and contracts.

v0.1.0(1mo ago)00MITPHPPHP ^8.4.1 || ^8.5CI passing

Since Jul 6Pushed 1mo agoCompare

[ Source](https://github.com/laranail/license-kit)[ Packagist](https://packagist.org/packages/laranail/license-kit)[ Docs](https://opensource.simtabi.com/documentation/laranail/license-kit/)[ RSS](/packages/laranail-license-kit/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (23)Versions (2)Used By (0)

laranail/license-kit
====================

[](#laranaillicense-kit)

[![Latest version on Packagist](https://camo.githubusercontent.com/e57bbc21d9e723bdb7e4466fcdf22f4f7b36573eb92dcacad6342a64ebf5988d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c6172616e61696c2f6c6963656e73652d6b69742e737667)](https://packagist.org/packages/laranail/license-kit)[![Tests](https://github.com/laranail/license-kit/actions/workflows/tests.yml/badge.svg)](https://github.com/laranail/license-kit/actions/workflows/tests.yml)[![Static analysis](https://github.com/laranail/license-kit/actions/workflows/static-analysis.yml/badge.svg)](https://github.com/laranail/license-kit/actions/workflows/static-analysis.yml)[![License: MIT](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)

> A licensing engine for Laravel — offline verification (PASETO v4 / Ed25519), seat-based licensing, full lifecycle (activation, renewal, grace, expiration, suspension), multi-product signing-key scopes with a two-level key hierarchy, an append-only audit trail, and polymorphic license assignment to any Eloquent model.

Requires PHP `^8.4.1 || ^8.5` on Laravel `^13`.

Install
-------

[](#install)

```
composer require laranail/license-kit
```

Quick start
-----------

[](#quick-start)

```
php artisan vendor:publish --provider="Simtabi\Laranail\Licence\Kit\LicensingServiceProvider"
php artisan migrate
php artisan laranail::license-kit.keys.make-root
php artisan laranail::license-kit.keys.issue-signing --days=30
```

```
use Simtabi\Laranail\Licence\Kit\Models\License;

$license = License::createWithKey([
    'licensable_type' => User::class,
    'licensable_id'   => $user->id,
    'max_usages'      => 3,
    'expires_at'      => now()->addYear(),
]);

$activationKey = $license->license_key; // "LIC-A3F2B9K1-C4D8E5H7-9D2EK8F3-L6A9M1B4"

$found = License::findByKey($activationKey);
$found->verifyKey($activationKey) && $found->activate();
```

See [Getting started](docs/getting-started.md) for seats, offline tokens, and the rest of the tour.

The moving parts
----------------

[](#the-moving-parts)

ConceptModelWhat it doesLicense`License`Polymorphic license on any Eloquent model, hashed activation key, full lifecycleSeat`LicenseUsage`A registered device/installation — fingerprint, heartbeat, over-limit policiesScope`LicenseScope`Per-product isolation with its own signing keys and rotation scheduleTemplate`LicenseTemplate`Reusable, tierable license configuration (trial days, duration, features)Trial`LicenseTrial`Trial lifecycle with fingerprint hashing and conversion trackingKey`LicensingKey`Root CA and signing keys (Ed25519) behind offline tokensAudit entry`LicensingAuditLog`Append-only, hash-chained trail of every licensing operationDocumentation
------------------------------------------------------

[](#documentation)

Full documentation is at **[opensource.simtabi.com/documentation/laranail/license-kit](https://opensource.simtabi.com/documentation/laranail/license-kit/)**.

### Guides

[](#guides)

- [Installation](docs/installation.md) — requirements, package install, migrations, key generation, verification.
- [Getting started](docs/getting-started.md) — from install to your first license and offline token.
- [Configuration](docs/configuration.md) — every `config/licensing.php` option: models, crypto, policies, services.
- [Basic usage](docs/basic-usage.md) — creating, activating, checking, renewing licenses; seats; features and entitlements.
- [Architecture](docs/architecture.md) — layers, contract seams, the key hierarchy, and why it's built this way.
- [Security](docs/security.md) — defense in depth: key protection, input validation, rate limiting, incident response.
- [Performance](docs/performance.md) — caching, database optimization, and tuning for high-load environments.
- [Client implementation guide](docs/client-implementation.md) — the wire-level spec for building a compatible client in any language.
- [Client library architecture](docs/client-libraries.md) — design patterns for client libraries (desktop, mobile, web, CLI).
- [FAQ](docs/faq.md) — common questions on the model, crypto, performance, and integration.
- [Troubleshooting](docs/troubleshooting.md) — diagnosing installation, activation, key, and token problems.
- [Release](docs/release.md) — how versions are cut; what counts as a breaking change.

### Reference

[](#reference)

- [Licenses](docs/tools/licenses.md) — the `License` model: lifecycle, states, keys, metadata, querying.
- [Usage &amp; seats](docs/tools/usage-seats.md) — seat registration, fingerprints, heartbeats, over-limit policies.
- [Renewals](docs/tools/renewals.md) — period-based renewals, history, grace periods, notifications.
- [Templates &amp; tiers](docs/tools/templates-tiers.md) — reusable license configurations and tier hierarchies.
- [Trials](docs/tools/trials.md) — trial lifecycle, extensions, conversion tracking.
- [Offline verification](docs/tools/offline-verification.md) — PASETO v4 tokens, key hierarchy, client-side verification.
- [License transfers](docs/tools/transfers.md) — multi-party transfer workflows with approvals.
- [Audit logging](docs/tools/audit-logging.md) — the tamper-evident, hash-chained audit trail.
- [Scope templates](docs/tools/scope-templates.md) — binding license plans to product scopes.
- [Key management](docs/tools/key-management.md) — root/signing key generation, rotation, revocation, storage.
- [Multi-software signing keys](docs/tools/multi-software-keys.md) — per-product scopes with isolated keys.
- [Commands](docs/tools/commands.md) — the `laranail::license-kit.*` Artisan commands.
- [Models](docs/tools/models.md) — the 11 Eloquent models.
- [Services](docs/tools/services.md) — the business-logic services.
- [Events](docs/tools/events.md) — every dispatched event and its payload.
- [Contracts](docs/tools/contracts.md) — the interfaces behind every service.
- [Enums](docs/tools/enums.md) — the 11 status/policy enums.

### Recipes

[](#recipes)

- [Set up tiered SaaS licensing](docs/recipes/saas-tiered-licensing.md) — Basic/Pro/Enterprise tiers end to end.
- [Verify desktop licenses offline](docs/recipes/desktop-offline-verification.md) — activation, token storage, and offline checks in a desktop app.
- [Enforce device limits in a mobile app](docs/recipes/mobile-device-limits.md) — device registration and replacement flows.
- [Convert trials to paid licenses](docs/recipes/trial-to-paid-conversion.md) — trial registration, monitoring, and conversion.

### Project

[](#project)

- [CHANGELOG.md](CHANGELOG.md) — release history.
- [UPGRADE.md](UPGRADE.md) — breaking changes and migration steps.
- [CONTRIBUTING.md](CONTRIBUTING.md) — coding conventions, test patterns, PR expectations.
- [SECURITY.md](SECURITY.md) — vulnerability disclosure.
- [CODE\_OF\_CONDUCT.md](CODE_OF_CONDUCT.md) — community standards.

Stability
---------

[](#stability)

Pre-1.0 (`v0.x`): the package is production-quality and fully tested, but the public API may still change between minor versions. Semver applies; every breaking change is documented in [UPGRADE.md](UPGRADE.md). Treat the offline-token format as a distributed contract — see [Release](docs/release.md).

Local development
-----------------

[](#local-development)

```
git clone https://github.com/laranail/license-kit.git && cd license-kit
composer install
composer test    # Pest
composer lint    # Pint + PHPStan + Rector (dry-run)
```

Sister packages
---------------

[](#sister-packages)

The laranail licensing family — `license-kit` is the server side; these cover the client and product side:

- [`laranail/license-verifier`](https://github.com/laranail/license-verifier) — headless, provider-agnostic verification client: PASETO/Ed25519 offline verification, device fingerprinting, seats.
- [`laranail/license-verifier-ui`](https://github.com/laranail/license-verifier-ui) — UI engine that scaffolds owned, themeable verification UI presets (Blade, Livewire, Filament, …).
- [`laranail/product-updater`](https://github.com/laranail/product-updater) — self-update engine for licensed Laravel products: checks a source, downloads, verifies, applies.
- [`laranail/demo-mode`](https://github.com/laranail/demo-mode) — license-aware demo/sandbox controller: read-only and write guards per model/route/feature.

Community
---------

[](#community)

Bugs and feature requests → [GitHub Issues](https://github.com/laranail/license-kit/issues); questions and ideas → [GitHub Discussions](https://github.com/laranail/license-kit/discussions).

Contributing &amp; security
---------------------------

[](#contributing--security)

Issues and PRs are welcome — see [CONTRIBUTING.md](CONTRIBUTING.md). Report vulnerabilities per [SECURITY.md](SECURITY.md) (); participation follows the [Code of Conduct](CODE_OF_CONDUCT.md).

License
-------

[](#license)

MIT © Simtabi LLC. See [LICENSE](LICENSE).

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance91

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

50d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3108393?v=4)[Simtabi](/maintainers/simtabi)[@simtabi](https://github.com/simtabi)

---

Top Contributors

[![imanimanyara](https://avatars.githubusercontent.com/u/19682005?v=4)](https://github.com/imanimanyara "imanimanyara (1 commits)")

---

Tags

laravellicenselicensingpasetolicense-serverlaranailoffline-verification

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/laranail-license-kit/health.svg)

```
[![Health](https://phpackages.com/badges/laranail-license-kit/health.svg)](https://phpackages.com/packages/laranail-license-kit)
```

###  Alternatives

[masterix21/laravel-licensing

Laravel licensing package with polymorphic assignment to any model, activation keys, expirations/renewals, and seat control via LicenseUsage. Supports offline verification with public-key–signed tokens, a CLI to generate/rotate/revoke keys, and an extensible architecture via config and contracts.

1614.1k4](/packages/masterix21-laravel-licensing)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.4M354](/packages/psalm-plugin-laravel)[api-platform/laravel

API Platform support for Laravel

58190.1k21](/packages/api-platform-laravel)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k31.8M163](/packages/laravel-cashier)[laravel/ai

The official AI SDK for Laravel.

1.1k4.6M341](/packages/laravel-ai)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

80427.1M249](/packages/laravel-mcp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
