KeysWalletWatch

Security design

Encrypted on your PC. Only you hold the key.

KeysWalletWatch is built so that nobody but you can read your vault: not a thief with the file, not the sync relay, and not us. Here is exactly how, and where the protection ends.

Is KeysWalletWatch secure?

Your vault is encrypted on your PC with AES-256-GCM, using a key derived from your master password by Argon2id, a deliberately slow and memory-hard function that makes password guessing expensive. The master password is never stored or transmitted. Sync and sharing are end-to-end encrypted, so the relay server only ever holds ciphertext. The main risks left are the ones no password manager can remove: a weak or leaked master password, and malware on a PC while the vault is unlocked.

Encryption

From master password to sealed vault

Everything below happens on your PC. None of it involves a server.

  1. You type your master password

    It's used in memory to derive a key and never written to disk. It's checked with a constant-time comparison, and wrong guesses add a growing delay of up to 60 seconds.

  2. Argon2id stretches it into a key

    Argon2id with 64 MiB of memory, 3 passes and 4 lanes, plus a random 32-byte salt stored with the vault. Each guess costs an attacker the same memory and time.

  3. That key unlocks the vault key

    The vault itself is encrypted with a random 256-bit key. Your password-derived key only wraps (encrypts) that vault key, which is why changing your password is instant.

  4. AES-256-GCM seals the vault

    The whole vault is encrypted with AES-256-GCM, which also detects any tampering, and written to one .kww file with a fresh random nonce on every save. Saves are atomic, so a crash can't leave half a file.

Cryptography used by KeysWalletWatch
PurposeWhat KeysWalletWatch uses
Password to keyArgon2id (v1.3), 64 MiB, 3 iterations, parallelism 4, 32-byte random salt
Vault encryptionAES-256-GCM, random 96-bit nonce per save, random 256-bit vault key
Recovery key200 random bits, derived with HKDF-SHA256, wraps the same vault key
Shared projectsA separate AES-256-GCM key per project, delivered with X25519 + HKDF + AES-GCM
Breach checkSHA-1 k-anonymity range query (first 5 hex characters only)
MemoryKeys and secrets are zeroed when the vault locks or the window closes

Recovery key

No back door, so keep your spare key safe

There is no "forgot password" link, because nobody has a copy of anything that could open your vault.

When you set up a vault, KeysWalletWatch offers a recovery key: a random code that looks like KWWRK-XXXXX-XXXXX-… (8 groups of 5). It unlocks the vault key independently of your password. Print the recovery sheet and store it with your important papers. After a recovery unlock, the app asks you to choose a new master password.

If you change the recovery key later, the old printed one stops working, and the app reminds you to print the new one.

If you lose both

Without the master password and without the recovery key, the vault cannot be opened: not by you, not by Beckham Enterprises, not by anyone. That is the same property that stops a thief. Keep a backup of the vault file and a printed recovery key in a different place.

Sync and sharing

End-to-end encrypted: the relay carries, it can't read

Your PC encrypts the vault before upload and decrypts it after download. The relay at sync.keyswalletwatch.com stores the ciphertext and a version number, and refuses an upload based on an out-of-date version, which is how conflicts are caught.

Your PC

Unlocks with your master password. Encrypts every save.

Readable only here

Sync relay

sync.keyswalletwatch.com keeps the encrypted vault, its version number and 30 days of earlier versions.

Cannot decrypt

Your other PC

Pulls every 60 s and before unlock, then merges entry by entry.

Readable only here
The relay stores the vault exactly as your PC encrypted it. Keys never leave your devices.

Pairing needs approval

A new PC can only join after you approve its 8-character code on a PC that's already in the vault. Codes expire after 5 minutes and allow limited tries.

Sharing needs a fingerprint check

Before you approve someone into a shared project, you compare a short fingerprint with them out of band (read it aloud). This stops a server in the middle from slipping in its own key.

Replays are refused

Shared-project blobs bind the relay's version number into the encryption, and apps refuse a copy older than one they've already seen.

How sync and sharing work →

Breach check

Checks leaked passwords without sending yours

The security dashboard can check your passwords against Have I Been Pwned's database of passwords exposed in data breaches, using its k-anonymity range search:

  1. Your PC computes the SHA-1 hash of a password.
  2. Only the first 5 hexadecimal characters of that hash are sent to api.pwnedpasswords.com.
  3. The service replies with every leaked hash starting with those 5 characters, typically hundreds.
  4. Your PC looks for a match in that list. The answer never leaves your computer.

The check runs only when you press it, and the app reminds you to repeat it every 3 months by default.

Threat model

What it protects against, and what it can't

No password manager protects against everything. Here's an honest account.

Protected

  • Someone copies your .kww file, from a stolen laptop, a backup drive or a cloud folder. Without the master password or recovery key it's ciphertext, and Argon2id makes guessing slow.
  • The sync relay is breached, or run by someone curious. It holds no keys and cannot decrypt vaults.
  • A server tries to substitute its own key in a shared project. The fingerprint check exposes it.
  • Someone walks up to an unattended PC. Auto-lock closes the vault after a few idle minutes.
  • Screen sharing and screenshots. Screen-capture protection blanks the window, and remote sessions lock the vault.

Not protected

  • Someone who knows or guesses your master password, or finds your recovery key. Use a long, unique master password and store the key safely.
  • Malware running on your PC while the vault is unlocked, such as a keylogger or a program reading memory. Keep Windows and your antivirus up to date.
  • A person you removed from a shared project keeps whatever they already saw. The project key rotates, so they get nothing new.
  • Metadata on the relay: it can see device names, member names, vault sizes, version numbers and when uploads happen, though not what's inside. The privacy page lists everything it keeps.
  • Passwords you copy are briefly on the Windows clipboard, where other programs can read them until it's cleared.

The app itself

Small, signed and quiet

Code-signed installer

Signed by BECKHAM ENTERPRISES, LLC. through Microsoft's Trusted Signing. Check the publisher before you run it, and compare the SHA-256 on the download page.

Rust at the core

Encryption, storage, merging and sync are written in Rust, a memory-safe language. The window is a Tauri app using Microsoft Edge WebView2.

Few network calls

It talks only to the license server, Have I Been Pwned when you run a breach check, and the sync relay if you turn sync on. No telemetry, no ads, no trackers.

FAQ

Security questions

Can Beckham Enterprises see my passwords?

No. Your vault is encrypted on your PC with a key made from your master password, which is never stored or sent anywhere. If you use sync, the relay receives only the already-encrypted vault and a version number. Nobody at Beckham Enterprises holds anything that can decrypt it.

What encryption does KeysWalletWatch use?

AES-256-GCM for the vault, with the key derived from your master password by Argon2id (64 MiB of memory, 3 passes, 4 lanes, a random 32-byte salt). Shared projects use their own AES-256-GCM keys, delivered to each member with X25519 key agreement. See the security page for the full design.

What happens if I forget my master password?

There is no reset, by design: nobody else has a copy. The way back in is the recovery key the setup wizard offers (a 40-character code starting KWWRK-). Print it and keep it somewhere safe. Without the master password or the recovery key, the vault cannot be opened by anyone, including us.

How does the breach check work without sending my passwords?

It uses Have I Been Pwned's k-anonymity range search. KeysWalletWatch hashes the password with SHA-1 on your PC and sends only the first 5 characters of that hash. The service returns every leaked hash that starts with those 5 characters, and the match is made on your PC. Neither the password nor its full hash leaves your computer.

Does KeysWalletWatch collect telemetry?

No. The app has no analytics or telemetry. It only goes online to check passwords against Have I Been Pwned when you ask it to, to talk to the license server, and to sync if you turn sync on.

See it for yourself, free for 30 days

Try every feature free for 30 days. If you keep it, it's $24.99 once for up to 5 PCs.