Early access / zkauth-client v1.4.16
Zero-knowledge authentication

Prove you’re you.
Reveal nothing else.

Build your first secure application with zero-knowledge proof authentication in minutes.

ZKAuth zero-knowledge lock
the password never leaves the device
How the proof works

The password is proven, never transmitted.

client · device

email

ada@example.com

password

Argon2idPoseidonGroth16
Zero-knowledge proof
blocked
only the proof crosses · the real password is blocked
engine · verifier
password received never
proof verifiednow
01

On the device

Argon2id and Poseidon derive a commitment; a Groth16 proof is generated locally.

02

Over the wire

Only the proof and public signals travel. No secret, no reversible hash.

03

On the server

The engine verifies the proof, guards against replay, and issues a session.

Integrate in minutes

A real login in a few lines.

Use the zkauth-client SDK, or call the HTTPS API from any language. The proof handshake happens for you.

import { ZKAuthSDK } from 'zkauth-client'
const zkauth = new ZKAuthSDK({ apiKey })
// the proof is generated on the deviceawait zkauth.register({ email, password, deviceInfo })
// the server verifies it, never the passwordawait zkauth.login({ email, password, deviceInfo })
Honest numbers

Real measurements from the engine and client.

local / 1000 runs
0.000ms
mean proof + login
zero / ever
0
benchmark failures
all green
0/ 42
hosted verification checks
one API
0
auth methods

Local benchmark. Hosted calls include serverless cold starts and remote database latency, so budget user-facing timeouts accordingly.

Radical honesty

We’d rather be precise than impressive.

Security writing is easy to fake. So here is the exact boundary, in plain language, and endpoints you can call to check it.

boundary // what we don’t claim
  • 01No SOC 2, HIPAA, or completed external audit.
  • 02No post-quantum security.
  • 03No broad WebAuthn authenticator guarantees.
  • 04Billing foundation exists; live paid checkout is deferred.