passformepfm
Open source · in development

A password vault only you can open.

passforme keeps passwords, cards, recovery codes and API keys in a vault encrypted on your device. It syncs through a server of your own, which never sees anything but encrypted data.

$ pfm add github.com --username [email protected] --generate
Added 'github.com'.
Generated password (173 bits) copied; cleared in 30 s.
$ pfm get github
Copied the Password of 'github.com'; cleared in 30 s.
$ pfm totp github
482913
valid for 21 s
$ pfm generate --words 7 --lang pt-br
fissura-socorro-distante-azulejo-safira-navalha-sujeito

What it keeps and does

Zero-knowledge

The vault opens only with your master phrase and your Secret Key, and neither ever leaves your device.

Your own server

passforme-server syncs your devices and keeps only the encrypted vault. Even stolen, it reveals nothing.

Password generator

29 letters and digits by default, symbols when a site demands them, or phrases of words in English and Portuguese.

Every kind of secret

Logins with 2FA, cards, PINs, API and SSH keys, crypto wallet phrases, recovery codes and documents.

Checks as you type

Crypto phrases by their BIP-39 checksum, cards by their check digit: a mistake shows while the paper is still in your hand.

Made for the terminal

Short commands, Tab that completes everything and a session that remembers the phrase for 15 minutes. Programs read only the keys you release.

How it protects

Only standard constructions, from audited libraries. No home-made cryptography.

  1. Two pieces, not oneThe master phrase goes through Argon2id (256 MiB of memory) and is joined to the 128-bit Secret Key by HKDF. Whoever steals the server's data cannot guess the phrase, because the Secret Key is missing.
  2. Every item encrypted on its ownXChaCha20-Poly1305, bound to its own id and version: a swapped, copied or tampered item is refused.
  3. The server only sees encrypted dataIt keeps the vault and its previous versions, and the client refuses a copy older than the latest one it has seen.

Protects against

  • Theft of the server, its disk or a backup
  • Guessing the phrase from the server's data
  • A server trying to read or alter the items
  • Anyone listening on the network

Does not protect against

  • Malware on your device while the vault is open
  • Losing both the master phrase and the Secret Key: there is no recovery
  • It has not had an external audit yet

Every command, with examples

From the first pfm init to recovering on a new laptop.