On & off-premise
From licensing on-prem to multi-prem applications, we're here to help. Dive in with Keygen Cloud, or explore our self-hosted options.
- Utilize our software distribution API as a license-gated object storage bucket to securely deliver container images, binary artifacts, and other software deliverables to customers.
- Protect your IP using our flagship software licensing API. Add powerful license entitlement constraints, enforce node- and CPU-based maximums, define usage limits, and more.
keygen.LicenseKey = "C1B6DE-39A6E3-DE1529-8559A0-4AF593-V3"keygen.Account = "7e4bb784-5381-4fa9-a9d5-6341710e7fa4"keygen.Product = "54b9e637-547f-4703-80f0-d3a68e107025" // Validate the license for the current device's fingerprintlicense, err := keygen.Validate(fingerprint)switch {case err == keygen.ErrLicenseNotActivated: fmt.Println("License is not activated!") machine, err := license.Activate(fingerprint) switch { case err == keygen.ErrTooManyMachines: fmt.Println("License has too many activations!") case err == nil: fmt.Println("License activated!") }case err == keygen.ErrLicenseExpired: fmt.Println("License is expired!")case err != nil: fmt.Println("License is invalid!")case err == nil: fmt.Println("License is valid!")}
Trusted by over 6,000 software businesses all over the worldincluding these industry leaders
Solutions for licensing & distribution
dns Choice
Managed Keygen Cloud, or explore self-hosting.
library_books Quickstarts
Guides and API references for developers of all skill levels.
insert_chart Dashboard
Manage your products from an intuitive dashboard.
business Pricing
From indie to enterprise, we have options for everyone.