A built-in password manager. Logins, API keys, payment cards, secure notes, and captured browser sessions live in one encrypted store on your machine, behind a single master password. The browser's autofill talks to the same store, so credentials never have to leave it.
A vault record is one of:
| Record | What it holds |
|---|---|
| Login | A host, username, and sealed password, with optional TOTP seed, recovery codes, and notes |
| API key | A labeled secret, handy for the keys you paste into the AI chat, scripts, or MCP integrations |
| Payment card | Number, name, expiry, CVV, and notes, sealed end to end |
| Secure note | Free-form text for anything else: recovery phrases, 2FA backup codes, a hidden Wi-Fi password |
| Browser session | A captured cookie set used to revive a logged-in session in another profile |
| Never save | A tombstone for sites you've told MetaDock not to offer to save credentials for |
Logins, API keys, and secure notes are what you add and edit by hand. Browser sessions and “never save” entries are written by the browser on your behalf.
Setting up the vault asks for a master password. From then on, every record is encrypted with a key that only your master password can unlock.
The vault is either locked (no key in memory, nothing readable) or unlocked (key held in protected memory while you use it).
While locked, autofill goes silent and any attempt to read a record fails with a clear “vault is locked” message. The vault is shared across every MetaDock window, so unlocking in one unlocks all of them, and locking anywhere locks it everywhere.
When you sign into a site in a MetaDock browser, MetaDock notices the form submit, captures the username and password, and offers to save them, scoped to that profile. Next time you visit the same domain in the same profile, the matching usernames appear as suggestions and picking one fills the password too.
Vault records carry the same notion of profile as the rest of MetaDock. A login captured in the Acme Client profile is tagged for that profile and only autofills there; the same site under your Personal profile saves a separate record. Nothing crosses between profiles by default.
You can change a record's profile at any time in the vault dock.
Your vault is encrypted on your machine and unlocked only by your master password. Nothing is stored in plain text, nothing is uploaded, and the master password is never sent anywhere. The encryption is additionally tied to your Windows login, so the vault only opens on your own signed-in machine.
You do not have to retype anything. The vault reads the export formats other password managers and browsers produce:
| Format | Comes from |
|---|---|
| CSV | Chrome, Edge, Firefox, Safari, LastPass, Dashlane, NordPass, and most other managers |
| Bitwarden JSON | A Bitwarden vault export |
| .1pux | A 1Password export |
Entries are matched on site and username, so re-importing a fresh export does not create duplicates. If a password has changed since your last import, the existing entry is updated with the new one rather than skipped, and the summary tells you how many were added, updated, and skipped.
Going the other way, the Export menu writes your logins to a CSV or JSON file. Both require the vault to be unlocked.
Pulling logins straight out of another browser installed on this PC? The import wizard does that without an export file in between.
Two things catch people out. Auto-lock can fire while you have an unsaved edit open and close the form, so save before walking away. And copying the database file to another PC does not work: the key is wrapped under your Windows login, so use a profile bundle or full backup instead.