All projects

03 / 04 · Password manager

Tessera

A password manager designed around its security. Beyond an encrypted vault and authenticator sign-in, it splits your recovery key across printable cards, opens a decoy vault if you're forced to unlock it, can lock the vault to a hardware security module, keeps a tamper-evident record of every access, and shares logins end to end.

  • Python
  • PySide6
  • AES-256-GCM
  • Argon2id
  • Shamir's Secret Sharing
  • PKCS#11
  • X25519
  • TOTP

01 / Features

What it does

01

An encrypted vault

Every login and note is sealed on its own with AES-256-GCM, bound to its own id, under a random 256-bit key that only your master password unlocks, stretched with Argon2id. Passwords are checked as you type against realistic attacks, and every reveal, copy and change goes in the audit log.

  • AES-256-GCM
  • Argon2id
  • zxcvbn

02

Microsoft Authenticator, and an authenticator of its own

Unlocking takes your master password and a code from Microsoft Authenticator, and each code works only once. Tessera is an authenticator too: add a site's 2FA QR code from a screenshot and its live codes appear beside the password.

  • TOTP (RFC 6238)
  • MFA
  • QR codes

03

Recovery cards

Instead of a reset email, your recovery key is split with Shamir's Secret Sharing into five printable cards. Any three unlock the vault; one or two reveal nothing at all, so you can hand them to people you trust without having to trust any one of them.

  • Shamir's Secret Sharing
  • GF(256)
  • Printable cards

04

A duress password

If you're ever forced to unlock it, a second password opens a complete decoy vault instead. There are always three identical key slots and three vault files, and every password is tried against all of them, so neither the files nor the unlock time show that a second vault exists.

  • Plausible deniability
  • Decoy vault
  • Hidden slots

05

Hardware security module support

Bind the vault to an HSM through PKCS#11 and its key slots are sealed inside the hardware, by a key that can never leave it. A copied vault file, even with the password, is useless without the device. Works with YubiHSM 2, smart cards, AWS CloudHSM and SoftHSM.

  • PKCS#11
  • AES-GCM in hardware
  • SoftHSM

06

A tamper-evident audit log

Every unlock, reveal, copy and change is recorded in a log that's encrypted, chained with SHA-256 and sealed with HMAC. Verify it any time: if anyone edits, deletes or reorders an event, even by opening the file directly, Tessera shows exactly which one.

  • SHA-256 hash chain
  • HMAC
  • Tamper evidence

07

End-to-end sharing

Send a login to someone with no server in between. It's encrypted to their X25519 key, carries cryptographic proof that it came from you, and expires. Send it as text or a QR code, through any app you like.

  • X25519
  • HKDF
  • Sender verification

08

Passphrases, and how long they'd last

Passphrases from the EFF's list of 7,776 easy-to-type words, or random passwords, with their exact randomness in bits, and zxcvbn estimates of how long any password would survive three realistic attacks.

  • EFF wordlist
  • zxcvbn
  • Entropy

02 / Compared

What sets it apart

When it comes toTypical password managerTessera
Where your vault livesOn the company's servers, encrypted, and synced to every device.Only on your computer. No account, no server, and no cloud copy to steal.
A forgotten master passwordRecovery through an email link, a family organiser or an emergency contact on the company's service.Any 3 of 5 recovery cards held by people you trust. No single card, and no company, can get in.
Being forced to unlock itWhatever you unlock is everything you have.A duress password opens a decoy vault, and nothing shows that a real one exists.
A stolen copy of the vaultUsually protected by the master password alone.With an HSM, useless without the hardware as well as the password.
Knowing what happenedActivity history kept by the company, often only on business plans.A sealed, hash-chained log on your computer that you can verify yourself.
Sharing a loginThrough the company's servers, to people on the same service.Directly and end to end, with the sender verified and an expiry.

The trade-off: Tessera doesn't sync between devices. Keeping everything on one computer is what makes the rest possible.

03 / Screens

A closer look

Five recovery cards, each with a QR code and its text in groups of four

Recovery cards

Five printable cards, each with a QR code and a typo check. Any three unlock the vault.

The activity log after verification, with one tampered event marked

Tampering, caught

One event was edited directly in the database. Verification names it and marks where the chain breaks.

The sharing page, with a share created for Alex and a verified share received from Alex

Verified sharing

A share from Alex opens only in this vault, and Tessera confirms it came from Alex's key.

04 / Security design

How it's built

  • One key, one job

    A random 256-bit key encrypts the vault; your password only unwraps it, through Argon2id at 64 MiB. Keys for the log, recovery and sharing are derived separately with HKDF.

  • Authenticated everywhere

    Every item, setting and log entry is sealed with AES-256-GCM and bound to where it belongs. Swap, edit or cut anything on disk and it fails loudly instead of decrypting wrong.

  • Nothing to read on disk

    No titles, usernames or sites in the clear, and always three identical key slots and vault files, so the files don't even show whether a decoy exists.

  • Tested like an attack

    Automated tests tamper with items, logs and key slots, forge and redirect shares, try wrong HSM PINs, recover with every 3-of-5 card combination, then use the whole app end to end.

  • Honest about its limits

    It doesn't sync between devices. A share's expiry is enforced by the app, not by maths. A decoy can't fool someone who watches you use both vaults. The documentation says so.

  • Standard building blocks

    TOTP (RFC 6238) for Microsoft Authenticator, PKCS#11 for HSMs, X25519 and HKDF for sharing, and AES-GCM and Argon2id from well-audited libraries.