Client-side · Stateless · Kyber-768

PASSWORDS
WITHOUT
A VAULT.

Same inputs, same password, every time. Nothing is stored anywhere, so there is nothing to steal.

00records stored
100%local compute
768KEM security bits
01

Generate

Local only
Fill the fields and hit generate.
No output yet.
02

Settings

01

About

QXVault is a password generator, not a password store. It re-derives each password from your inputs on demand using post-quantum primitives, so there is no vault file to sync, back up, or breach.

Properties

  • Stateless. No database, no server state, no single point of failure.
  • Deterministic. Identical inputs always yield the identical password.
  • Hardware-capable. Optional WebAuthn binding ties output to one device.
  • Local. Every operation runs in this browser; nothing is transmitted.
  • Portable. The algorithm is open and reimplementable anywhere.
  • Post-quantum. Kyber-768 KEM stage resists harvest-now-decrypt-later collection.

Stack

Cryptography

  • PBKDF2-SHA512, 100k–200k iterations
  • Kyber-768 KEM (WASM)
  • HKDF-SHA256 expansion
  • Per-site salt and context info

Security

  • WebAuthn / FIDO2 device binding
  • Client-side processing only
  • No network calls during generation
  • Auto-clear of sensitive fields

Platform

  • Static assets on Cloudflare Workers
  • No backend, no database
  • Works offline after first load
  • Evergreen desktop and mobile browsers
01

FAQ

Hardware pass vs normal pass?

Hardware pass requires a WebAuthn ceremony and binds output to the enrolled device: same inputs reproduce only there. Use it on personal machines for high-value accounts.

Normal pass needs no hardware and reproduces on any device from the same inputs. Use it for shared machines, travel, and as a fallback.

How does deterministic generation work?
Passphrase, site, and optional username are combined with a device secret, stretched with PBKDF2-SHA512, run through a derandomized Kyber-768 KEM, and expanded with HKDF-SHA256. Same inputs, same output — no storage involved.
What makes it quantum-resistant?
The KEM stage uses Kyber-768, a NIST-selected lattice-based algorithm. An adversary recording traffic today cannot retroactively break the encapsulation once quantum hardware matures. The surrounding KDF remains hash-based.
Do I need a hardware security key?
No. Platform authenticators (Touch ID, Face ID, Windows Hello) work, and normal pass needs nothing at all. A roaming FIDO2 key is optional.
What if I lose the enrolled device?
Hardware-bound passwords cannot be reproduced without it. Keep normal-pass equivalents for recovery, or enroll a second device before you need it.
Does it work offline?
Yes. After the first load, generation is fully local. No requests are made during derivation.
How do I rotate a compromised password?
Append a version to the site name, e.g. github.com-v2. The output is unrelated to the previous one; the passphrase stays the same.
Why did my passwords change after an update?
The v5 derivation update fixed device identifiers that previously depended on browser metadata, so old outputs no longer reproduce. Re-register each affected account with the freshly generated password; from v5 on, parameters are frozen.
What data leaves my device?
None during generation. The passphrase, site names, and outputs never leave the browser. The only persisted item is the WebAuthn credential ID in localStorage, which is non-secret by design.
Which browsers are supported?
Any browser with Web Crypto and WebAssembly covers normal pass. Hardware pass additionally needs WebAuthn and a secure context (HTTPS or localhost).
01

Compare

Conventional managers

  • Encrypted vaults stored on disk or in the cloud
  • Breach of the vault exposes everything at once
  • Sync infrastructure to run and trust
  • Classical-only key wrapping in most products

QXVault

  • Passwords derived on demand, never stored
  • No vault, no sync, no server-side state
  • Identical behavior on any device
  • Kyber-768 KEM in the derivation path

Modes

Hardware pass

  • Bound to one device
  • WebAuthn ceremony per generation
  • Unrecoverable without the device
  • Best for primary machines

Normal pass

  • Reproduces everywhere
  • No hardware needed
  • Ideal fallback and travel option
  • Best for shared machines

Why stateless wins

  • No breach surface: there is no stored secret to exfiltrate.
  • No sync: every device computes the same answer independently.
  • No lock-in: the algorithm is documented and reimplementable.
  • No trust required: the host learns nothing, by construction.
01

Trust

Verifiable, not promised

Every derivation step runs in readable client-side code with standard primitives: PBKDF2, Kyber-768, HKDF, WebAuthn. Inspect the sources, check the network tab during generation, and confirm zero requests.

Minimal trust surface

  • Static hosting only — no application server processes your data
  • Open primitives with published test vectors
  • KEM round-trip self-check on every generation
  • Credential IDs are the only persisted data, and they are public by WebAuthn design

Honest limits

  • A compromised endpoint defeats any password tool
  • A weak passphrase bounds the whole construction
  • Forgotten passphrases have no recovery path
01

Terms

1. What this is

A client-side, deterministic password generator. It stores no user data and transmits none during generation.

2. Your responsibility

  • Remember the master passphrase — it cannot be recovered
  • Keep fallback access for accounts that matter
  • Do not use hardware-bound output as your only copy

3. Privacy

  • No passphrase, password, or site name is collected or stored
  • All cryptography runs locally in the browser
  • No analytics, no tracking, no third-party calls in the app shell

4. Warranty

Provided as-is, without warranty. No system is unconditionally secure; follow standard operational hygiene and keep backups of access.

5. License

QXVault is licensed under GPL-3.0. The bundled pqc-kyber WASM build carries its own MIT license; see public/vendor/pqc-kyber/LICENSE-MIT.