Keyring · Private preview
Keyring
Passwords and passkeys, encrypted before they leave this device.
First device
Create your encrypted Keyring
A fresh 256-bit root and recovery secret are created inside the shared Rust core. Your password stays on this device.
Local session locked
Welcome back
Unlocking decrypts key envelopes inside WASM. Browser pages never receive your password, keys, or credential candidates.
Accountless recovery
Enroll this browser from your phrase
The Rust core derives a public account locator and signs a one-use challenge. The phrase itself never leaves this browser.
Shown once
Save your recovery phrase
Save it offline before continuing. Keyring retains only a password-encrypted device-local copy so you can view it again after fresh local reauthentication.
Session unlocked · exact-origin fill
Your encrypted logins
Browse trusted summaries, reveal one selected credential, or resolve a sync conflict without exposing candidate collections to websites.
Personal keyring
Items
Create an item or clear the search filter.
Imported & other kinds
Other items
Secure notes, cards, identities, SSH keys, and authenticator secrets are stored encrypted. Select one to view or edit it in the trusted editor. Passkeys and unrecognized kinds stay read-only so nothing is ever silently dropped.
Monitor
Not checked yet.
Select a category
Nothing to show for this category.
Checked locally. Passwords are compared as salted digests inside the Rust core and never leave this device — no breach database is contacted.
- Username
- Password
- ••••••••••••
- Verification code
- Website
- Created
- Last modified
- Notes
Portable · end-to-end encrypted
Backup & restore
Move a complete encrypted snapshot without exporting plaintext, keys, or your local unlock password.
A restore is safely paused. Reselect the same file and passwords to resume from its durable journal.
The last restore is durably complete. Verify the same file again, or explicitly authorize a different restore.
Completely unencrypted · migration only
Export plaintext copy
Write your secrets into one unencrypted file for moving to another password manager: a Bitwarden-compatible JSON file with every item, or an Apple Passwords CSV with your logins. Passkey private keys are never included; trashed items are excluded.
Rust-owned preview · atomic encrypted commit
Import from another manager
Inspect Bitwarden, Proton Pass, or Apple Passwords exports without persisting plaintext. Accepted items receive fresh IDs and enter the encrypted outbox together.
An import is safely paused. Reselect the same source and file to rebuild its Rust-owned preview with the original durable IDs.
The last vendor import is durably complete. Its preview is not retained by this page.
Add or update from CSV
Recommended merges the whole active keyring by domain and case-sensitive username, keeps previous passwords in history, and moves duplicate entries to Trash. Only unresolved groups need review.
Before the preview, Keyring automatically downloads and verifies an encrypted backup using this unlocked session. No master password is required to import or update. Keep the backup; restoring it requires this vault's password or recovery phrase from when the backup was created.
CSV passwords update matched logins and distinct notes merge. Recommended also removes repeated values and uses valid CSV authenticators; conflicting credentials need review. Conservative matches exact URLs first and keeps authenticator conflicts for review. Entries moved to Trash remain recoverable.
Previews expire after five minutes, or when Keyring locks, the vault changes, or its worker restarts. Your vault items change only after Apply.
Local agent handoff
Exchange public descriptors locally with the helper, verify the intended sender, then pin its descriptor here. Only sealed files can use this pairing. The private recipient key stays encrypted on this browser profile and is excluded from vault exports, backups and sync.
Bitwarden is the source of truth · mirror deletes
Bitwarden sync
Mirror a Bitwarden JSON export onto this Keyring's tracked encrypted items. Rust plans creates, updates, and mirror deletes; nothing changes until you apply the reviewed plan.
A prepared Bitwarden sync plan from an earlier session is still pending. Its one-time plan cannot be resumed — discard it, then analyze the export again.
Rust-owned sync plan
Review before applying
Groups kept separate - review reasons
Creates
Updates
Deletes
Backup-first · reversible
Dedup my keyring
Finds duplicate items, merges anything only the copies knew into one survivor, and moves the copies to Trash. It refuses to run without a fresh encrypted backup — the backup downloads first, then the analysis begins.
Review
A previous dedup plan is still pending from an interrupted session — discard it to analyze again.
Session security
Auto-lock counts from your last Keyring action, wherever this page is. Clipboard clearing only removes a password Keyring itself copied, and only while this page stays open — it never touches something else you copied.
Changing this device password rewraps the local key envelope. Your encrypted items, recovery phrase, account locator, and sync identity stay unchanged.
This profile predates secure local recovery retention. Recover it once with the original 24 words to enable redisplay on this device.
Deletes everything Keyring keeps on this browser and starts over at setup. Your synced keyring stays on the sync server, and your 24-word recovery phrase brings it back.
Quarantined ciphertext
Records that failed validation during sync are set aside with their ciphertext intact rather than discarded. Retry decrypts them with the unlocked keyring — records quarantined while it was locked usually recover. Export saves the raw ciphertext to a file. Delete is permanent, and can also release a held-back local edit on the same item.
No quarantined records.
End-to-end encrypted · read-only
Audit history
Records your Keyring keeps about itself: the encrypted audit note a vendor import writes and the encrypted Bitwarden sync-state record. Keyring only decrypts and displays them here — nothing on this panel can change your Keyring.
No audit records yet. A vendor import with an audit note or a Bitwarden sync creates one.
Decrypted on demand
Audit record
Shared-keyring audit log
LaterSigned team audit events — member changes, key rotations, imports — are verified and decrypted by the same shared Rust core on every platform. They appear here once shared keyrings ship; this build deliberately has no team log to fetch.