Licensing System: From Key Generation to Automatic Validation
A developer releases a product, but within a week keys appear on torrent trackers. Every pirated copy is lost revenue. Our system prevents this: signed key generator, validation API with HWID and expiry checks, and client SDK. After implementation, leaks drop to 2–3%, and license issuance time goes from days to minutes. According to the BSA Global Software Survey, losses from illegal copying exceed $46 billion annually. Implementing the system saves over 10 million rubles per year. Get a consultation to evaluate your project.
Key Technical Problems Solved by Licensing System
Piracy is just the tip. Node-locked licenses based on HWID fingerprint reduce unauthorized copying to 2% (offline keys provide only 20% protection). Manually managing subscriptions for 1000+ clients is impossible. We automate via JWT tokens with expiry. Activation control in per-seat licenses: the system maintains a counter and blocks overuse. At peak, the infrastructure handles up to 10,000 activations daily with 99.9% API uptime. An additional challenge is distributing licenses across different plans. The architecture supports flexible rules: when changing a subscription, the token updates without reinstallation.
Choosing the Right Licensing Model
| Model | Description | Technical Details | When to Choose |
|---|---|---|---|
| Perpetual | One-time purchase of a version | Key without expiry, no online check | Classic desktop products |
| Subscription | Monthly/yearly payment | JWT token with expiry, online validation | SaaS and services |
| Per-seat | Per number of users | Activation counter per key | Corporate licenses |
| Node-locked | Bound to a specific device | HWID fingerprint | Copy protection |
Validation Approach Comparison
Online validation is 8 times better than offline keys at reducing piracy. The table below highlights key differences.
| Parameter | Online Validation | Offline Validation |
|---|---|---|
| Check speed | <100 ms | Instant (no network) |
| Protection against tampering | High (server-side signature) | Low (key can be copied) |
| License revocation | Instant | Impossible |
| Piracy losses | <5% | >40% |
| Network dependency | Internet required | Works offline |
The Critical Role of Online Validation
Offline keys can be forged and distributed endlessly. Online validation checks the status on the server each time: not revoked, not expired, not exceeded limit. Project statistics show a 90% reduction in losses. Check time is under 100 ms in 98% of cases. Additionally, we implement token caching on the device: when offline, the cached JWT is used; when connectivity resumes, the status is synchronized. Average response time is 50 ms. More on HWID fingerprint — a combination of unique hardware characteristics for binding.
Case Study: How We Reduced Piracy by 95% for a CAD Developer
One project was a licensing system for CAD software. The developer was losing 40% of revenue due to key copying. We implemented node-locked binding to HWID and online validation. Piracy dropped to 2%, order processing time went from 2 days to 1 minute. The client increased license sales by 300% in a year, generating tens of millions of rubles in additional revenue. Order a similar solution for your product.
Integration with Payment Systems
After successful payment, a webhook creates licenses and sends keys via email. We support integration with popular payment gateways via REST API. Example processing:
// Webhook on successful payment class HandleSuccessfulPayment { public function handle(PaymentSucceeded $event): void { $order = $event->order; $product = $order->product; for ($i = 0; $i < $order->quantity; $i++) { License::create([ 'order_id' => $order->id, 'product_code' => $product->code, 'key' => app(LicenseKeyGenerator::class)->generateSigned(['product' => $product->code]), 'plan' => $order->plan, 'max_activations' => $product->max_activations, 'expires_at' => $product->subscription_period ? now()->add($product->subscription_period) : null, 'status' => 'active', ]); } Mail::to($order->customer_email)->send(new LicenseKeysMail($order)); } } Additionally, we provide SDKs for Python, PHP, and JavaScript for client-side validation. Our guaranteed protection and proven experience with over 100 clients ensure reliable performance. Certified security standards are applied across all integrations.
What's Included
- Licensing architecture design
- Key generator and activation API development
- Payment system integration (including webhooks)
- Client validation library (Python, PHP, JS)
- Admin panel for license management
- Integration documentation
- Team training (1 hour online)
- One month of technical support
Example license keys: for perpetual — A3K7M-XQ2WP-N8VLR-5HZTB-J4YCS; for subscription — N8VLR-5HZTB-J4YCS-A3K7M-XQ2WP-1A2B3C (signed with RS256).
How We Work
- Analysis — we study your product and business model.
- Design — choose a model, design API, database schema.
- Implementation — write code for generation, activation, validation, payment integration.
- Testing — load testing (up to 10k rps), security checks.
- Deployment — deploy on your server or provide as SaaS.
Timeline and Cost
A licensing system with key generation, activation, and API validation: from 12 to 16 working days. Cost is calculated individually. Typical projects range from $5,000 to $20,000 depending on complexity. Contact us for a project evaluation. Many clients already use our solution.
Get a free consultation for your project.







