The CLV1 protocol is now publicRead the spec

Security · CLV1

Can't be emulatedCan't be replayed

Two protection modes, one public protocol, no secret inside the binary

  1. 01The machine's own signatureEvery request is signed by the device. No impersonation
  2. 02One answer, one requestCopy a response and replay it, and it's dropped
  3. 03Change a byte, get caughtThe SDK throws out any edited response

CLV1

One CLV1 round tripOut and back

Four steps, each a signature or a check

  1. 01 · DeviceSigns the request with its own keyEd25519 · device
  2. 02 · ServerChecks the signature, the one-time nonce and the timenonce · ±60 s
  3. 03 · ServerSigns the answer with the app's private keyEd25519 · app
  4. 04 · SDKTrusts only an answer with the right signatureverify(appPublicKey)

Shield · CLV1

Two modesOne floor, one choice

A floor nobody can switch off, and the methods you pick per app

Standard Protection

always on
  • The device signs requests, the app signs answers
  • Every request works exactly once
  • The SDK refuses any stranger's answer
  • The binary holds only an app id and a public key
  • Known machines survive a reinstall
  • A leaked session id is useless elsewhere
  • Key guessing limited per IP
  • Sign-ins and changes kept in a log

Advanced Protection

switched on per app
  • Device move rules
  • A cap on places running at once
  • Short sessions once heartbeats stop
  • Offline tokens off for instant revocation
  • Hidden marks that trace a leak
  • Build hashes checked against signed releases
  • Automatic alerts, suspensions, device blocks
  • Two-factor or a passkey required for the whole team
  • Block by IP, range or device

Common approach

Against the common wayMechanism for mechanism

About mechanisms, aimed at no one

Against the common approach
QuestionCommon approachCLV1
Where the secret livesEmbedded in the binary, there for anyone who looksNo secret in the binary at all
Server answersUnsigned, or signed with a key everyone hasEd25519 with a private key per app
A fake serverAnswers "ok" and the app believes itWithout the private key it cannot sign
ReplaysAn old answer can be copied and reusedOne-time nonces, a stale clock is refused
A leaked session idWhoever holds it can ride alongSessions bound to one machine's key
When access is refusedOne generic error, no reason keptEvery refusal is logged with its reason

Found a vulnerability?

Tell us privately before going public

Contact

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