Software License Management: Asymmetric Ed25519 DRM & Hardware Node-Locking
Apps Manager provides modern software license management using asymmetric Ed25519 cryptography. Securely bind licenses to physical machine hardware fingerprints (Machine UUID, Motherboard Serial, CPU ID) and verify tokens 100% offline in Electron, React, Node.js, and desktop binaries without server dependencies.
Overview & Architecture
Traditional software licensing models rely either on symmetric keys (vulnerable to reverse-engineering and keygens) or continuous online telemetry servers (which fail when customers are offline or behind corporate firewalls). Apps Manager solves this using modern asymmetric Ed25519 cryptography. The server signs license tokens with its private key; your client applications verify the signature locally using only the public key in under 1 millisecond. Combined with hardware node-locking, licenses cannot be shared across unauthorized machines.
Core Capabilities
Detailed Implementation Guides
1How Hardware Node-Locking Works
When a customer enters a license key in your application, the client SDK computes a cryptographic SHA-256 hash of the physical machine hardware.
System hardware identifiers are hashed with SHA-256 on the local machine before transmission. Raw serial numbers or personally identifiable hardware specs are never stored in plaintext.
2License Lifecycle States
Licenses in Apps Manager transition through clear states managed via the dashboard, API, or automated Stripe/Razorpay webhooks.
| State | Description | Client Behavior |
|---|---|---|
| ACTIVE | Valid paid license with available seats | Software features fully unlocked; heartbeats run periodically |
| TRIAL | Hardware-bound trial period active | Software unlocked with countdown timer until expiration |
| EXPIRED | Subscription term ended without renewal | Software prompts user to renew; grace period applies if configured |
| REVOKED | Manually revoked due to refund or chargeback | Software immediately locks features on next check |
| DEVICE_LIMIT | All allocated machine seats are currently bound | Prompts user to unbind an older device from the Customer Portal |
REST API Reference
Activate a license key and bind to current machine hardware fingerprint
Validate lease token online and refresh active device heartbeat
Unbind current machine seat to transfer license to another computer
Production Code Integration
import { AppsManagerClient } from 'apps-manager-sdk';
// Initialize the client with your App credentials
const client = new AppsManagerClient({
baseUrl: 'https://apps-manager.in',
appId: 'app_68f492',
publicKey: process.env.APPS_MANAGER_PUBLIC_KEY,
autoHeartbeat: true,
offlineGracePeriodDays: 7,
offlinePolicy: 'PERMISSIVE',
});
// Activate a license key entered by the user
async function handleUserActivation(licenseKey) {
try {
const result = await client.activate(licenseKey, {
deviceName: 'Developer Workstation'
});
console.log('License activated successfully:', result.license);
return true;
} catch (err) {
console.error('Activation failed:', err.message);
return false;
}
}
// Check license validity locally (works 100% offline!)
async function verifyAppAccess() {
const state = await client.validate();
if (state.isLicensed) {
console.log(`Unlocked: ${state.license.tier} Edition (${state.daysRemaining} days remaining)`);
return true;
} else {
console.warn('License invalid or expired:', state.error);
return false;
}
}Frequently Asked Questions
Does client software need an active internet connection to run?
No! Because Ed25519 uses asymmetric digital signatures, your desktop application embeds only the public key. It cryptographically verifies the digital signature, machine hardware hash, and expiration date completely offline with zero server pings.
Can a user bypass licensing by changing their computer system clock?
No. The SDK records monotonicity markers in encrypted storage. If the system clock is rewound backwards past the last verified timestamp, the SDK detects clock tampering and requires an online heartbeat.
Start Building with Apps Manager Today
Build databases, create scraping APIs, convert websites to JSON, and issue Ed25519 cryptographic software licenses in minutes. Zero credit card required.