The CLV1 protocol is now publicRead the spec

Utility 01 / 05

A door, ready-builtFor every buyer

Keys, accounts or both, machine-bound trials and a self-service portal for buyers

Sign-in for appsKeys, accounts, trials

How it works

  1. 01

    Pick the door

    Key only, account only, or an account bound to a key, switch any time

  2. 02

    Tie features to plans

    Each license plan unlocks its own features, the app asks with has()

  3. 03

    Let buyers help themselves

    A customer portal: in by email link, see the expiry, free a machine

Everything in it

  • Three sign-in modesKey, account, or an account bound to a key
  • Machine-bound trialsOne per machine, a reinstall opens no second one
  • Features per planEntitlements per feature, read locally with has()
  • Expiry with graceWarned before it ends, a few grace days after
  • Maintenance in one switchClose sign-ins for a while, with a message to users
  • Passwords hashed properlyEnd-user accounts never store a plain password

In code

sign-in.ts
const { app } = await clavis.init(); // loginMode, trial, maintenance

if (app.loginMode === "key") {
  key ? await clavis.activate(key) : await clavis.trial(); // one trial per machine
} else {
  await clavis.login(username, password);
}

if (clavis.has("export.pdf")) enablePdfExport(); // features follow the plan

Which plan has it

Basic
All three modes, trials and the customer portal
Premium
Lets you choose how long a machine runs without the network
Compare plans

Read more in Protect Hub

Your softwareYour keys

Next utilityDevices & HWID

How can we help?

Frequently asked

What is ClavisAUH?

A licensing and authentication service for desktop software: license keys, device binding, end-user sign-in and signed responses. All run from one dashboard

Why can't a cracker fake your server?

The SDK only trusts answers signed with your app's private key. That key never leaves our servers, so a fake server can't sign and gets rejected

What ends up in my binary?

Your app id and public key. Nothing secret, because each device makes its own key pair on first run

Does it work offline?

Yes. Every plan gets a signed offline token for 7 days, and your app checks it locally. Premium lets you choose how long. A revoked license can keep working offline for that time, unless Online-Only Mode is on

Which languages are supported?

JavaScript and TypeScript today. C++, C# and Python are next, on the same open protocol

Is Basic really free?

Yes. No time limit, no card. Move to Premium when you need more

Get in touch