Skip to content
3mote
Browse documentation

How Passwords keeps your data safe

This page explains how Passwords protects what you store in it. It is the public description of the design. We say what it does first, in plain words, then add the detail. We also say where it stops protecting you.

The short version

  • Your items are encrypted in your browser before they are sent to 3mote. In Private and shared vaults we store encrypted data we cannot open. Automation vaults are the exception, described below.
  • A Private or shared vault is opened by keys held on your trusted devices. 3mote does not hold them.
  • Who holds each vault’s key is kept in a signed record. Your browser checks it, and refuses one that was changed, cut short or forked.
  • Your workspace can name a Recovery Group that can restore a locked-out teammate. Every vault shows who can open it, and owners and admins can see that list for every vault in the workspace.
  • An AI agent can use a login, token or key without ever seeing it.
  • One kind of vault, an Automation vault, is opened by a key that 3mote holds. It says so on the vault, and it is never called zero-knowledge.

The keys

Three layers of keys protect an item.

How the keys fit togetherSeveral recipients each hold their own locked copy of a vault key. The vault key opens each item key. Each item key opens one encrypted piece of the item, the secret or the details.A person(keys on theirtrusted devices)Recovery Group(restores accesswhen needed)Agent workstation(chosen items,one session)3mote agent key(Automationvaults only)Vault keyOne per vault. Locks every item key.Item key for the secret(one pair per item version)Item key for the details(one pair per item version)Secretpassword, token, key, noteDetailstitle, username, websitesArrows read as: opens. Every item is two encrypted pieces, each with its own key.
The keys. Each arrow reads as 'opens'. A vault key is locked once for each person or group that can open the vault.
  1. Item keys. Every item is stored as two encrypted pieces: the secret (password, token, key, notes) and the details (title, username, websites). Each piece has its own key. Every edit makes new item keys, so a key handed out earlier opens only the version that existed then.
  2. The vault key. Each vault has one key that locks all of its item keys.
  3. The people and groups who can open the vault. The vault key is locked once for each of them, using their public key. Only the matching private key can unlock it. Each locked copy is signed by whoever made it and is tied to the key it carries, so a copy cannot be swapped for another key without the person who opens it noticing.

Your own private keys are kept in your browser. They are protected by an account key, and a copy of that account key is locked to each of your trusted devices. There is no vault password to remember or to steal.

Who can open a vault

Who can open a vaultA table of three kinds of vault. Private and shared vaults are zero-knowledge: 3mote cannot open them. An Automation vault can also be opened by a key 3mote holds, so it is not zero-knowledge.KindWho can open itCan 3mote open it?Private vaultThe personThe Recovery Group, unless your ownersturned that off for Private vaultsNoZero-knowledgeShared vaultPeople, teams and roles you addThe Recovery GroupAn agent workstation, for one session, onlyfor items a person chose to grantNoZero-knowledgeAutomation vaultPeople, teams and roles you addThe Recovery GroupA key 3mote holds in AWS KMS, so agents canuse items any time. Every use is recorded.Yes, with its keyNot zero-knowledgeVault names, and who can open each vault, are visible to workspace admins. Items are not.
Who can open each kind of vault, and whether 3mote can.

A vault can be opened by:

  • The people you add, and the members of teams and roles you add. Someone who joins through a team or role is waiting for access until a vault manager opens the vault and confirms them. You see everyone under Who can open this vault.
  • The Recovery Group, so a locked-out person can be restored. It shows as its own row. Owners can turn this off for Private vaults.
  • An agent’s workstation, for one session, and only for items a person chose to grant. This never changes who the vault is locked for.
  • A key that 3mote holds in AWS KMS, only on an Automation vault, so agents can use items without anyone present.

The Zero-knowledge badge means 3mote cannot open the vault. It is shown on every Private and shared vault whose record your browser has verified. When a key 3mote holds can also open a vault, the badge changes to Agents can use anytime · key held by 3mote. We never use the word zero-knowledge for that vault.

Vault names, and who can open each vault, are visible to workspace admins, so they can audit a vault they cannot open. Item titles are not, though an agent’s own written reason for a request may name items.

A signed record of who holds the key

The list of people a vault is locked for is not taken on 3mote’s word. Each vault keeps a signed record, one entry for each change: the vault was created, someone was added or removed, a permission changed, the keys were replaced, Automation was turned on or off. Each entry is signed by someone who already had the right to make that change, and it lists exactly who holds the key afterwards. Your browser checks the record from its saved checkpoint (from the first entry, the first time) and remembers the latest entry it has seen. It opens a vault only if the record lists you under your current keys. If 3mote shows a shorter record, or a different one, your browser refuses it and leaves the vault closed.

Adding people is a click, on purpose. The screen lists each person by name before anything is shared. A person your browser has not seen before is marked New to this browser. To add someone as a manager, who can change who has access, you must also compare their account words with them first.

The Checking… and Not verified labels in place of the vault badge mean this record has not been checked yet, or could not be. We do not claim what kind of vault it is until the check works.

Trusted devices and the eight words

A trusted device is a browser profile that can open your vaults. Its private key is created in your browser and stored there. 3mote cannot read it.

To add a new device, you approve it from a device you already trust, and the approving device must have Passwords open, because it needs your keys to show you the words. The new device shows two lines of eight words. The first line stands for the device. The second stands for your account. Together the two devices check both lines, and each time the person picks the matching set of eight words from three. If the account words do not match, select They don’t match on the new device. That withdraws it and nothing is shared. A server in the middle that tried to put in its own key would produce different words.

The same words check is used where a person could be tricked into trusting the wrong key: when a Recovery Group member restores you, when you confirm the Recovery Group, when a member is added to it, and when you add a manager to a vault.

Your browser also keeps what it has verified: the people’s keys it has seen, how far each vault’s record and the Recovery Group’s record have got. That is your trust state. It is signed with your keys, encrypted so 3mote cannot read it, and kept in sync across your devices, so a second device or a restored kit can start from what you already checked. A restored or newly approved device takes whatever genuine copy the server serves, which can be an older one. A browser that is already set up warns you if its saved checks go missing or move backwards. Start fresh in this browser is the way past it, after a confirmation that says what you give up: the browser will trust whatever it is shown next.

When you remove a device that was lost or stolen, your keys are replaced, every vault you can open is re-locked to the new keys, and you are signed out everywhere. Because a stolen key can act as you until it is replaced, a review then lists the changes made with the old key that this browser did not make, such as people it added to a vault. For each you choose I made this change, or Remove them and re-key.

The Recovery Kit

Your Recovery Kit is a PDF made in your browser. It holds your Recovery Code, which can restore your access on a new device in a supported browser. 3mote never sees the code. Anyone holding the kit can open everything you can, so keep it where you keep your passport. Making a new kit replaces your account key, so the old one stops working.

Ways to get back inThree paths: approve the new device from another trusted device, use your Recovery Kit, or ask the Recovery Group, whose member compares eight words with you and restores access after a wait if you still have a device.You can't open Passwords on this deviceYou have anothertrusted deviceApprove this devicefrom the trusted oneCompare the two lines ofeight words on both screensTap ApproveYou have yourRecovery KitChoose Use myRecovery KitType the Recovery Codeor scan the QRRestore access;make a new kit if unsureYou have neitherChoose Ask yourRecovery GroupA member compares theeight words with youWait 24 hours if youstill have a deviceThe member restores you;you confirm their wordsThe Recovery Group is a list of people your workspace names.Every change is signed and added to a record. Your browser checksthe whole record and refuses one that was cut short or forked.You confirm the group by comparing words with a member.
Three ways back in, and what the Recovery Group's signed record is for.

The Recovery Group and its signed record

The Recovery Group is an explicit list of people, never “everyone who is an owner”. A member can restore a locked-out person (with a 24-hour wait if that person still has a trusted device) and can take over a departed person’s Private vault after a 24-hour wait that an owner can cancel. Members can open every vault that has a recovery path for the group, by design, so choose them with care. Vaults the group can open list it, and a member is shown which vaults a restore covers.

The list is kept as a signed record. Every change adds one entry (set up the group, add a member, remove a member, a member replacing their keys, a restore). Each entry is signed by a member who was already in the group. Your browser checks the whole record, from the first entry, before it trusts the group, and it remembers the latest entry it saw. If 3mote shows a different list, a shorter record or a changed one, your browser refuses it.

Your browser does not use the group until you confirm it. You compare one member’s account words with them, and that member must have signed an entry in the record under exactly those keys. Until you do, nothing is locked for the group, adding or removing members and changing the Private vault setting wait, and some vaults show a prompt to confirm your Recovery Group, with a button. A vault made in that time has no recovery path for the group until a later record in the vault adds one.

Adding a member is done in the foreground by an existing member, who compares the new member’s eight words with them in person or by phone. A member is removed by another member, never by themselves.

How an agent uses an item, with your permission

How an agent uses an item with your permissionSequence: the agent asks to use an item, 3mote notifies the person, the person's own device locks the item keys to that one workstation session and sends them, 3mote hands them to the workstation, which applies the value without showing it to the agent. A revoke or the end of the session drops the keys.AI agent onits workstation3mote servers(cannot read values)The person(their browser)1. Asks to use an item,with a short reason2. Notifies the personthe agent works for3. On their device: check theworkstation, pick items, lockthe item keys to that one session4. Sends only locked keys,never values5. Hands the locked keys over,re-checking access each time6. Opens them in memory and appliesthe value. The model never sees it.7. Revoke, or the session ends:the keys are dropped
A grant, step by step. The person's own device does the encrypting. 3mote only carries locked keys.

An agent that is working on a workstation asks to use an item, with a short reason that is clearly marked as written by the agent. The request names items by id, so 3mote does not store the titles of the items it asks for. Your own browser decrypts the titles it shows you next to the ids. The reason is the agent’s own free text: it is stored readable, and it may name items. The person it works for is notified. They open the request, which shows the workstation, the agent, the person it works for and a link to the card. Their device checks that the request comes from the agent’s real workstation session, then they pick the items and select Grant for this session.

Their device locks the item keys to that one session, and 3mote carries the locked keys to the workstation. 3mote cannot open them. On the workstation, a program that is not the agent applies the value for it: it adds a header to a web request to an address the item allows, loads an SSH key into a key agent that can only reach the hosts the item names, or fills a sign-in form in one step. The agent gets the outcome, never the value. The runner checks text output for granted values, and one that carries a value is withheld and replaced with a notice. Screenshots and some short fragments are not covered, as the limits below say. After three withheld outputs in one session, the workstation stops that session. If the same item is caught three times in a week, across all agents, it is paused for every agent until a manager of the vault clears it. The vault’s managers are notified when that happens, and the clearing screen tells them to change the value at its service first.

A grant ends when the session ends, when you revoke it, when anything that gave the agent its access changes, or at the expiry of the workstation’s session certificate, even if the session was extended. After a revoke, the workstation drops its keys within about a minute.

How an agent uses an Automation vault

How an agent uses an Automation vaultSequence: the agent asks to use an item, 3mote checks access and records the use before anything else, then asks AWS KMS to open the vault key with the key 3mote holds, and sends the agent's workstation the item's key locked to that session.AI agent onits workstation3mote serversAWS KMS(3mote's agent key)1. Asks to use an itemin an Automation vault2. Checks the agent, the vault and theperson the agent works for3. Records the use first.No record, no key.4. Asks KMS to openthe vault key5. Returns the vault key(held only for a moment)6. Sends the item's key, locked tothis session. It lasts up to 1 hour.7. Applies the value. The model neversees it. Every use is in Activity.
The use is recorded before the key is released. If it cannot be recorded, nothing is released.

An Automation vault works without a person in the loop. When an agent uses an item, 3mote checks the agent, the vault and the person the agent is working for, and writes the record of the use first. Then 3mote asks AWS KMS to open the vault key with the key it holds, and hands the workstation the item’s key, locked to that session. It lasts up to an hour.

3mote does not read values. But it holds a key that could open the vault, and a compromised 3mote could use it. That is the reason for the badge, the record of every use, and the advice to rotate a value that an agent could use before you turn Automation off. Holding the key yourself is coming, on Enterprise.

What 3mote stores and what it never sees

What 3mote stores and what it never seesTwo columns. 3mote stores encrypted items and keys, public keys, vault names, membership, device labels and the activity log. 3mote never sees titles, usernames, websites, notes, passwords, tokens, 2FA setup keys, SSH private keys, your Recovery Code or your device keys. An Automation vault is the exception, because 3mote holds a key that opens it.3mote storesEncrypted items (two pieces each)Encrypted keys (locked copies)Public keys of people and groupsVault names and who can open each vaultItem types and rough sizesDevice labels you choseThe activity log (who, what, when)3mote never seesItem titles and usernamesWebsites and notesPasswords, tokens and 2FA setup keysSSH private keysThe values an agent usesYour Recovery CodeThe keys on your devicesException: an Automation vault is also opened by a key 3mote holds in AWS KMS.That is why it is never called zero-knowledge, and why every use is recorded.
What sits on 3mote's servers, and what never reaches them.

3mote stores encrypted items and keys, the public keys of people and groups, vault names, who can open each vault and with what permission, rough item sizes and types, the labels of your devices and the activity log. From that it can tell who shares a vault with whom, how often items are opened and how big they are. For Private and shared vaults, it cannot tell what is in them. Automation vaults are the exception.

It never sees item titles, usernames, websites, notes, passwords, tokens, 2FA setup keys, SSH keys, your Recovery Code or your device keys. The activity log records that something was revealed or copied, never what. Titles and types of items an agent lists reach the AI provider your workspace chose for that agent. The agent is not given the values, but the safeguards cannot prevent every possible leak, as the limits below say.

The limits, honestly

No design removes every risk. These are the ones you should know about. They come in two groups: what an attacker could do once they have something of yours, and what we ask you to trust.

Attacks that need something of yours, or of ours

  • 3mote serves the code your browser runs. Passwords is a web app. A malicious or compromised build of that code could read your keys while you use it. The same is true of 1Password’s and Bitwarden’s web vaults. We restrict what that code can load with an enforced content security policy, and more controls are planned. This is the ceiling for protection against 3mote itself.
  • A value an agent has used may have been copied. An agent that can use a value to sign in or call an API can do things with it. Allowed hosts on each item, the activity log and your review of an agent’s work limit the harm. A revoke removes the grant. It cannot take back a value already used, end sign-ins and tokens already created, or reliably stop a compromised workstation. Rotate the password, key or token at its service if you need to be sure.
  • A site can show a value back. If an agent sends a token to a website that echoes it in a reply, the value is in that reply. 3mote withholds output it recognises, but cannot catch every way a site might show it. Screenshots are not scanned. A password made only of letters can leave in pieces of up to 15 characters before the check reacts.
  • Withholding an output answers a yes or no. An agent can learn a little about a value from which outputs get withheld. We stop the session after three, and pause the item after three in a week, so only a few characters can leak between clearings. That is why the clearing screen tells a manager to change the value at its service first.
  • Sign-ins and tokens made during a grant can outlast it. Signing in can start a web session, and an API can issue a new token. A revoke does not end those. End them at the service.
  • A compromised workstation holds what it was given. If someone takes over a workstation, it holds the granted keys, and up to an hour of released Automation keys, until the session ends.
  • The Recovery Group can open every vault it covers. A member acting in bad faith could read every vault they can restore. Choose members you would trust with the keys, and keep the list short.
  • A lost or stolen Recovery Kit gives access. It is the same exposure as any recovery key. Keep it safe, and make a new one if it may have been seen.
  • A key that 3mote holds can open an Automation vault. We say so on the vault.
  • Metadata is visible to 3mote. See the section above.
  • Reveal and copy are reported by your browser. A modified browser could leave them out of the activity log.

What you have to trust, even with the signed records

The signed records and your saved checks make it much harder for 3mote to quietly change who can open a vault. These are the limits that remain. None is closed without a new mechanism, and each is trust that any end-to-end encrypted password manager with a server-held directory places in its server.

  • The first time you meet a key, you trust the one 3mote shows you, unless you checked it with words. A person your browser has never seen is whoever the directory says. The first share to them is marked New to this browser, adding a manager needs a words comparison, and your saved checks mean you rarely start from nothing. Rarely is not never.
  • 3mote could show two people different views. There is no public log of everyone’s keys. A hostile server could withhold a key change from someone who has not seen it yet and keep serving the old key, including serving only a thief’s change. Your browser’s checks only ever move forward, so it will not let its own view go backwards, but they do not make two people’s views agree. The Recovery Kit and removing a device bound the damage.
  • A first answer can be old but genuine. A device restored with a kit, or approved from another device, takes the saved checks 3mote serves. That could be an older copy, or none. A missing copy raises a warning that clears only when an approval brings your own, or when you choose Start fresh. The first time you confirm the Recovery Group by words, you could land on an old list whose key a since-removed member still has. That needs that member to cooperate with a hostile server. A group that nothing but 3mote vouches for is never used to judge a vault or a key change: you confirm it with words first.
  • What a stolen key signed before you replaced it counts as your own act. A thief and a hostile server could add people to a vault in that window, and your key change then commits to it. After you remove a device as lost or stolen, a review lists changes made with the old key that this browser did not make, and offers to remove the people they added and re-key. It is a convenience, not a guarantee: the date on a change is whatever its signer wrote, so a thief could backdate one and leave it out of the list.
  • Some trust is held by the server and shown to you. Which agents are members of a vault, the key 3mote holds on Automation vaults, and the names shown in confirmation dialogs all come from 3mote. A confirmation from a person who is not a manager binds to the keys a manager listed, not to a name.
  • 3mote can always make a vault or the group unverifiable. That is a denial of service. It cannot make your browser lock a key to a key it invented: nothing is shared for a vault or group whose record does not check out. Some honest situations can also leave a vault or the Recovery Group unverifiable. When a vault cannot be verified, the way out is to move its items to a new vault.
  • A hostile server that also holds a key you have retired is the open threat. The rules that decide which keys are yours are the part still under review. They hold for a browser that has saved a checkpoint and the record of the key replacement. For any other, such a server can still cause an unverifiable vault or group, or a wrong first impression, as in the points above. Do not treat this threat model as closed until the external review is done.

This design is specified in detail and has been reviewed internally. It has not yet had an independent external review. One is planned before customer launch, and these key-trust rules are the part it will examine.