Strongroom

Features: what Strongroom adds and where each one lives

Each feature below is either computed on your machine from vault data, or decided by the Bitwarden server. Strongroom provides the first kind fully. For the second kind it sends the request through bw and shows the answer. It does not fake an entitlement.

Feature Lives on Strongroom
Authenticator codes (TOTP) Client Done: desktop item view, browser popup and strongroom totp
Steam Guard codes Client Done, same module
Reused password report Client Done: Settings, Vault health, and strongroom health
Weak password report Client Done: same places
Unsecured website report Client Done: same places
Exposed password report Client plus a public leak lookup Done, opt-in: Settings switch and strongroom health --breaches
Inactive two-step report Client plus a public list of sites Done, opt-in: strongroom health --inactive-2fa
File attachments Server Wired: strongroom attach. Works where the account or server allows it
File Sends Server Wired: strongroom send. Works where the account or server allows it
Emergency access Server Not built
YubiKey and Duo two-step login Server Nothing to build: set on the account, and sign-in already asks for the code
Priority support Bitwarden Not applicable

One-time codes

Strongroom computes RFC 6238 codes from the login.totp field of a login. It also handles Steam Guard's 5-character alphabet. The code comes from crypto.subtle HMAC in packages/shared/src/totp.ts, so this is code generation from your own stored secret, not vault encryption.

Check: strongroom totp github prints the code on stdout and the seconds left on stderr. Compare it with your authenticator app.

Vault health

The reports run on your decrypted logins on your machine. Reused, weak and plain-http:// checks make no network call. Two checks do, and both are off until you ask. They are listed on the privacy page.

Check: grep -n "fetch(" packages/shared/src/health.ts shows the two lookups and nothing else.

Folders, fields and item types

The desktop app can create, rename and delete folders, filter by folder and assign an item to one. Nested names such as A/B show as flat names, not a tree. It shows and edits custom fields and shows password history. It creates and edits logins, secure notes, cards, identities and SSH keys. New SSH keys can be pasted in, not generated.

Attachments and file Sends

Attachments can be added, downloaded and deleted in the desktop app, and added with strongroom attach. File Sends are created in the desktop app and with strongroom send. In both cases the account or server must allow it. The attachment path has not been run against a real server yet. See the parity page.

Generators, import and export

Password, passphrase and username generators are built in. Passphrases use the EFF large word list, licensed CC BY 3.0 US. Import takes 29 formats and export writes CSV, JSON and account-key encrypted JSON, both through bw. Password-protected exports and imports are not supported, because bw would need the password on its command line.

Why emergency access is not built

It needs the server's trusted-contact API and an exchange of encryption keys between two accounts. bw has no command for it. Strongroom keeps vault cryptography with the official CLI, and the server decides whether an account may add contacts. On a self-hosted server, the official web vault already provides it.

Where the classification comes from

Bitwarden's public help pages and public issue and pull request pages. Nothing here was checked by calling a Bitwarden service, and none of it was checked against the server source. The repo's docs/FEATURES.md also records a static analysis of the installed official builds with rea. That analysis confirms which surfaces exist. It does not prove a feature is absent.