The short version
Every piece of sensitive data in your vault — passwords, card numbers, notes, two-factor secrets, passkey metadata — is encrypted on your device, with a key that is itself derived from your master password on your device. MyPwdTool never transmits your master password anywhere, never transmits your encryption keys anywhere, and stores nothing in a form that could be read without them.
If you forget your master password, nobody can recover your vault for you — not the developer, not a support team, nobody. That is a deliberate consequence of the design, not an oversight. See Local Vaults & Backups for how to protect yourself against that.
Your master password never leaves your device
Your master password is used once, locally, to derive a key — it is never stored, never sent over the network in any form, and never appears in a backup file.
Key derivation
- When you create a vault, MyPwdTool generates a random cryptographic salt.
- Your master password and that salt are run through PBKDF2-HMAC-SHA256 with 400,000 iterations — a deliberately slow, computationally expensive function. This is what makes guessing your master password by brute force impractical even if someone obtained your vault file: each guess costs real computation time, not a simple hash comparison.
- The result is a Key-Encryption Key (KEK) — used only to protect the vault’s real encryption key, never to encrypt your data directly.
- A separate, randomly generated Data Encryption Key (DEK) is created once, when the vault is first set up, and is what actually encrypts your entries. The KEK’s only job is to “wrap” (encrypt) this DEK so it can be stored safely alongside your vault. This separation means changing your master password is fast — it only re-wraps the DEK, it never has to re-encrypt every entry in your vault.
How each entry is encrypted
Every sensitive field — not just the password, but the username, note, card number, TOTP secret, and so on — is encrypted independently, using AES-256-GCM, an authenticated encryption algorithm that both hides the content and detects any tampering.
Each field’s encryption is additionally bound to which vault, which entry, and which field it is (a technique called “associated data”). In practice this means a piece of ciphertext from one field can never be silently copied into a different field, a different entry, or a different vault and be accepted as valid — any such attempt fails to decrypt. This closes a whole class of substitution attacks that simpler encryption schemes are vulnerable to.
Clearing decrypted data from memory and the clipboard
Fields are decrypted lazily and individually — opening an entry only decrypts that entry’s fields, at the moment you view them, never your whole vault at once. When you leave an entry’s detail screen, its decrypted password, notes, card details, TOTP secret, and password history are cleared from memory rather than left sitting there for the rest of your unlocked session.
Copying a password, card number, or TOTP code to your clipboard also starts a short timer — about 45 seconds — after which MyPwdTool clears the clipboard automatically, but only if it still holds what you copied (so it won’t wipe something else you copied in the meantime). This limits how long a copied secret is exposed to other apps that can read the system clipboard.
Post-quantum readiness
MyPwdTool’s vault encryption (AES-256-GCM) and key derivation (PBKDF2-HMAC-SHA256) are both symmetric algorithms. A future quantum computer running Grover’s algorithm would only halve their effective strength (AES-256 to a 128-bit-equivalent workload), which stays far out of reach — so your vault-at-rest encryption is already quantum-resistant in practical terms.
The part of a system that a quantum computer actually breaks outright, via Shor’s algorithm, is asymmetric (public-key) cryptography used for key exchange. MyPwdTool’s optional sync feature does not currently use a post-quantum key-exchange algorithm for pairing devices. We’re tracking the standardization of post-quantum algorithms (like ML-KEM) for a future update to sync pairing.
Where your vault lives
Your vault is a single encrypted SQLite file, stored locally on your device — never in iCloud, never in a Microsoft or Google account, never on any MyPwdTool server (there isn’t one that stores vault data at all). Multiple vaults are supported on every platform — macOS, iOS, Windows, and Android (e.g. a personal vault and a separate work vault), each with its own independent master password and encryption keys — see Local Vaults & Backups.
Unlocking with Face ID / Touch ID / Android biometrics
On macOS and iOS, you can unlock with Face ID or Touch ID between master-password prompts, for convenience; on Android, the same convenience is available through the system’s own biometric prompt (fingerprint or face unlock, depending on your device). This never replaces your master password as the actual source of the encryption key — biometric unlock retrieves a copy of your DEK that was itself sealed behind the device’s secure hardware (the Secure Enclave on macOS/iOS, the Android Keystore on Android) at the moment you last typed your master password, and it always expires on a schedule you control in Settings; once it expires, you must type your master password again.
What a compromised sync relay would see, at worst
If you turn on sync, your vault’s changes travel through a relay server between your devices. That server is deliberately designed to be unable to read them — see Synchronization for the full explanation of how that’s enforced, and its source code is public for independent review.
Password Health, breach checks, and TOTP codes
These run entirely on your device. Checking whether a password appears in a known breach uses the Have I Been Pwned API with k-anonymity: only the first 5 characters of your password’s SHA-1 hash are ever sent, never the password itself and never the full hash — see Password Health & Breach Check for detail. Two-factor (TOTP) codes are generated locally from a secret stored only in your encrypted vault; MyPwdTool does not operate any authentication or OTP service.
MyPwdTool