Security · Keypair auth

Why keypair auth

Most apps want you to hand a secret to their server and hope it stays safe. We never see yours, because there isn't one. The rest of this page covers how that works and what you need to look after yourself.

01

The problem with passwords

You pick a password. They hash it, store it, and hope nothing leaks. Eventually something does, and your secret is out in the wild.

Breaches don't always make headlines on day one. Credentials can sit in dumps for months before anyone notices. Attackers run your email-and-password pair against every service they can find. Reuse a password once and one leak turns into a long afternoon of account recovery.

Casimir doesn't store your secret. There isn't one on our side to steal.

Passwords break for a blunt reason: two parties have to know the same sensitive string, and one of those parties is a server on the public internet.

02

How this works

You keep an Ed25519 keypair: a public key we register, and a private key that stays on your device. When you sign in, we send your browser a random challenge. Your browser signs it with the private key. We check the signature against your public key. Match, and you're in.

Nothing sensitive crosses the wire. Nothing sits in our database waiting to be dumped.

Same primitive as SSH, age, and Signal. Boring, proven, already holding up tools you use every day.

Server
Sends a one-time challenge for this session
Browser
Signs the challenge with your private key using Ed25519
Server
Verifies the signature against your stored public key. That is the whole exchange.
You
Are in. Your private key never left your device.

Signing runs in your browser through the Web Crypto API. We didn't write our own crypto. The browser uses the same engine it already trusts for TLS.

03

What to actually take care of

The tradeoff is real. Responsibility moves from our servers to your devices, on purpose. A few things worth getting right:

Critical
Back up your private key

There is no “forgot password.” Lose the private key and the account is gone. We can't fish it back out because recovery would mean holding something we deliberately never store. Keep a copy in a password manager, an encrypted file, or iCloud Keychain.

Important
Treat it like a physical key

The private key is short enough to copy and short enough to misplace. Keep it out of chat windows, git repos, and email drafts.

Good to know
One key, your devices

One keypair can live on every device you copy it to. Move it deliberately when you add a phone or laptop. Generate a fresh pair only when you mean to start over as a new identity.

If needed
Rotate if compromised

If the private key might be exposed, open settings and mint a new pair right away. The old public key dies the moment you replace it. No support ticket required.

We can't see your credentials, reset your account, or hand them to anyone who asks, because they never touch our systems. We built it that way on purpose.