All-in-one software licensing
Software licensing
you can ship in 5 minutes
Issue, validate, renew, and analyze licenses — all with Signox. A modern, all-in-one alternative to legacy licensing tools.
No credit card · Free plan forever · Device locking · Concurrent usage · Offline validation
License Key
S7K4M2-9I3XQ8-4TG5BN-A2PN6C-5RH8O3-K9D2VX
Status
OActive
Policy
1-year subscription
Devices
3 / 5 in use
Signature
Ed25519 ✓
Features
Everything you need for licensing,
built in from day one
From key generation to devices, metering, and analytics — get the infrastructure that would take months to build, ready through a single SDK.
Online / offline validation
Real-time SDK validation, plus signed .lic files that work in air-gapped environments with no internet.
Device locking (node-locked) · concurrent usage (floating)
Strongly bind a license to a specific device by hardware ID (hwid), and manage device-count limits.
Flexible license policies
Define perpetual, subscription, and trial licenses as policies, with fine-grained control all the way down to post-expiry grace periods.
Feature-level entitlements
Define the features each plan unlocks as entitlements, and sell multiple product tiers from the same build.
Ed25519 cryptographic signing
Every license is signed with Ed25519. The private key lives only on the server, so signatures can't be forged.
VM detection · usage metering
VM and emulator detection, usage-based metering, and active-device and expiry analytics — all in one dashboard.
How it works
Three steps, done in 5 minutes
- 01
Register your product
Register a product in the dashboard and a signing key pair (public key) is generated automatically.
- 02
Issue licenses by policy
Pick a perpetual, subscription, or trial policy and issue license keys. Bulk issuance takes a single call from the dashboard or SDK.
- 03
Validate with the SDK
Validate keys with the SDK at app startup. In air-gapped networks, signed .lic files enable offline validation.
import { SignoxClient } from 'signox-sdk';
const signox = new SignoxClient({ publicKey: '<public key>' });
// One-time: activate with the license key (node-locked)
await signox.activate(licenseKey);
// On app start: validate
const lic = await signox.validate();
// → { valid: true, code: 'VALID', features: { 'pro-export': true } }Pricing
Simple, predictable pricing
The Free plan is free forever. Upgrade only when you grow.
…