New: Offline-first licensing with cryptographic validation. Learn more
847+ teams switched this month

Software Licensing Without the Enterprise Tax

Cryptographically signed, offline-capable license keys at 50% less than Keygen. Same security. No per-seat surprises. No vendor lock-in.

0+

teams switched

0+

licenses validated

99.99%

uptime SLA

<50ms

avg response

Calculate Your Savings

10100 licenses1000

Keygen.sh

$249/mo

Licenz

$49/mo

$2,400

saved per year (80% less)

Trusted by teams shipping software worldwide

Everything you need. Nothing you don't.

Compare Licenz to enterprise licensing platforms

Feature
Licenz
Others
Offline validation
Cryptographic signing
Hardware binding
Open source client
No per-seat pricing
Price
From $0
From $99+

Built for real-world licensing

From desktop apps to CLI tools to air-gapped environments

Offline-First Validation

Licenses validate locally using RSA signatures. No server round-trip required. Perfect for air-gapped deployments.

Cryptographic Security

2048-bit RSA signatures protect against license forgery. Your public key validates, private key signs.

Hardware Binding

Lock licenses to specific machines. CPU ID, MAC address, disk serial, and custom fingerprints supported.

Open Source Client

MIT-licensed Rust library. Inspect the code, audit the security, contribute improvements.

Flexible Expiration

Time-limited trials, subscription licenses, perpetual keys with maintenance windows. Your model, your rules.

Feature Flags

Encode feature entitlements directly in the license. No server calls to check what's enabled.

Simple integration. Powerful validation.

Add license validation to your Rust app in minutes

main.rs
use licenz_core::{LicenseVerifier, License};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Your public key (safe to embed in binary)
    let public_key = include_str!("public_key.pem");

    // Create verifier with hardware binding
    let verifier = LicenseVerifier::new(public_key)?
        .with_hardware_binding();

    // Validate the license
    let license = License::from_file("license.key")?;

    match verifier.verify(&license) {
        Ok(claims) => {
            println!("License valid for: {}", claims.licensee);
            if claims.features.contains("pro") {
                enable_pro_features();
            }
        }
        Err(e) => {
            eprintln!("License invalid: {}", e);
            std::process::exit(1);
        }
    }

    Ok(())
}

Ready to stop overpaying for licensing?

Start your 14-day free trial. No credit card required.