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

$ 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

K

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

device

Tied to a hardware fingerprint; limited to N activations per license

user

One license per named user (login-based)

seat

Concurrent seats (floating model); checkout/checkin via API

subscription

Recurring billing; no device limit

lifetime

Perpetual; no expiry

trial

Time-limited; auto-expires

floating

Concurrent seat pool; POST /licenses/checkout / checkin

feature

Flag-based only; no device binding

offline

Air-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
PHPNode.jsPythonGoJavaC#Rust

// 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.