Recovery key and recovery kit
Your synced data is encrypted with a key that your master password unlocks (some screens call it the sync password). ZestSSH never has your master password, so it cannot reset it. The recovery key is the one other way into your synced vault: with it you bring your data back and choose a new master password.
A recovery key looks like ZEST-XXXX-XXXX-XXXX-XXXX-XXXX: ZEST and 20 random characters, in groups of four. The characters are capital letters and the digits 2 to 9, without the ones that are easy to mix up (0 and O, 1, I and L). The key is made on your device, shown once, and never kept on the device. The recovery kit is that key on one page, with what it is for and how to use it. A team invite code has the same shape but only lets someone join a team, and a redeem code, which unlocks a plan or gives a team seats, has three groups after ZEST- (ZEST-XXXX-XXXX-XXXX; older ones have two).
The recovery key and the kit work on phones and computers, with ZestSSH Cloud and with your own storage.
Where to find it
Section titled “Where to find it”Everything on this page is on the Account page:
- On a computer: Settings > Account and security.
- On a phone: More > Account.
Once sync is set up on the device, the Security section has a Recovery key row that says whether your vault has one. It shows Saved when it does. Before sync is set up, the section says “Master password and recovery key appear here once sync is set up.”
Make your recovery key
Section titled “Make your recovery key”When you set up sync
Section titled “When you set up sync”When you set up sync for the first time, ZestSSH shows your recovery key right after you choose your master password. Follow Save the key below.
A device that joins a vault you already have gets no new key: the one you made then still works.
If setup stops before the key is saved, the Account page shows Finish setting up, with Save your recovery key as its third step and a Save recovery key button.
Later, or to replace a lost one
Section titled “Later, or to replace a lost one”- On the Account page, under Security, find Recovery key. Choose Make one if your vault has none, or Replace.
- In New recovery key, enter your master password and choose Continue. ZestSSH checks it against your sync storage.
- Save the new key, see Save the key.
Your old key keeps working until the new one is saved to your sync. Then ZestSSH says “New recovery key saved. Your old one no longer works.” If saving fails, ZestSSH says why and offers Retry, which saves the same key, so the key you saved stays the one that works. If you give up instead, nothing changes: ZestSSH tells you to throw the new key away, and your old one still works.
Making a key needs sync set up on the device. Otherwise ZestSSH says “Sync isn’t set up on this device.”
Save the key
Section titled “Save the key”The Your recovery key screen shows the key once. Save it in at least one way before you can go on:
- Copy puts it on the clipboard. ZestSSH takes it off the clipboard 45 seconds later, or when the app locks, unless you copied something else over it.
- Download .txt saves the kit as a text file,
ZestSSH-Recovery-Kit.txt.- On a computer you choose where (the Downloads folder to begin with). The file is then made readable by your user account alone: on Windows only your account gets read and write access to it, and on macOS and Linux its permissions become 600. If that cannot be done, the file is deleted and ZestSSH says so. Then ZestSSH shows where the file went.
- On a phone, the system’s own save dialog opens.
- Print prints the kit on one A4 page drawn by the app, so it reads right in each of the app’s twelve languages. It counts as saved only when the page was printed or saved from the print dialog.
Then, beside I’ve saved it somewhere safe, choose Confirm. Until you have saved the key one way, that button says Save your key to continue.
With Recording mode on, the key is hidden behind Reveal, and ZestSSH asks before it copies, saves or prints it.
What the kit holds
Section titled “What the kit holds”- the account it is for (your sign-in address, when you are signed in to a ZestSSH account),
- the date it was made,
- the recovery key itself,
- what it is, how to use it, where to keep it, and how to check or replace it.
Keep it
Section titled “Keep it”- Offline and away from your devices: printed and put somewhere safe, or in a password manager other than ZestSSH.
- Not only on this device. If the device is lost, a key kept only on it is lost with it.
- Private. Anyone with the key and access to your account or your sync storage can open your vault.
Check that it still works
Section titled “Check that it still works”Check your kit now and then, so a lost or mistyped kit is found out while you still know your master password.
- On the Account page, under Security, choose Check next to Recovery key.
- In Check your recovery key, type the key from your kit and choose Check. Spaces, dashes and capital letters do not matter.
Nothing changes: ZestSSH only reads your sync storage and does the check on your device. It answers:
| Answer | What to do |
|---|---|
| Your recovery key works | Nothing. Keep the kit where it is. |
| ”This key does not open your vault.” | The box stays open. Check each character and type it again, or make a new key while you still know your master password. |
| This key opens another vault | It opens a vault, but not the one this device syncs with. Choose Make a new key and keep the new kit. |
| No recovery key is stored | Your vault has none yet. Choose Make a new key. |
A key that does not look like one is refused before anything is checked: “A recovery key starts with ZEST and has 20 letters and digits after it.”
Use it
Section titled “Use it”Use the recovery key when you set up sync on a device and do not know your master password, for example on a new phone.
- Install ZestSSH and open the Account page.
- Sign in to your ZestSSH account. If you sync to your own storage, choose the same storage on the Storage row of the Sync section instead.
- Choose Set up sync. ZestSSH finds your vault and asks for your master password in Unlock cloud sync.
- Choose Forgot it? Use your recovery key.
- In Restore with recovery key, type the key as your kit shows it and choose Continue. Spaces, dashes, line breaks and capital letters do not matter.
- ZestSSH brings your data back to the device, then asks you to choose a new master password. Type it twice.
Your recovery key keeps working after this. If you close the new password step, your data stays restored on the device, and sync stays off until you set a new master password.
If ZestSSH says “That recovery key didn’t work. Double-check it and try again.”, with an error code, your storage refused the key. If something else stopped the restore, for example your storage could not be reached, ZestSSH says what it was instead, and nothing is said against the key.
How it works
Section titled “How it works”- Your data is encrypted with a random 256-bit data key. Your master password and your recovery key each unlock their own wrapped copy of that data key.
- The recovery key is stretched with Argon2id, with the same settings as your master password and its own random 32-byte salt, into a 256-bit key. That key wraps the data key with AES-256-GCM.
- Your sync storage keeps that wrapped copy and the salt, never the recovery key. It also keeps a 32-byte check value derived from the stretched key (HKDF-SHA256, then SHA-256), which lets a restore be confirmed without the key being seen: by the server on ZestSSH Cloud, by your device on your own storage.
See How your synced data is encrypted for the whole design.
Things to know
Section titled “Things to know”- One key per vault. Making a new key retires the old one. A key from another vault does not open yours.
- Your master password is separate. Changing it does not change the recovery key. See Cloud sync.
- A team has its own recovery. Getting back into a team after losing every device is a different process: see Team recovery.