Software licensing, without the hand-waving.
Field guides for developers building activation, offline access, payments, and license enforcement. Every article is grounded in a real implementation.
Getting Started: Create Your First Product and License Key
A real, step-by-step walkthrough with real screenshots — from an empty account to a working license key in about five minutes. First in a 5-part series.
Read the walkthroughStart here
Three steps from the core architecture to a working integration and real-world enforcement.
How to Build a License Key System
The real architecture behind a license key system — key format design, why servers should never store plaintext keys, and the lookup mechanism that makes validation fast and safe.
7 min read · video included02 / TutorialIntegrate PermitCore with Your .NET Application in 15 Minutes
Install the SDK, validate and activate license keys in C#, handle offline grace periods, and protect against key sharing — production-ready code.
12 min read · video included03 / GuideHow to Prevent License Key Sharing
Three real, complementary techniques — node-locking, floating seat limits, and abuse detection — that stop one key from quietly becoming everyone's key.
6 min read · video includedExplore the library
Merchant of Record vs Your Own Stripe Account: How to Sell Software Licenses (and Handle VAT)
Merchant of record or your own Stripe account? How each model handles VAT, fees, payouts and license key delivery for indie software sellers.
How to Add a Free Trial to Your Desktop App Without Easy Trial Resets
Build a 14-day software free trial license with server-side expiry, device binding, honest offline limits, and a paid upgrade path that does not require reinstalling.
Introducing PermitCore Store 2.0
A new responsive storefront and Shop Designer for software vendors: editorial merchandising, configurable sections, product galleries, discounts, trials, and secure Stripe-to-license delivery.
Integrate PermitCore with Your Unity Game in 15 Minutes
Install the Unity SDK, validate and activate license keys, handle offline grace periods, and avoid the exact setup mistakes we hit building this SDK's own demo — including a real 'main thread only' bug.
Announcing the PermitCore Unity SDK
The 8th official PermitCore SDK is live — a zero-dependency Unity 2021.2+ client with native ECDSA offline verification and a single-script demo app, no Canvas or prefab setup required.
Announcing the PermitCore Go SDK
The 7th official PermitCore SDK is live — a zero-dependency Go 1.21+ client with native ECDSA offline verification, a working demo app, and full docs.
Best Software Licensing APIs for Developers (2026)
A factual, sourced roundup of PermitCore, Keygen, Devolens (formerly Cryptolens), and LicenseSpring — what each is actually good for, not a ranked 'winner.'
Software Licensing API: What to Look For
A practical evaluation checklist for picking a software licensing API — the questions worth asking about key security, offline support, seat enforcement, and vendor lock-in.
How to Transfer a Software License to a New Computer
The real deactivate-then-reactivate flow that lets a customer move a node-locked license to a new machine themselves, without a support ticket.
What Happens If a License Server Goes Down?
Three real layers that decide what happens to a customer's app during an outage — automatic offline fallback, deliberate signed offline tokens, and the self-hosted continuity path for a total shutdown.
Software Licensing for Desktop Applications
What's actually different about licensing a desktop app versus a web service — trial periods, node-locking to a specific machine, surviving reinstalls, and working without a constant connection.
How to Build a License Key System
The real architecture behind a license key system — key format design, why servers should never store plaintext keys, and the lookup mechanism that makes validation fast and safe.
Perpetual License vs Subscription License: Which Should You Sell?
The real tradeoffs between selling a license that never expires and one that renews — revenue shape, maintenance obligations, and how to configure either (or both) for the same product.
How to Revoke a Software License After a Failed Payment
What actually happens to a Store-issued license when a customer's subscription payment fails or gets cancelled — the real Stripe webhook flow, not a hypothetical one.
Why MAC Addresses Are Bad Hardware IDs
MAC addresses are spoofable, multi-valued, randomized by modern OSes, and unstable inside VMs and containers — why they're a poor foundation for device-locked licensing, and what works instead.
Usage-Based / Metered Software Licensing Explained
How metered licensing actually works end to end — recording usage events against a license key, per-tenant event configuration, and how usage flows into real Stripe billing.
How to Implement Feature-Based Licensing
How to gate individual features by license tier instead of just validating a key — the real FeaturesJson field, the API response shape, and the SDK's HasFeature() check.
Build vs Buy: Should You Build Your Own Software Licensing System?
What actually goes into a production license server — activation races, offline verification, RLS, abuse detection — and what it honestly costs to build versus buy.
PermitCore vs Keygen, Cryptolens, LicenseSpring, and Cryptlex
A factual, dated comparison of five licensing platforms — including Store and checkout workflows, self-hosting, SDK coverage, and where each option is stronger.
How to Prevent License Key Sharing
Three real, complementary techniques — node-locking, floating seat limits, and abuse detection — that stop one key from quietly becoming everyone's key.
Offline License Validation in C#: Verifying Signed Tokens Without a Server
The real ECDSA P-256 signature check from PermitCore's .NET SDK, the token format, and what a signed token can and can't protect against.
Software Licensing with Stripe: How the Checkout-to-License Flow Actually Works
A real walkthrough of how PermitCore turns a Stripe checkout into a working license key automatically — the webhook flow, your own Stripe account, and 0% commission.
Setting Up a License Store: Selling Keys Directly to Customers
Add a product, connect your own Stripe account, and get a real checkout page that issues license keys automatically.
Node-Locked vs. Floating Licenses: Which One Do You Need?
A practical, example-driven comparison of the two license models, and how to configure each.
Offline Grace Mode: Keeping Your App Working Without a Connection
Signed cache tokens, how many grace days to allow, and the honest limits of what offline verification can and can't stop.
Activating a License on a Device: How Hardware IDs Work
What actually happens when a customer's app calls activate() — hardware fingerprinting, activation limits, and reactivation on the same device.
Getting Started: Create Your First Product and License Key
A real, step-by-step walkthrough with real screenshots — from an empty account to a working license key in about five minutes. First in a 5-part series.
Zero-Knowledge Encryption in Practice: How PermitCore Keeps Your License Keys Secret
What does "zero-knowledge" actually mean in a license management context? We explain the full cryptographic chain and why a stolen database can never expose your license keys.
License Key Distribution: The 5 Models Every Software Vendor Should Know
Perpetual, subscription, floating, node-locked, metered — each model solves a different problem and creates different support headaches.
Integrate PermitCore with Your .NET Application in 15 Minutes
Install the SDK, validate and activate license keys in C#, handle offline grace periods, and protect against key sharing — production-ready code.