Free
Free
For side projects and the validation phase
- 25 active licenses
- 1 product
- 1 team member
- 3 features
Software licensing for desktop apps
Bind each license to a specific device using an SDK-generated device identifier (HWID), and validate air-gapped installations with signed .lic files. Manage delivery with a built-in customer self-service portal.
No credit card · Free plan forever · Device locking · Offline validation
License Key
S7K4M2-9I3XQ8-4TG5BN-A2PN6C-5RH8O3-K9D2VX
Status
OActive
Policy
1-year subscription
Devices
3 / 5 in use
Signature
Ed25519 ✓
Features
From key generation to devices, metering, and analytics — manage licensing with Signox SDKs and built-in operations tools.
Real-time SDK validation, plus signed .lic files that work in air-gapped environments with no internet.
Bind each license to a specific device using an SDK-generated device identifier (HWID), and manage device-count limits.
Define perpetual, subscription, and trial licenses as policies, with fine-grained control all the way down to post-expiry grace periods.
Define the features each plan unlocks as entitlements, and sell multiple product tiers from the same build.
Every license is signed with Ed25519. The private key lives only on the server, so signatures can't be forged.
VM and emulator detection, usage-based metering, and active-device and expiry analytics — all in one dashboard.
How it works
Register a product in the dashboard and a signing key pair (public key) is generated automatically.
Pick a perpetual, subscription, or trial policy and issue a license key from the dashboard.
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
The Free plan is free forever. Upgrade only when you grow.
Free
For side projects and the validation phase
$19/mo
VAT excl.
$190/yr · 2 months free
For solo developers just starting out
$59/mo
VAT excl.
$590/yr · 2 months free
For teams selling in earnest
$190/mo
VAT excl.
$1,900/yr · 2 months free
For teams shipping several products at scale
Contact us
For larger ISVs and enterprises
FAQ
Check the operating constraints that matter, from air-gapped validation and hardware changes to SDK availability.
Yes. On plans that include offline license files, register the device identifier (HWID) through the portal or dashboard on an internet-connected system, then transfer the signed .lic file to the air-gapped PC for local validation with no server calls.
No. A .lic file is a signed snapshot. After it is issued, an offline device keeps working until the license expiration date and grace period; a perpetual license remains valid on that device. Use online validation when early revocation is required.
Routine changes such as replacing a disk or RAM, and usually reinstalling the OS, keep the same device identifier (HWID). A motherboard replacement is treated as a new device, so the user must deactivate the old device and activate again. They can do this in the customer portal.
SDKs are implemented for Node.js, Java 8+, C#/.NET and Unity, and Python 3.9+. They generate a device identifier (HWID) on Windows, macOS, and Linux. Public package registry publishing is in progress, so contact us if you need to integrate before publication.
Create perpetual, subscription, and trial policies with device-count limits, post-expiry grace periods, and feature-level entitlements.
On plans that include the customer portal, buyers can register licenses, review status and devices, and deactivate old devices themselves. Availability of offline files and other actions follows the features included in your plan.