Self-hosted · Open API · 7 SDKs
License management for software vendors,without building your own.
Licenta generates your license keys, controls device activations, delivers Ed25519-signed offline entitlements, and enforces feature flags — through one stable API you own and run yourself.
$ licenta activate PROD-7K4M-X92P-8Q7D-L3NF
--device sha256:1f9a…c2
✓ Activated · "Alice's MacBook Pro" · slots 1/3
$ licenta validate
✓ { valid: true, features: { max_projects: 10 } }
Why Licenta
Stop building licensing from scratch
The DIY rabbit hole
Key generation and secure storage, device fingerprinting, activation-limit enforcement under concurrency, cryptographic offline verification, webhooks, billing hooks, audit logging, and airtight multi-tenant isolation. Most teams ship something hacked together — then pay for it in piracy, support tickets, and rewrites.
The whole stack, out of the box
- · Issue and manage license keys — no raw keys ever stored in the database.
- · Activate, validate, and deactivate devices over a stable REST API.
- · Deliver Ed25519-signed entitlements for air-gapped installs.
- · Enforce per-plan and per-customer feature entitlements.
- · React to license events via signed webhooks.
- · Keep every tenant's data strictly isolated and audited.
Capabilities
Everything you need to ship licensed software
License issuance
120-bit human-readable keys, hashed with HMAC-SHA256 + pepper. Raw key shown once; masked everywhere else.
Device activation
Fingerprint-based activation with per-license slots, enforced safely under concurrency.
Entitlements
Products → Plans → Features with JSON values and per-license overrides.
Offline licensing
Ed25519-signed entitlement files verified locally with a public key — no network needed.
Full lifecycle
Suspend, revoke, renew, and auto-expire — every change emits an audit log and webhook.
Multi-tenant
Fail-closed per-organization isolation with ULID identifiers and a cross-tenant test matrix.
License models
Every model your customers need
deviceTied to a hardware fingerprint; limited to N activations per license
userOne license per named user (login-based)
seatConcurrent seats (floating model); checkout/checkin via API
subscriptionRecurring billing; no device limit
lifetimePerpetual; no expiry
trialTime-limited; auto-expires
floatingConcurrent seat pool; POST /licenses/checkout / checkin
featureFlag-based only; no device binding
offlineAir-gapped; manual entitlement file delivery
API & SDKs
A stable API, plus SDKs for every stack
One stable /api/v1 contract for activation, validation, deactivation, floating checkout/checkin, and management. Test keys (lk_test_…) and live keys (lk_live_…) with scopes and product restrictions.
- · Idempotency keys on state-changing endpoints
- · Cursor pagination and rate limiting
- · HMAC-SHA256-signed webhooks with retries
// node.js
import { Licenta } from '@licenta/sdk-node';
await licenta.activate(key, fingerprint);
Deployment
Start small, scale when you need to
Shared hosting
MVP runs on ordinary PHP + MySQL with a database queue and a single cron entry.
VPS
Docker Compose: app + queue worker + scheduler + nginx + MySQL.
Cloud
Swap the queue/cache to Redis for scale-out — no application changes, same API.
Start issuing licenses today.
Self-host on your infrastructure, or run the Docker Compose stack in minutes. Your keys, your data, your rules.