A decentralized password manager, in Rust. Your devices sync directly with each other over iroh; a new device joins only by pairing from one you already have. No accounts, no servers of our own.
Status: design. No code yet.
curl -fsSL https://deadbolt.pw/install | shbrew install anomalyco/tap/deadboltOr download a tarball from GitHub releases (macOS and Linux, x64 and arm64). The install script verifies the tarball against the release's SHA256SUMS; set DEADBOLT_VERSION to pin a version and DEADBOLT_INSTALL to change the directory (default ~/.local/bin).
docs/design.md— the current v1 design (two keys, signed membership, per-device encrypted logs, QR pairing).docs/research/— prior art01-inkandswitch.md— Keyhive, BeeKEM, Beelay/Subduction, Automerge02-rust-sync-stacks.md— iroh, p2panda, Willow, Loro/Automerge/yrs03-mailbox-pairing-keys.md— mailboxes (Nostr, S3, folders), pairing, how other password managers handle keys and recovery
docs/history/— how we got here: the v0 proposal, the no-infrastructure (Nostr mailbox) revision, and two adversarial critiques of them. Superseded bydocs/design.md; kept for the reasoning. These docs reference the research files by bare filename.
site/ is the website: a landing page (/) and an animated architecture walkthrough (/architecture/), in the style of opentunnel.xyz (Vite, React, Motion, WebGL2 prints; fonts are Anton and IBM Plex Mono, OFL, licences in site/public/fonts/). cd site && bun install && bun run dev serves it on http://127.0.0.1:5197. bun run deploy builds it and deploys site/dist to deadbolt.pw with Wrangler; site/public/install is the install script served at /install. The original static mock is kept at site/mock.html.
