Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 23 additions & 23 deletions guide/private-key-management/backups.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
layout: guide
title: Bitcoin backups
description: A beginner's guide to Bitcoin backups.
nav_order: 4
nav_order: 8
parent: Private key management
permalink: /guide/private-key-management/backups/
main_classes: -no-top-padding
Expand All@@ -17,7 +17,7 @@ A guide meant to lower the barrier for first time users of self-custody wallets.

Illustration sources

//
//

-->

Expand DownExpand Up@@ -57,7 +57,7 @@ The main risks that backups need to protect against are:

## Backup levels, basic to advanced

A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.
A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.

Let’s look at some real life examples of backup methods for single-key wallets and what they protect against.

Expand All@@ -83,7 +83,7 @@ Level 2, 3 or 4 are recommended for storing larger amounts.
<br>

#### Level 0
## Encrypted cloud backup
## Encrypted cloud backup

By storing the recovery-phrase in an online location that is encrypted (not in plain text) and hard to access by anyone other than yourself, you are protected against *loss of wallet*. This is the absolute minimum you should do and only takes a few minutes.

Expand All@@ -99,12 +99,12 @@ By storing the recovery-phrase in an online location that is encrypted (not in p
- Use an encrypted password manager like 1Password, LastPass, iCloud Keychain
- Alternatively, use a wallet application with automatic cloud backup

**Don’t**
**Don’t**
- Screenshot the recovery-phrase and save it in Google Photos, iCloud photos
- Write down the recovery-phrase in plain text on your device, Google Docs etc.

**Suitable for**
- For small amounts (less than a months salary)
- For small amounts (less than a months salary)
- When you can't wait to set up a new wallet until you are at home

<br>
Expand All@@ -129,7 +129,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Scribble the recovery-phrase on a scrap of paper using a pencil
- Stick it on the fridge, or other visible locations

Expand All@@ -142,7 +142,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
#### Level 2
## Single metal backup

By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.
By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.

The best metal backup solutions are resistant to most physical damage, including fire, acid and high pressure.

Expand All@@ -156,13 +156,13 @@ The best metal backup solutions are resistant to most physical damage, including
%}


**Do**
**Do**
- Order a dedicated metal backup product, recommendations can be found [here](https://jlopp.github.io/metal-bitcoin-storage-reviews/)
- Follow the instructions and make sure the phrase is indented, etched, engraved or set properly
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Skip ordering a dedicated product, invent your own metal backup solution

**Suitable for**
Expand All@@ -172,13 +172,13 @@ The best metal backup solutions are resistant to most physical damage, including

#### Level 3
## Single backup with discovery protection
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.

To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.
To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.

While this level provides more protection, it also adds complexity to your backup setup. For most beginners storing small amounts it might not be worth the effort from the start and can be a later consideration should the funds grow.

Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.
Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.

If a bad actor discovers only the recovery-phrase, they will find an empty wallet. Alternatively, one can deliberately leave a small amount of bitcoin in this wallet as a honey-pot, and monitor it for any withdrawals to know if it has been discovered.

Expand All@@ -197,12 +197,12 @@ It's worth noting that most hardware wallets support pass-phrases, while most so
%}


**Do**
**Do**
- Use a secure pass-phrase, it is case sensitive and can include numbers and special characters
- Have redundant and secure backups of both the recovery-phrase and the pass-phrase, they are equally important for successful wallet recovery
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase

**Don’t**
**Don’t**
- Store the recovery-phrase and pass-phrase together
- Forget to document your setup for next-of-kin

Expand All@@ -216,13 +216,13 @@ Set up a hardware wallet from the recovery and pass-phrase that uses a PIN to pr

<br>

#### Level 4
#### Level 4
## Multiple backups with discovery protection
One remaining flaw with the single offline backup levels is that severe damage to the one location where they are stored, could lead to the backup not being usable. This could be a fire, flood, earthquake or similar, all more or less likely depending on where you live.

To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.
To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.

As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.
As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.

{% include image.html
image = "/assets/images/guide/private-key-management/backups/multiple-discoveryprotection.jpg"
Expand All@@ -232,11 +232,11 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
height = 420
%}

**Do**
**Do**
- Make sure you have reduntant copies of all parts of the backup in several locations
- Document your setup well for next-of-kin now that complexity has increased

**Don’t**
**Don’t**
- Forget to safely store the pass-phrases or PINs

**Suitable for**
Expand All@@ -248,9 +248,9 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
---

## Inheritance instructions
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.

Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.
Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.

At a minimum, document each wallet with a given name (Bob’s Bitcoin wallet 1), how to recover it, when it was created and what application was used to create the wallet. Ideally this document has all the instructions required to recover the wallet, but not the information itself (*recovery-phrase*, *pass-phrase* etc.), as that might expose you to theft on discovery risks.

Expand Down
86 changes: 86 additions & 0 deletions guide/private-key-management/cloud-backup.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
---
layout: guide
title: Automatic cloud backup
description: An overview of personal private key management schemes.
nav_order: 2
parent: Private key management
permalink: /guide/private-key-management/cloud-backup/
main_classes: -no-top-padding
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

{% include picture.html
image = "/assets/images/guide/private-key-management/personal.jpg"
retina = "/assets/images/guide/private-key-management/personal@2x.jpg"
mobile = "/assets/images/guide/private-key-management/personal-mobile.jpg"
mobileRetina = "/assets/images/guide/private-key-management/personal-mobile@2x.jpg"
alt-text = "Shared schemes header illustration"
width = 1600
height = 600
layout = "full-width"
%}

# Automatic cloud backup

By using an automatic cloud backup for the private key the user is NOT required to manually backup anything when setting up a new [bitcoin wallet]({{ '/guide/glossary/#bitcoin-wallet' | relative_url }}). This is sometimes also called *seedless*, as the user is never exposed to the traditional *seed*, or [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) that is used to initiate a wallet.

This scheme can be used for those new to bitcoin, or novices who would find manually backing up a recovery phrase during onboarding confusing, possibly leading to unsafe backups. It could also be a starting point for a progressive security model that lets customers upgrade when they start accumulating more funds.

The automatic cloud backup scheme gives users reasonable security against theft, while providing low risk for self-inflicted losses.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/cloud-backup.jpg"
retina = "/assets/images/guide/private-key-management/schemes/cloud-backup@2x.jpg"
alt-text = "Automatic cloud backup illustration"
caption = "Private keys are encrypted and stored in the cloud."
width = 800
height = 400
%}

### How it works
First the application generates a wallet with a keypair. Then, the key is encrypted and backed up to a location convenient and safe for the user, yet hard for a malicious third-party to gain access to.


With most implementations so far, the location will be the keychain or a user-specific key-value-store on a mobile device that is also backed up by the OS provider. The most common would be iOS (iCloud) and Android (Google Drive) which both have secure data storage that is backed up and synced between a user's devices.

This makes the backup accessible by the user on a new device, should they lose the original, but only accessible by someone that can log into the user’s Apple or Google account.

{% include fact/pros.html %}

- Low onboarding friction
- Low risk of self-inflicted loss due to the automatic nature

{% include fact/close.html %}

{% include fact/cons.html %}

- Private key in cloud storage increases risk of malicious third party access
- User needs to trust their OS and cloud storage provider
- Unless the backup includes the recovery phrase users will not be able to export their wallet to another product

{% include fact/close.html %}

### Best practice

**When to use**
- When risk of self-inflicted loss is higher than loss from theft
- For beginners, or products with progressive security
- For lower values

**When not to use**
- When storing high values
- When risk of loss from theft is higher than self-inflicted loss
- When complete self-sovereignty is important to the target audience

**Variations**
- Storage location (keychain, iCloud, Google Drive, One Password etc.)
- Additional user authentication (biometrics, pin)

**Products that use this scheme**
- [Photon SDK](https://photonsdk.org) - for use by other wallets, in development
- [Casa](https://keys.casa)
- [Pine](https://pine.pm ) - Lightning, beta

---

Next, let's look at [manual backups]({{ '/guide/private-key-management/manual-backup/' | relative_url }}).
83 changes: 83 additions & 0 deletions guide/private-key-management/external-signing-device.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
---
layout: guide
title: External signing device
description: An overview of personal private key management schemes.
nav_order: 4
parent: Private key management
permalink: /guide/private-key-management/external-signing-device/
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

<!--

Editor's notes

Descriptions of schemes suitable for a single user.

-->

# External signing device

The most common external signing devices are hardware wallets who’s makers often provide their own software to pair with. But, there are also third party wallet applications that support external signing, or software, that can be run on offline on airgapped computers to perform the same function.

A wallet application that supports external signing can remove the need for the private key to be readable by the wallet software, thereby decreasing the risk of keeping keys on a device that is likely always connected to the internet.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/signing-devices.jpg"
retina = "/assets/images/guide/private-key-management/schemes/signing-devices@2x.jpg"
alt-text = "External signing device illustration"
caption = "Hardware wallets are the most common external signing devices."
width = 800
height = 400
%}

### How it works
The external device can generate and store a keypair offline. Therefore, the private key has never been known outside the device. A software wallet can connect to the signing device and act as an interface, or handle transactions air gapped from the device.

When a transaction needs to be signed, the software submits a partially signed bitcoin transaction (PSBT, defined in [BIP174](https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki)) to the device. The user confirms on the device and the PSBT state of the transaction returned to the software wallet application is now fully signed and can be transmitted to the blockchain. This process can also happen fully air gapped by using memory cards instead of cables or wireless connections, to keep the device offline at all times.

{% include fact/pros.html %}

- Removes private key from online devices
- Can provide very high security if used correctly

{% include fact/close.html %}

{% include fact/cons.html %}

- Purchase of specialized hardware required
- Requires further effort and knowledge to setup correctly
- Still requires a good manual backup for redundancy

{% include fact/close.html %}

### Best practice

**When to use**
- When storing medium to large amounts
- When risk of loss from theft is higher than loss from negligence
- When target audience is likely to be very knowledgeable or motivated to learn good manual backup schemes

**When not to use**
- When most users are new to bitcoin and unlikely to implement good backup schemes
- When transactions are likely to be frequent and low value

**Variations**
- Interfaces (bluetooth, USB, microSD card, camera, NFC)
- Platform compatibility
- Additional user authentication (pin or password)

**Products that use this scheme**
- [Electrum]({{ 'https://electrum.org'}})
- [Wasabi]({{ 'https://wasabiwallet.io'}})
- [Bluewallet]({{ 'https://bluewallet.io'}})

**Hardware wallets**
- [Trezor]({{ 'https://trezor.io'}})
- [Ledger]({{ 'https://www.ledger.com'}})
- [Keepkey]({{ 'https://shapeshift.com/keepkey'}})
- [Coldcard]({{ 'https://coldcardwallet.com'}})

---

Next, let's look at [key sharing]({{ '/guide/private-key-management/key-sharing/' | relative_url }}).
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Split private key management section into more pages by GBKS · Pull Request #283 · BitcoinDesign/Guide · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 23 additions & 23 deletions guide/private-key-management/backups.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
layout: guide
title: Bitcoin backups
description: A beginner's guide to Bitcoin backups.
nav_order: 4
nav_order: 8
parent: Private key management
permalink: /guide/private-key-management/backups/
main_classes: -no-top-padding
Expand All@@ -17,7 +17,7 @@ A guide meant to lower the barrier for first time users of self-custody wallets.

Illustration sources

//
//

-->

Expand DownExpand Up@@ -57,7 +57,7 @@ The main risks that backups need to protect against are:

## Backup levels, basic to advanced

A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.
A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.

Let’s look at some real life examples of backup methods for single-key wallets and what they protect against.

Expand All@@ -83,7 +83,7 @@ Level 2, 3 or 4 are recommended for storing larger amounts.
<br>

#### Level 0
## Encrypted cloud backup
## Encrypted cloud backup

By storing the recovery-phrase in an online location that is encrypted (not in plain text) and hard to access by anyone other than yourself, you are protected against *loss of wallet*. This is the absolute minimum you should do and only takes a few minutes.

Expand All@@ -99,12 +99,12 @@ By storing the recovery-phrase in an online location that is encrypted (not in p
- Use an encrypted password manager like 1Password, LastPass, iCloud Keychain
- Alternatively, use a wallet application with automatic cloud backup

**Don’t**
**Don’t**
- Screenshot the recovery-phrase and save it in Google Photos, iCloud photos
- Write down the recovery-phrase in plain text on your device, Google Docs etc.

**Suitable for**
- For small amounts (less than a months salary)
- For small amounts (less than a months salary)
- When you can't wait to set up a new wallet until you are at home

<br>
Expand All@@ -129,7 +129,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Scribble the recovery-phrase on a scrap of paper using a pencil
- Stick it on the fridge, or other visible locations

Expand All@@ -142,7 +142,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
#### Level 2
## Single metal backup

By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.
By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.

The best metal backup solutions are resistant to most physical damage, including fire, acid and high pressure.

Expand All@@ -156,13 +156,13 @@ The best metal backup solutions are resistant to most physical damage, including
%}


**Do**
**Do**
- Order a dedicated metal backup product, recommendations can be found [here](https://jlopp.github.io/metal-bitcoin-storage-reviews/)
- Follow the instructions and make sure the phrase is indented, etched, engraved or set properly
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Skip ordering a dedicated product, invent your own metal backup solution

**Suitable for**
Expand All@@ -172,13 +172,13 @@ The best metal backup solutions are resistant to most physical damage, including

#### Level 3
## Single backup with discovery protection
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.

To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.
To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.

While this level provides more protection, it also adds complexity to your backup setup. For most beginners storing small amounts it might not be worth the effort from the start and can be a later consideration should the funds grow.

Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.
Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.

If a bad actor discovers only the recovery-phrase, they will find an empty wallet. Alternatively, one can deliberately leave a small amount of bitcoin in this wallet as a honey-pot, and monitor it for any withdrawals to know if it has been discovered.

Expand All@@ -197,12 +197,12 @@ It's worth noting that most hardware wallets support pass-phrases, while most so
%}


**Do**
**Do**
- Use a secure pass-phrase, it is case sensitive and can include numbers and special characters
- Have redundant and secure backups of both the recovery-phrase and the pass-phrase, they are equally important for successful wallet recovery
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase

**Don’t**
**Don’t**
- Store the recovery-phrase and pass-phrase together
- Forget to document your setup for next-of-kin

Expand All@@ -216,13 +216,13 @@ Set up a hardware wallet from the recovery and pass-phrase that uses a PIN to pr

<br>

#### Level 4
#### Level 4
## Multiple backups with discovery protection
One remaining flaw with the single offline backup levels is that severe damage to the one location where they are stored, could lead to the backup not being usable. This could be a fire, flood, earthquake or similar, all more or less likely depending on where you live.

To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.
To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.

As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.
As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.

{% include image.html
image = "/assets/images/guide/private-key-management/backups/multiple-discoveryprotection.jpg"
Expand All@@ -232,11 +232,11 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
height = 420
%}

**Do**
**Do**
- Make sure you have reduntant copies of all parts of the backup in several locations
- Document your setup well for next-of-kin now that complexity has increased

**Don’t**
**Don’t**
- Forget to safely store the pass-phrases or PINs

**Suitable for**
Expand All@@ -248,9 +248,9 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
---

## Inheritance instructions
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.

Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.
Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.

At a minimum, document each wallet with a given name (Bob’s Bitcoin wallet 1), how to recover it, when it was created and what application was used to create the wallet. Ideally this document has all the instructions required to recover the wallet, but not the information itself (*recovery-phrase*, *pass-phrase* etc.), as that might expose you to theft on discovery risks.

Expand Down
86 changes: 86 additions & 0 deletions guide/private-key-management/cloud-backup.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
---
layout: guide
title: Automatic cloud backup
description: An overview of personal private key management schemes.
nav_order: 2
parent: Private key management
permalink: /guide/private-key-management/cloud-backup/
main_classes: -no-top-padding
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

{% include picture.html
image = "/assets/images/guide/private-key-management/personal.jpg"
retina = "/assets/images/guide/private-key-management/personal@2x.jpg"
mobile = "/assets/images/guide/private-key-management/personal-mobile.jpg"
mobileRetina = "/assets/images/guide/private-key-management/personal-mobile@2x.jpg"
alt-text = "Shared schemes header illustration"
width = 1600
height = 600
layout = "full-width"
%}

# Automatic cloud backup

By using an automatic cloud backup for the private key the user is NOT required to manually backup anything when setting up a new [bitcoin wallet]({{ '/guide/glossary/#bitcoin-wallet' | relative_url }}). This is sometimes also called *seedless*, as the user is never exposed to the traditional *seed*, or [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) that is used to initiate a wallet.

This scheme can be used for those new to bitcoin, or novices who would find manually backing up a recovery phrase during onboarding confusing, possibly leading to unsafe backups. It could also be a starting point for a progressive security model that lets customers upgrade when they start accumulating more funds.

The automatic cloud backup scheme gives users reasonable security against theft, while providing low risk for self-inflicted losses.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/cloud-backup.jpg"
retina = "/assets/images/guide/private-key-management/schemes/cloud-backup@2x.jpg"
alt-text = "Automatic cloud backup illustration"
caption = "Private keys are encrypted and stored in the cloud."
width = 800
height = 400
%}

### How it works
First the application generates a wallet with a keypair. Then, the key is encrypted and backed up to a location convenient and safe for the user, yet hard for a malicious third-party to gain access to.


With most implementations so far, the location will be the keychain or a user-specific key-value-store on a mobile device that is also backed up by the OS provider. The most common would be iOS (iCloud) and Android (Google Drive) which both have secure data storage that is backed up and synced between a user's devices.

This makes the backup accessible by the user on a new device, should they lose the original, but only accessible by someone that can log into the user’s Apple or Google account.

{% include fact/pros.html %}

- Low onboarding friction
- Low risk of self-inflicted loss due to the automatic nature

{% include fact/close.html %}

{% include fact/cons.html %}

- Private key in cloud storage increases risk of malicious third party access
- User needs to trust their OS and cloud storage provider
- Unless the backup includes the recovery phrase users will not be able to export their wallet to another product

{% include fact/close.html %}

### Best practice

**When to use**
- When risk of self-inflicted loss is higher than loss from theft
- For beginners, or products with progressive security
- For lower values

**When not to use**
- When storing high values
- When risk of loss from theft is higher than self-inflicted loss
- When complete self-sovereignty is important to the target audience

**Variations**
- Storage location (keychain, iCloud, Google Drive, One Password etc.)
- Additional user authentication (biometrics, pin)

**Products that use this scheme**
- [Photon SDK](https://photonsdk.org) - for use by other wallets, in development
- [Casa](https://keys.casa)
- [Pine](https://pine.pm ) - Lightning, beta

---

Next, let's look at [manual backups]({{ '/guide/private-key-management/manual-backup/' | relative_url }}).
83 changes: 83 additions & 0 deletions guide/private-key-management/external-signing-device.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
---
layout: guide
title: External signing device
description: An overview of personal private key management schemes.
nav_order: 4
parent: Private key management
permalink: /guide/private-key-management/external-signing-device/
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

<!--

Editor's notes

Descriptions of schemes suitable for a single user.

-->

# External signing device

The most common external signing devices are hardware wallets who’s makers often provide their own software to pair with. But, there are also third party wallet applications that support external signing, or software, that can be run on offline on airgapped computers to perform the same function.

A wallet application that supports external signing can remove the need for the private key to be readable by the wallet software, thereby decreasing the risk of keeping keys on a device that is likely always connected to the internet.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/signing-devices.jpg"
retina = "/assets/images/guide/private-key-management/schemes/signing-devices@2x.jpg"
alt-text = "External signing device illustration"
caption = "Hardware wallets are the most common external signing devices."
width = 800
height = 400
%}

### How it works
The external device can generate and store a keypair offline. Therefore, the private key has never been known outside the device. A software wallet can connect to the signing device and act as an interface, or handle transactions air gapped from the device.

When a transaction needs to be signed, the software submits a partially signed bitcoin transaction (PSBT, defined in [BIP174](https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki)) to the device. The user confirms on the device and the PSBT state of the transaction returned to the software wallet application is now fully signed and can be transmitted to the blockchain. This process can also happen fully air gapped by using memory cards instead of cables or wireless connections, to keep the device offline at all times.

{% include fact/pros.html %}

- Removes private key from online devices
- Can provide very high security if used correctly

{% include fact/close.html %}

{% include fact/cons.html %}

- Purchase of specialized hardware required
- Requires further effort and knowledge to setup correctly
- Still requires a good manual backup for redundancy

{% include fact/close.html %}

### Best practice

**When to use**
- When storing medium to large amounts
- When risk of loss from theft is higher than loss from negligence
- When target audience is likely to be very knowledgeable or motivated to learn good manual backup schemes

**When not to use**
- When most users are new to bitcoin and unlikely to implement good backup schemes
- When transactions are likely to be frequent and low value

**Variations**
- Interfaces (bluetooth, USB, microSD card, camera, NFC)
- Platform compatibility
- Additional user authentication (pin or password)

**Products that use this scheme**
- [Electrum]({{ 'https://electrum.org'}})
- [Wasabi]({{ 'https://wasabiwallet.io'}})
- [Bluewallet]({{ 'https://bluewallet.io'}})

**Hardware wallets**
- [Trezor]({{ 'https://trezor.io'}})
- [Ledger]({{ 'https://www.ledger.com'}})
- [Keepkey]({{ 'https://shapeshift.com/keepkey'}})
- [Coldcard]({{ 'https://coldcardwallet.com'}})

---

Next, let's look at [key sharing]({{ '/guide/private-key-management/key-sharing/' | relative_url }}).
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Split private key management section into more pages by GBKS · Pull Request #283 · BitcoinDesign/Guide · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 23 additions & 23 deletions guide/private-key-management/backups.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
layout: guide
title: Bitcoin backups
description: A beginner's guide to Bitcoin backups.
nav_order: 4
nav_order: 8
parent: Private key management
permalink: /guide/private-key-management/backups/
main_classes: -no-top-padding
Expand All@@ -17,7 +17,7 @@ A guide meant to lower the barrier for first time users of self-custody wallets.

Illustration sources

//
//

-->

Expand DownExpand Up@@ -57,7 +57,7 @@ The main risks that backups need to protect against are:

## Backup levels, basic to advanced

A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.
A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.

Let’s look at some real life examples of backup methods for single-key wallets and what they protect against.

Expand All@@ -83,7 +83,7 @@ Level 2, 3 or 4 are recommended for storing larger amounts.
<br>

#### Level 0
## Encrypted cloud backup
## Encrypted cloud backup

By storing the recovery-phrase in an online location that is encrypted (not in plain text) and hard to access by anyone other than yourself, you are protected against *loss of wallet*. This is the absolute minimum you should do and only takes a few minutes.

Expand All@@ -99,12 +99,12 @@ By storing the recovery-phrase in an online location that is encrypted (not in p
- Use an encrypted password manager like 1Password, LastPass, iCloud Keychain
- Alternatively, use a wallet application with automatic cloud backup

**Don’t**
**Don’t**
- Screenshot the recovery-phrase and save it in Google Photos, iCloud photos
- Write down the recovery-phrase in plain text on your device, Google Docs etc.

**Suitable for**
- For small amounts (less than a months salary)
- For small amounts (less than a months salary)
- When you can't wait to set up a new wallet until you are at home

<br>
Expand All@@ -129,7 +129,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Scribble the recovery-phrase on a scrap of paper using a pencil
- Stick it on the fridge, or other visible locations

Expand All@@ -142,7 +142,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
#### Level 2
## Single metal backup

By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.
By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.

The best metal backup solutions are resistant to most physical damage, including fire, acid and high pressure.

Expand All@@ -156,13 +156,13 @@ The best metal backup solutions are resistant to most physical damage, including
%}


**Do**
**Do**
- Order a dedicated metal backup product, recommendations can be found [here](https://jlopp.github.io/metal-bitcoin-storage-reviews/)
- Follow the instructions and make sure the phrase is indented, etched, engraved or set properly
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Skip ordering a dedicated product, invent your own metal backup solution

**Suitable for**
Expand All@@ -172,13 +172,13 @@ The best metal backup solutions are resistant to most physical damage, including

#### Level 3
## Single backup with discovery protection
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.

To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.
To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.

While this level provides more protection, it also adds complexity to your backup setup. For most beginners storing small amounts it might not be worth the effort from the start and can be a later consideration should the funds grow.

Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.
Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.

If a bad actor discovers only the recovery-phrase, they will find an empty wallet. Alternatively, one can deliberately leave a small amount of bitcoin in this wallet as a honey-pot, and monitor it for any withdrawals to know if it has been discovered.

Expand All@@ -197,12 +197,12 @@ It's worth noting that most hardware wallets support pass-phrases, while most so
%}


**Do**
**Do**
- Use a secure pass-phrase, it is case sensitive and can include numbers and special characters
- Have redundant and secure backups of both the recovery-phrase and the pass-phrase, they are equally important for successful wallet recovery
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase

**Don’t**
**Don’t**
- Store the recovery-phrase and pass-phrase together
- Forget to document your setup for next-of-kin

Expand All@@ -216,13 +216,13 @@ Set up a hardware wallet from the recovery and pass-phrase that uses a PIN to pr

<br>

#### Level 4
#### Level 4
## Multiple backups with discovery protection
One remaining flaw with the single offline backup levels is that severe damage to the one location where they are stored, could lead to the backup not being usable. This could be a fire, flood, earthquake or similar, all more or less likely depending on where you live.

To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.
To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.

As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.
As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.

{% include image.html
image = "/assets/images/guide/private-key-management/backups/multiple-discoveryprotection.jpg"
Expand All@@ -232,11 +232,11 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
height = 420
%}

**Do**
**Do**
- Make sure you have reduntant copies of all parts of the backup in several locations
- Document your setup well for next-of-kin now that complexity has increased

**Don’t**
**Don’t**
- Forget to safely store the pass-phrases or PINs

**Suitable for**
Expand All@@ -248,9 +248,9 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
---

## Inheritance instructions
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.

Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.
Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.

At a minimum, document each wallet with a given name (Bob’s Bitcoin wallet 1), how to recover it, when it was created and what application was used to create the wallet. Ideally this document has all the instructions required to recover the wallet, but not the information itself (*recovery-phrase*, *pass-phrase* etc.), as that might expose you to theft on discovery risks.

Expand Down
86 changes: 86 additions & 0 deletions guide/private-key-management/cloud-backup.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
---
layout: guide
title: Automatic cloud backup
description: An overview of personal private key management schemes.
nav_order: 2
parent: Private key management
permalink: /guide/private-key-management/cloud-backup/
main_classes: -no-top-padding
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

{% include picture.html
image = "/assets/images/guide/private-key-management/personal.jpg"
retina = "/assets/images/guide/private-key-management/personal@2x.jpg"
mobile = "/assets/images/guide/private-key-management/personal-mobile.jpg"
mobileRetina = "/assets/images/guide/private-key-management/personal-mobile@2x.jpg"
alt-text = "Shared schemes header illustration"
width = 1600
height = 600
layout = "full-width"
%}

# Automatic cloud backup

By using an automatic cloud backup for the private key the user is NOT required to manually backup anything when setting up a new [bitcoin wallet]({{ '/guide/glossary/#bitcoin-wallet' | relative_url }}). This is sometimes also called *seedless*, as the user is never exposed to the traditional *seed*, or [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) that is used to initiate a wallet.

This scheme can be used for those new to bitcoin, or novices who would find manually backing up a recovery phrase during onboarding confusing, possibly leading to unsafe backups. It could also be a starting point for a progressive security model that lets customers upgrade when they start accumulating more funds.

The automatic cloud backup scheme gives users reasonable security against theft, while providing low risk for self-inflicted losses.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/cloud-backup.jpg"
retina = "/assets/images/guide/private-key-management/schemes/cloud-backup@2x.jpg"
alt-text = "Automatic cloud backup illustration"
caption = "Private keys are encrypted and stored in the cloud."
width = 800
height = 400
%}

### How it works
First the application generates a wallet with a keypair. Then, the key is encrypted and backed up to a location convenient and safe for the user, yet hard for a malicious third-party to gain access to.


With most implementations so far, the location will be the keychain or a user-specific key-value-store on a mobile device that is also backed up by the OS provider. The most common would be iOS (iCloud) and Android (Google Drive) which both have secure data storage that is backed up and synced between a user's devices.

This makes the backup accessible by the user on a new device, should they lose the original, but only accessible by someone that can log into the user’s Apple or Google account.

{% include fact/pros.html %}

- Low onboarding friction
- Low risk of self-inflicted loss due to the automatic nature

{% include fact/close.html %}

{% include fact/cons.html %}

- Private key in cloud storage increases risk of malicious third party access
- User needs to trust their OS and cloud storage provider
- Unless the backup includes the recovery phrase users will not be able to export their wallet to another product

{% include fact/close.html %}

### Best practice

**When to use**
- When risk of self-inflicted loss is higher than loss from theft
- For beginners, or products with progressive security
- For lower values

**When not to use**
- When storing high values
- When risk of loss from theft is higher than self-inflicted loss
- When complete self-sovereignty is important to the target audience

**Variations**
- Storage location (keychain, iCloud, Google Drive, One Password etc.)
- Additional user authentication (biometrics, pin)

**Products that use this scheme**
- [Photon SDK](https://photonsdk.org) - for use by other wallets, in development
- [Casa](https://keys.casa)
- [Pine](https://pine.pm ) - Lightning, beta

---

Next, let's look at [manual backups]({{ '/guide/private-key-management/manual-backup/' | relative_url }}).
83 changes: 83 additions & 0 deletions guide/private-key-management/external-signing-device.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
---
layout: guide
title: External signing device
description: An overview of personal private key management schemes.
nav_order: 4
parent: Private key management
permalink: /guide/private-key-management/external-signing-device/
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

<!--

Editor's notes

Descriptions of schemes suitable for a single user.

-->

# External signing device

The most common external signing devices are hardware wallets who’s makers often provide their own software to pair with. But, there are also third party wallet applications that support external signing, or software, that can be run on offline on airgapped computers to perform the same function.

A wallet application that supports external signing can remove the need for the private key to be readable by the wallet software, thereby decreasing the risk of keeping keys on a device that is likely always connected to the internet.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/signing-devices.jpg"
retina = "/assets/images/guide/private-key-management/schemes/signing-devices@2x.jpg"
alt-text = "External signing device illustration"
caption = "Hardware wallets are the most common external signing devices."
width = 800
height = 400
%}

### How it works
The external device can generate and store a keypair offline. Therefore, the private key has never been known outside the device. A software wallet can connect to the signing device and act as an interface, or handle transactions air gapped from the device.

When a transaction needs to be signed, the software submits a partially signed bitcoin transaction (PSBT, defined in [BIP174](https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki)) to the device. The user confirms on the device and the PSBT state of the transaction returned to the software wallet application is now fully signed and can be transmitted to the blockchain. This process can also happen fully air gapped by using memory cards instead of cables or wireless connections, to keep the device offline at all times.

{% include fact/pros.html %}

- Removes private key from online devices
- Can provide very high security if used correctly

{% include fact/close.html %}

{% include fact/cons.html %}

- Purchase of specialized hardware required
- Requires further effort and knowledge to setup correctly
- Still requires a good manual backup for redundancy

{% include fact/close.html %}

### Best practice

**When to use**
- When storing medium to large amounts
- When risk of loss from theft is higher than loss from negligence
- When target audience is likely to be very knowledgeable or motivated to learn good manual backup schemes

**When not to use**
- When most users are new to bitcoin and unlikely to implement good backup schemes
- When transactions are likely to be frequent and low value

**Variations**
- Interfaces (bluetooth, USB, microSD card, camera, NFC)
- Platform compatibility
- Additional user authentication (pin or password)

**Products that use this scheme**
- [Electrum]({{ 'https://electrum.org'}})
- [Wasabi]({{ 'https://wasabiwallet.io'}})
- [Bluewallet]({{ 'https://bluewallet.io'}})

**Hardware wallets**
- [Trezor]({{ 'https://trezor.io'}})
- [Ledger]({{ 'https://www.ledger.com'}})
- [Keepkey]({{ 'https://shapeshift.com/keepkey'}})
- [Coldcard]({{ 'https://coldcardwallet.com'}})

---

Next, let's look at [key sharing]({{ '/guide/private-key-management/key-sharing/' | relative_url }}).
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Split private key management section into more pages by GBKS · Pull Request #283 · BitcoinDesign/Guide · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 23 additions & 23 deletions guide/private-key-management/backups.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
layout: guide
title: Bitcoin backups
description: A beginner's guide to Bitcoin backups.
nav_order: 4
nav_order: 8
parent: Private key management
permalink: /guide/private-key-management/backups/
main_classes: -no-top-padding
Expand All@@ -17,7 +17,7 @@ A guide meant to lower the barrier for first time users of self-custody wallets.

Illustration sources

//
//

-->

Expand DownExpand Up@@ -57,7 +57,7 @@ The main risks that backups need to protect against are:

## Backup levels, basic to advanced

A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.
A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.

Let’s look at some real life examples of backup methods for single-key wallets and what they protect against.

Expand All@@ -83,7 +83,7 @@ Level 2, 3 or 4 are recommended for storing larger amounts.
<br>

#### Level 0
## Encrypted cloud backup
## Encrypted cloud backup

By storing the recovery-phrase in an online location that is encrypted (not in plain text) and hard to access by anyone other than yourself, you are protected against *loss of wallet*. This is the absolute minimum you should do and only takes a few minutes.

Expand All@@ -99,12 +99,12 @@ By storing the recovery-phrase in an online location that is encrypted (not in p
- Use an encrypted password manager like 1Password, LastPass, iCloud Keychain
- Alternatively, use a wallet application with automatic cloud backup

**Don’t**
**Don’t**
- Screenshot the recovery-phrase and save it in Google Photos, iCloud photos
- Write down the recovery-phrase in plain text on your device, Google Docs etc.

**Suitable for**
- For small amounts (less than a months salary)
- For small amounts (less than a months salary)
- When you can't wait to set up a new wallet until you are at home

<br>
Expand All@@ -129,7 +129,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Scribble the recovery-phrase on a scrap of paper using a pencil
- Stick it on the fridge, or other visible locations

Expand All@@ -142,7 +142,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
#### Level 2
## Single metal backup

By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.
By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.

The best metal backup solutions are resistant to most physical damage, including fire, acid and high pressure.

Expand All@@ -156,13 +156,13 @@ The best metal backup solutions are resistant to most physical damage, including
%}


**Do**
**Do**
- Order a dedicated metal backup product, recommendations can be found [here](https://jlopp.github.io/metal-bitcoin-storage-reviews/)
- Follow the instructions and make sure the phrase is indented, etched, engraved or set properly
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Skip ordering a dedicated product, invent your own metal backup solution

**Suitable for**
Expand All@@ -172,13 +172,13 @@ The best metal backup solutions are resistant to most physical damage, including

#### Level 3
## Single backup with discovery protection
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.

To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.
To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.

While this level provides more protection, it also adds complexity to your backup setup. For most beginners storing small amounts it might not be worth the effort from the start and can be a later consideration should the funds grow.

Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.
Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.

If a bad actor discovers only the recovery-phrase, they will find an empty wallet. Alternatively, one can deliberately leave a small amount of bitcoin in this wallet as a honey-pot, and monitor it for any withdrawals to know if it has been discovered.

Expand All@@ -197,12 +197,12 @@ It's worth noting that most hardware wallets support pass-phrases, while most so
%}


**Do**
**Do**
- Use a secure pass-phrase, it is case sensitive and can include numbers and special characters
- Have redundant and secure backups of both the recovery-phrase and the pass-phrase, they are equally important for successful wallet recovery
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase

**Don’t**
**Don’t**
- Store the recovery-phrase and pass-phrase together
- Forget to document your setup for next-of-kin

Expand All@@ -216,13 +216,13 @@ Set up a hardware wallet from the recovery and pass-phrase that uses a PIN to pr

<br>

#### Level 4
#### Level 4
## Multiple backups with discovery protection
One remaining flaw with the single offline backup levels is that severe damage to the one location where they are stored, could lead to the backup not being usable. This could be a fire, flood, earthquake or similar, all more or less likely depending on where you live.

To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.
To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.

As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.
As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.

{% include image.html
image = "/assets/images/guide/private-key-management/backups/multiple-discoveryprotection.jpg"
Expand All@@ -232,11 +232,11 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
height = 420
%}

**Do**
**Do**
- Make sure you have reduntant copies of all parts of the backup in several locations
- Document your setup well for next-of-kin now that complexity has increased

**Don’t**
**Don’t**
- Forget to safely store the pass-phrases or PINs

**Suitable for**
Expand All@@ -248,9 +248,9 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
---

## Inheritance instructions
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.

Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.
Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.

At a minimum, document each wallet with a given name (Bob’s Bitcoin wallet 1), how to recover it, when it was created and what application was used to create the wallet. Ideally this document has all the instructions required to recover the wallet, but not the information itself (*recovery-phrase*, *pass-phrase* etc.), as that might expose you to theft on discovery risks.

Expand Down
86 changes: 86 additions & 0 deletions guide/private-key-management/cloud-backup.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
---
layout: guide
title: Automatic cloud backup
description: An overview of personal private key management schemes.
nav_order: 2
parent: Private key management
permalink: /guide/private-key-management/cloud-backup/
main_classes: -no-top-padding
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

{% include picture.html
image = "/assets/images/guide/private-key-management/personal.jpg"
retina = "/assets/images/guide/private-key-management/personal@2x.jpg"
mobile = "/assets/images/guide/private-key-management/personal-mobile.jpg"
mobileRetina = "/assets/images/guide/private-key-management/personal-mobile@2x.jpg"
alt-text = "Shared schemes header illustration"
width = 1600
height = 600
layout = "full-width"
%}

# Automatic cloud backup

By using an automatic cloud backup for the private key the user is NOT required to manually backup anything when setting up a new [bitcoin wallet]({{ '/guide/glossary/#bitcoin-wallet' | relative_url }}). This is sometimes also called *seedless*, as the user is never exposed to the traditional *seed*, or [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) that is used to initiate a wallet.

This scheme can be used for those new to bitcoin, or novices who would find manually backing up a recovery phrase during onboarding confusing, possibly leading to unsafe backups. It could also be a starting point for a progressive security model that lets customers upgrade when they start accumulating more funds.

The automatic cloud backup scheme gives users reasonable security against theft, while providing low risk for self-inflicted losses.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/cloud-backup.jpg"
retina = "/assets/images/guide/private-key-management/schemes/cloud-backup@2x.jpg"
alt-text = "Automatic cloud backup illustration"
caption = "Private keys are encrypted and stored in the cloud."
width = 800
height = 400
%}

### How it works
First the application generates a wallet with a keypair. Then, the key is encrypted and backed up to a location convenient and safe for the user, yet hard for a malicious third-party to gain access to.


With most implementations so far, the location will be the keychain or a user-specific key-value-store on a mobile device that is also backed up by the OS provider. The most common would be iOS (iCloud) and Android (Google Drive) which both have secure data storage that is backed up and synced between a user's devices.

This makes the backup accessible by the user on a new device, should they lose the original, but only accessible by someone that can log into the user’s Apple or Google account.

{% include fact/pros.html %}

- Low onboarding friction
- Low risk of self-inflicted loss due to the automatic nature

{% include fact/close.html %}

{% include fact/cons.html %}

- Private key in cloud storage increases risk of malicious third party access
- User needs to trust their OS and cloud storage provider
- Unless the backup includes the recovery phrase users will not be able to export their wallet to another product

{% include fact/close.html %}

### Best practice

**When to use**
- When risk of self-inflicted loss is higher than loss from theft
- For beginners, or products with progressive security
- For lower values

**When not to use**
- When storing high values
- When risk of loss from theft is higher than self-inflicted loss
- When complete self-sovereignty is important to the target audience

**Variations**
- Storage location (keychain, iCloud, Google Drive, One Password etc.)
- Additional user authentication (biometrics, pin)

**Products that use this scheme**
- [Photon SDK](https://photonsdk.org) - for use by other wallets, in development
- [Casa](https://keys.casa)
- [Pine](https://pine.pm ) - Lightning, beta

---

Next, let's look at [manual backups]({{ '/guide/private-key-management/manual-backup/' | relative_url }}).
83 changes: 83 additions & 0 deletions guide/private-key-management/external-signing-device.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
---
layout: guide
title: External signing device
description: An overview of personal private key management schemes.
nav_order: 4
parent: Private key management
permalink: /guide/private-key-management/external-signing-device/
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

<!--

Editor's notes

Descriptions of schemes suitable for a single user.

-->

# External signing device

The most common external signing devices are hardware wallets who’s makers often provide their own software to pair with. But, there are also third party wallet applications that support external signing, or software, that can be run on offline on airgapped computers to perform the same function.

A wallet application that supports external signing can remove the need for the private key to be readable by the wallet software, thereby decreasing the risk of keeping keys on a device that is likely always connected to the internet.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/signing-devices.jpg"
retina = "/assets/images/guide/private-key-management/schemes/signing-devices@2x.jpg"
alt-text = "External signing device illustration"
caption = "Hardware wallets are the most common external signing devices."
width = 800
height = 400
%}

### How it works
The external device can generate and store a keypair offline. Therefore, the private key has never been known outside the device. A software wallet can connect to the signing device and act as an interface, or handle transactions air gapped from the device.

When a transaction needs to be signed, the software submits a partially signed bitcoin transaction (PSBT, defined in [BIP174](https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki)) to the device. The user confirms on the device and the PSBT state of the transaction returned to the software wallet application is now fully signed and can be transmitted to the blockchain. This process can also happen fully air gapped by using memory cards instead of cables or wireless connections, to keep the device offline at all times.

{% include fact/pros.html %}

- Removes private key from online devices
- Can provide very high security if used correctly

{% include fact/close.html %}

{% include fact/cons.html %}

- Purchase of specialized hardware required
- Requires further effort and knowledge to setup correctly
- Still requires a good manual backup for redundancy

{% include fact/close.html %}

### Best practice

**When to use**
- When storing medium to large amounts
- When risk of loss from theft is higher than loss from negligence
- When target audience is likely to be very knowledgeable or motivated to learn good manual backup schemes

**When not to use**
- When most users are new to bitcoin and unlikely to implement good backup schemes
- When transactions are likely to be frequent and low value

**Variations**
- Interfaces (bluetooth, USB, microSD card, camera, NFC)
- Platform compatibility
- Additional user authentication (pin or password)

**Products that use this scheme**
- [Electrum]({{ 'https://electrum.org'}})
- [Wasabi]({{ 'https://wasabiwallet.io'}})
- [Bluewallet]({{ 'https://bluewallet.io'}})

**Hardware wallets**
- [Trezor]({{ 'https://trezor.io'}})
- [Ledger]({{ 'https://www.ledger.com'}})
- [Keepkey]({{ 'https://shapeshift.com/keepkey'}})
- [Coldcard]({{ 'https://coldcardwallet.com'}})

---

Next, let's look at [key sharing]({{ '/guide/private-key-management/key-sharing/' | relative_url }}).
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Split private key management section into more pages by GBKS · Pull Request #283 · BitcoinDesign/Guide · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 23 additions & 23 deletions guide/private-key-management/backups.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
layout: guide
title: Bitcoin backups
description: A beginner's guide to Bitcoin backups.
nav_order: 4
nav_order: 8
parent: Private key management
permalink: /guide/private-key-management/backups/
main_classes: -no-top-padding
Expand All@@ -17,7 +17,7 @@ A guide meant to lower the barrier for first time users of self-custody wallets.

Illustration sources

//
//

-->

Expand DownExpand Up@@ -57,7 +57,7 @@ The main risks that backups need to protect against are:

## Backup levels, basic to advanced

A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.
A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.

Let’s look at some real life examples of backup methods for single-key wallets and what they protect against.

Expand All@@ -83,7 +83,7 @@ Level 2, 3 or 4 are recommended for storing larger amounts.
<br>

#### Level 0
## Encrypted cloud backup
## Encrypted cloud backup

By storing the recovery-phrase in an online location that is encrypted (not in plain text) and hard to access by anyone other than yourself, you are protected against *loss of wallet*. This is the absolute minimum you should do and only takes a few minutes.

Expand All@@ -99,12 +99,12 @@ By storing the recovery-phrase in an online location that is encrypted (not in p
- Use an encrypted password manager like 1Password, LastPass, iCloud Keychain
- Alternatively, use a wallet application with automatic cloud backup

**Don’t**
**Don’t**
- Screenshot the recovery-phrase and save it in Google Photos, iCloud photos
- Write down the recovery-phrase in plain text on your device, Google Docs etc.

**Suitable for**
- For small amounts (less than a months salary)
- For small amounts (less than a months salary)
- When you can't wait to set up a new wallet until you are at home

<br>
Expand All@@ -129,7 +129,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Scribble the recovery-phrase on a scrap of paper using a pencil
- Stick it on the fridge, or other visible locations

Expand All@@ -142,7 +142,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
#### Level 2
## Single metal backup

By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.
By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.

The best metal backup solutions are resistant to most physical damage, including fire, acid and high pressure.

Expand All@@ -156,13 +156,13 @@ The best metal backup solutions are resistant to most physical damage, including
%}


**Do**
**Do**
- Order a dedicated metal backup product, recommendations can be found [here](https://jlopp.github.io/metal-bitcoin-storage-reviews/)
- Follow the instructions and make sure the phrase is indented, etched, engraved or set properly
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Skip ordering a dedicated product, invent your own metal backup solution

**Suitable for**
Expand All@@ -172,13 +172,13 @@ The best metal backup solutions are resistant to most physical damage, including

#### Level 3
## Single backup with discovery protection
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.

To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.
To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.

While this level provides more protection, it also adds complexity to your backup setup. For most beginners storing small amounts it might not be worth the effort from the start and can be a later consideration should the funds grow.

Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.
Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.

If a bad actor discovers only the recovery-phrase, they will find an empty wallet. Alternatively, one can deliberately leave a small amount of bitcoin in this wallet as a honey-pot, and monitor it for any withdrawals to know if it has been discovered.

Expand All@@ -197,12 +197,12 @@ It's worth noting that most hardware wallets support pass-phrases, while most so
%}


**Do**
**Do**
- Use a secure pass-phrase, it is case sensitive and can include numbers and special characters
- Have redundant and secure backups of both the recovery-phrase and the pass-phrase, they are equally important for successful wallet recovery
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase

**Don’t**
**Don’t**
- Store the recovery-phrase and pass-phrase together
- Forget to document your setup for next-of-kin

Expand All@@ -216,13 +216,13 @@ Set up a hardware wallet from the recovery and pass-phrase that uses a PIN to pr

<br>

#### Level 4
#### Level 4
## Multiple backups with discovery protection
One remaining flaw with the single offline backup levels is that severe damage to the one location where they are stored, could lead to the backup not being usable. This could be a fire, flood, earthquake or similar, all more or less likely depending on where you live.

To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.
To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.

As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.
As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.

{% include image.html
image = "/assets/images/guide/private-key-management/backups/multiple-discoveryprotection.jpg"
Expand All@@ -232,11 +232,11 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
height = 420
%}

**Do**
**Do**
- Make sure you have reduntant copies of all parts of the backup in several locations
- Document your setup well for next-of-kin now that complexity has increased

**Don’t**
**Don’t**
- Forget to safely store the pass-phrases or PINs

**Suitable for**
Expand All@@ -248,9 +248,9 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
---

## Inheritance instructions
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.

Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.
Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.

At a minimum, document each wallet with a given name (Bob’s Bitcoin wallet 1), how to recover it, when it was created and what application was used to create the wallet. Ideally this document has all the instructions required to recover the wallet, but not the information itself (*recovery-phrase*, *pass-phrase* etc.), as that might expose you to theft on discovery risks.

Expand Down
86 changes: 86 additions & 0 deletions guide/private-key-management/cloud-backup.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
---
layout: guide
title: Automatic cloud backup
description: An overview of personal private key management schemes.
nav_order: 2
parent: Private key management
permalink: /guide/private-key-management/cloud-backup/
main_classes: -no-top-padding
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

{% include picture.html
image = "/assets/images/guide/private-key-management/personal.jpg"
retina = "/assets/images/guide/private-key-management/personal@2x.jpg"
mobile = "/assets/images/guide/private-key-management/personal-mobile.jpg"
mobileRetina = "/assets/images/guide/private-key-management/personal-mobile@2x.jpg"
alt-text = "Shared schemes header illustration"
width = 1600
height = 600
layout = "full-width"
%}

# Automatic cloud backup

By using an automatic cloud backup for the private key the user is NOT required to manually backup anything when setting up a new [bitcoin wallet]({{ '/guide/glossary/#bitcoin-wallet' | relative_url }}). This is sometimes also called *seedless*, as the user is never exposed to the traditional *seed*, or [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) that is used to initiate a wallet.

This scheme can be used for those new to bitcoin, or novices who would find manually backing up a recovery phrase during onboarding confusing, possibly leading to unsafe backups. It could also be a starting point for a progressive security model that lets customers upgrade when they start accumulating more funds.

The automatic cloud backup scheme gives users reasonable security against theft, while providing low risk for self-inflicted losses.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/cloud-backup.jpg"
retina = "/assets/images/guide/private-key-management/schemes/cloud-backup@2x.jpg"
alt-text = "Automatic cloud backup illustration"
caption = "Private keys are encrypted and stored in the cloud."
width = 800
height = 400
%}

### How it works
First the application generates a wallet with a keypair. Then, the key is encrypted and backed up to a location convenient and safe for the user, yet hard for a malicious third-party to gain access to.


With most implementations so far, the location will be the keychain or a user-specific key-value-store on a mobile device that is also backed up by the OS provider. The most common would be iOS (iCloud) and Android (Google Drive) which both have secure data storage that is backed up and synced between a user's devices.

This makes the backup accessible by the user on a new device, should they lose the original, but only accessible by someone that can log into the user’s Apple or Google account.

{% include fact/pros.html %}

- Low onboarding friction
- Low risk of self-inflicted loss due to the automatic nature

{% include fact/close.html %}

{% include fact/cons.html %}

- Private key in cloud storage increases risk of malicious third party access
- User needs to trust their OS and cloud storage provider
- Unless the backup includes the recovery phrase users will not be able to export their wallet to another product

{% include fact/close.html %}

### Best practice

**When to use**
- When risk of self-inflicted loss is higher than loss from theft
- For beginners, or products with progressive security
- For lower values

**When not to use**
- When storing high values
- When risk of loss from theft is higher than self-inflicted loss
- When complete self-sovereignty is important to the target audience

**Variations**
- Storage location (keychain, iCloud, Google Drive, One Password etc.)
- Additional user authentication (biometrics, pin)

**Products that use this scheme**
- [Photon SDK](https://photonsdk.org) - for use by other wallets, in development
- [Casa](https://keys.casa)
- [Pine](https://pine.pm ) - Lightning, beta

---

Next, let's look at [manual backups]({{ '/guide/private-key-management/manual-backup/' | relative_url }}).
83 changes: 83 additions & 0 deletions guide/private-key-management/external-signing-device.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
---
layout: guide
title: External signing device
description: An overview of personal private key management schemes.
nav_order: 4
parent: Private key management
permalink: /guide/private-key-management/external-signing-device/
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

<!--

Editor's notes

Descriptions of schemes suitable for a single user.

-->

# External signing device

The most common external signing devices are hardware wallets who’s makers often provide their own software to pair with. But, there are also third party wallet applications that support external signing, or software, that can be run on offline on airgapped computers to perform the same function.

A wallet application that supports external signing can remove the need for the private key to be readable by the wallet software, thereby decreasing the risk of keeping keys on a device that is likely always connected to the internet.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/signing-devices.jpg"
retina = "/assets/images/guide/private-key-management/schemes/signing-devices@2x.jpg"
alt-text = "External signing device illustration"
caption = "Hardware wallets are the most common external signing devices."
width = 800
height = 400
%}

### How it works
The external device can generate and store a keypair offline. Therefore, the private key has never been known outside the device. A software wallet can connect to the signing device and act as an interface, or handle transactions air gapped from the device.

When a transaction needs to be signed, the software submits a partially signed bitcoin transaction (PSBT, defined in [BIP174](https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki)) to the device. The user confirms on the device and the PSBT state of the transaction returned to the software wallet application is now fully signed and can be transmitted to the blockchain. This process can also happen fully air gapped by using memory cards instead of cables or wireless connections, to keep the device offline at all times.

{% include fact/pros.html %}

- Removes private key from online devices
- Can provide very high security if used correctly

{% include fact/close.html %}

{% include fact/cons.html %}

- Purchase of specialized hardware required
- Requires further effort and knowledge to setup correctly
- Still requires a good manual backup for redundancy

{% include fact/close.html %}

### Best practice

**When to use**
- When storing medium to large amounts
- When risk of loss from theft is higher than loss from negligence
- When target audience is likely to be very knowledgeable or motivated to learn good manual backup schemes

**When not to use**
- When most users are new to bitcoin and unlikely to implement good backup schemes
- When transactions are likely to be frequent and low value

**Variations**
- Interfaces (bluetooth, USB, microSD card, camera, NFC)
- Platform compatibility
- Additional user authentication (pin or password)

**Products that use this scheme**
- [Electrum]({{ 'https://electrum.org'}})
- [Wasabi]({{ 'https://wasabiwallet.io'}})
- [Bluewallet]({{ 'https://bluewallet.io'}})

**Hardware wallets**
- [Trezor]({{ 'https://trezor.io'}})
- [Ledger]({{ 'https://www.ledger.com'}})
- [Keepkey]({{ 'https://shapeshift.com/keepkey'}})
- [Coldcard]({{ 'https://coldcardwallet.com'}})

---

Next, let's look at [key sharing]({{ '/guide/private-key-management/key-sharing/' | relative_url }}).
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Split private key management section into more pages by GBKS · Pull Request #283 · BitcoinDesign/Guide · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 23 additions & 23 deletions guide/private-key-management/backups.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
layout: guide
title: Bitcoin backups
description: A beginner's guide to Bitcoin backups.
nav_order: 4
nav_order: 8
parent: Private key management
permalink: /guide/private-key-management/backups/
main_classes: -no-top-padding
Expand All@@ -17,7 +17,7 @@ A guide meant to lower the barrier for first time users of self-custody wallets.

Illustration sources

//
//

-->

Expand DownExpand Up@@ -57,7 +57,7 @@ The main risks that backups need to protect against are:

## Backup levels, basic to advanced

A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.
A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.

Let’s look at some real life examples of backup methods for single-key wallets and what they protect against.

Expand All@@ -83,7 +83,7 @@ Level 2, 3 or 4 are recommended for storing larger amounts.
<br>

#### Level 0
## Encrypted cloud backup
## Encrypted cloud backup

By storing the recovery-phrase in an online location that is encrypted (not in plain text) and hard to access by anyone other than yourself, you are protected against *loss of wallet*. This is the absolute minimum you should do and only takes a few minutes.

Expand All@@ -99,12 +99,12 @@ By storing the recovery-phrase in an online location that is encrypted (not in p
- Use an encrypted password manager like 1Password, LastPass, iCloud Keychain
- Alternatively, use a wallet application with automatic cloud backup

**Don’t**
**Don’t**
- Screenshot the recovery-phrase and save it in Google Photos, iCloud photos
- Write down the recovery-phrase in plain text on your device, Google Docs etc.

**Suitable for**
- For small amounts (less than a months salary)
- For small amounts (less than a months salary)
- When you can't wait to set up a new wallet until you are at home

<br>
Expand All@@ -129,7 +129,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Scribble the recovery-phrase on a scrap of paper using a pencil
- Stick it on the fridge, or other visible locations

Expand All@@ -142,7 +142,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
#### Level 2
## Single metal backup

By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.
By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.

The best metal backup solutions are resistant to most physical damage, including fire, acid and high pressure.

Expand All@@ -156,13 +156,13 @@ The best metal backup solutions are resistant to most physical damage, including
%}


**Do**
**Do**
- Order a dedicated metal backup product, recommendations can be found [here](https://jlopp.github.io/metal-bitcoin-storage-reviews/)
- Follow the instructions and make sure the phrase is indented, etched, engraved or set properly
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Skip ordering a dedicated product, invent your own metal backup solution

**Suitable for**
Expand All@@ -172,13 +172,13 @@ The best metal backup solutions are resistant to most physical damage, including

#### Level 3
## Single backup with discovery protection
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.

To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.
To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.

While this level provides more protection, it also adds complexity to your backup setup. For most beginners storing small amounts it might not be worth the effort from the start and can be a later consideration should the funds grow.

Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.
Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.

If a bad actor discovers only the recovery-phrase, they will find an empty wallet. Alternatively, one can deliberately leave a small amount of bitcoin in this wallet as a honey-pot, and monitor it for any withdrawals to know if it has been discovered.

Expand All@@ -197,12 +197,12 @@ It's worth noting that most hardware wallets support pass-phrases, while most so
%}


**Do**
**Do**
- Use a secure pass-phrase, it is case sensitive and can include numbers and special characters
- Have redundant and secure backups of both the recovery-phrase and the pass-phrase, they are equally important for successful wallet recovery
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase

**Don’t**
**Don’t**
- Store the recovery-phrase and pass-phrase together
- Forget to document your setup for next-of-kin

Expand All@@ -216,13 +216,13 @@ Set up a hardware wallet from the recovery and pass-phrase that uses a PIN to pr

<br>

#### Level 4
#### Level 4
## Multiple backups with discovery protection
One remaining flaw with the single offline backup levels is that severe damage to the one location where they are stored, could lead to the backup not being usable. This could be a fire, flood, earthquake or similar, all more or less likely depending on where you live.

To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.
To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.

As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.
As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.

{% include image.html
image = "/assets/images/guide/private-key-management/backups/multiple-discoveryprotection.jpg"
Expand All@@ -232,11 +232,11 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
height = 420
%}

**Do**
**Do**
- Make sure you have reduntant copies of all parts of the backup in several locations
- Document your setup well for next-of-kin now that complexity has increased

**Don’t**
**Don’t**
- Forget to safely store the pass-phrases or PINs

**Suitable for**
Expand All@@ -248,9 +248,9 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
---

## Inheritance instructions
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.

Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.
Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.

At a minimum, document each wallet with a given name (Bob’s Bitcoin wallet 1), how to recover it, when it was created and what application was used to create the wallet. Ideally this document has all the instructions required to recover the wallet, but not the information itself (*recovery-phrase*, *pass-phrase* etc.), as that might expose you to theft on discovery risks.

Expand Down
86 changes: 86 additions & 0 deletions guide/private-key-management/cloud-backup.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
---
layout: guide
title: Automatic cloud backup
description: An overview of personal private key management schemes.
nav_order: 2
parent: Private key management
permalink: /guide/private-key-management/cloud-backup/
main_classes: -no-top-padding
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

{% include picture.html
image = "/assets/images/guide/private-key-management/personal.jpg"
retina = "/assets/images/guide/private-key-management/personal@2x.jpg"
mobile = "/assets/images/guide/private-key-management/personal-mobile.jpg"
mobileRetina = "/assets/images/guide/private-key-management/personal-mobile@2x.jpg"
alt-text = "Shared schemes header illustration"
width = 1600
height = 600
layout = "full-width"
%}

# Automatic cloud backup

By using an automatic cloud backup for the private key the user is NOT required to manually backup anything when setting up a new [bitcoin wallet]({{ '/guide/glossary/#bitcoin-wallet' | relative_url }}). This is sometimes also called *seedless*, as the user is never exposed to the traditional *seed*, or [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) that is used to initiate a wallet.

This scheme can be used for those new to bitcoin, or novices who would find manually backing up a recovery phrase during onboarding confusing, possibly leading to unsafe backups. It could also be a starting point for a progressive security model that lets customers upgrade when they start accumulating more funds.

The automatic cloud backup scheme gives users reasonable security against theft, while providing low risk for self-inflicted losses.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/cloud-backup.jpg"
retina = "/assets/images/guide/private-key-management/schemes/cloud-backup@2x.jpg"
alt-text = "Automatic cloud backup illustration"
caption = "Private keys are encrypted and stored in the cloud."
width = 800
height = 400
%}

### How it works
First the application generates a wallet with a keypair. Then, the key is encrypted and backed up to a location convenient and safe for the user, yet hard for a malicious third-party to gain access to.


With most implementations so far, the location will be the keychain or a user-specific key-value-store on a mobile device that is also backed up by the OS provider. The most common would be iOS (iCloud) and Android (Google Drive) which both have secure data storage that is backed up and synced between a user's devices.

This makes the backup accessible by the user on a new device, should they lose the original, but only accessible by someone that can log into the user’s Apple or Google account.

{% include fact/pros.html %}

- Low onboarding friction
- Low risk of self-inflicted loss due to the automatic nature

{% include fact/close.html %}

{% include fact/cons.html %}

- Private key in cloud storage increases risk of malicious third party access
- User needs to trust their OS and cloud storage provider
- Unless the backup includes the recovery phrase users will not be able to export their wallet to another product

{% include fact/close.html %}

### Best practice

**When to use**
- When risk of self-inflicted loss is higher than loss from theft
- For beginners, or products with progressive security
- For lower values

**When not to use**
- When storing high values
- When risk of loss from theft is higher than self-inflicted loss
- When complete self-sovereignty is important to the target audience

**Variations**
- Storage location (keychain, iCloud, Google Drive, One Password etc.)
- Additional user authentication (biometrics, pin)

**Products that use this scheme**
- [Photon SDK](https://photonsdk.org) - for use by other wallets, in development
- [Casa](https://keys.casa)
- [Pine](https://pine.pm ) - Lightning, beta

---

Next, let's look at [manual backups]({{ '/guide/private-key-management/manual-backup/' | relative_url }}).
83 changes: 83 additions & 0 deletions guide/private-key-management/external-signing-device.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
---
layout: guide
title: External signing device
description: An overview of personal private key management schemes.
nav_order: 4
parent: Private key management
permalink: /guide/private-key-management/external-signing-device/
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

<!--

Editor's notes

Descriptions of schemes suitable for a single user.

-->

# External signing device

The most common external signing devices are hardware wallets who’s makers often provide their own software to pair with. But, there are also third party wallet applications that support external signing, or software, that can be run on offline on airgapped computers to perform the same function.

A wallet application that supports external signing can remove the need for the private key to be readable by the wallet software, thereby decreasing the risk of keeping keys on a device that is likely always connected to the internet.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/signing-devices.jpg"
retina = "/assets/images/guide/private-key-management/schemes/signing-devices@2x.jpg"
alt-text = "External signing device illustration"
caption = "Hardware wallets are the most common external signing devices."
width = 800
height = 400
%}

### How it works
The external device can generate and store a keypair offline. Therefore, the private key has never been known outside the device. A software wallet can connect to the signing device and act as an interface, or handle transactions air gapped from the device.

When a transaction needs to be signed, the software submits a partially signed bitcoin transaction (PSBT, defined in [BIP174](https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki)) to the device. The user confirms on the device and the PSBT state of the transaction returned to the software wallet application is now fully signed and can be transmitted to the blockchain. This process can also happen fully air gapped by using memory cards instead of cables or wireless connections, to keep the device offline at all times.

{% include fact/pros.html %}

- Removes private key from online devices
- Can provide very high security if used correctly

{% include fact/close.html %}

{% include fact/cons.html %}

- Purchase of specialized hardware required
- Requires further effort and knowledge to setup correctly
- Still requires a good manual backup for redundancy

{% include fact/close.html %}

### Best practice

**When to use**
- When storing medium to large amounts
- When risk of loss from theft is higher than loss from negligence
- When target audience is likely to be very knowledgeable or motivated to learn good manual backup schemes

**When not to use**
- When most users are new to bitcoin and unlikely to implement good backup schemes
- When transactions are likely to be frequent and low value

**Variations**
- Interfaces (bluetooth, USB, microSD card, camera, NFC)
- Platform compatibility
- Additional user authentication (pin or password)

**Products that use this scheme**
- [Electrum]({{ 'https://electrum.org'}})
- [Wasabi]({{ 'https://wasabiwallet.io'}})
- [Bluewallet]({{ 'https://bluewallet.io'}})

**Hardware wallets**
- [Trezor]({{ 'https://trezor.io'}})
- [Ledger]({{ 'https://www.ledger.com'}})
- [Keepkey]({{ 'https://shapeshift.com/keepkey'}})
- [Coldcard]({{ 'https://coldcardwallet.com'}})

---

Next, let's look at [key sharing]({{ '/guide/private-key-management/key-sharing/' | relative_url }}).
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Split private key management section into more pages by GBKS · Pull Request #283 · BitcoinDesign/Guide · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 23 additions & 23 deletions guide/private-key-management/backups.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
layout: guide
title: Bitcoin backups
description: A beginner's guide to Bitcoin backups.
nav_order: 4
nav_order: 8
parent: Private key management
permalink: /guide/private-key-management/backups/
main_classes: -no-top-padding
Expand All@@ -17,7 +17,7 @@ A guide meant to lower the barrier for first time users of self-custody wallets.

Illustration sources

//
//

-->

Expand DownExpand Up@@ -57,7 +57,7 @@ The main risks that backups need to protect against are:

## Backup levels, basic to advanced

A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.
A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.

Let’s look at some real life examples of backup methods for single-key wallets and what they protect against.

Expand All@@ -83,7 +83,7 @@ Level 2, 3 or 4 are recommended for storing larger amounts.
<br>

#### Level 0
## Encrypted cloud backup
## Encrypted cloud backup

By storing the recovery-phrase in an online location that is encrypted (not in plain text) and hard to access by anyone other than yourself, you are protected against *loss of wallet*. This is the absolute minimum you should do and only takes a few minutes.

Expand All@@ -99,12 +99,12 @@ By storing the recovery-phrase in an online location that is encrypted (not in p
- Use an encrypted password manager like 1Password, LastPass, iCloud Keychain
- Alternatively, use a wallet application with automatic cloud backup

**Don’t**
**Don’t**
- Screenshot the recovery-phrase and save it in Google Photos, iCloud photos
- Write down the recovery-phrase in plain text on your device, Google Docs etc.

**Suitable for**
- For small amounts (less than a months salary)
- For small amounts (less than a months salary)
- When you can't wait to set up a new wallet until you are at home

<br>
Expand All@@ -129,7 +129,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Scribble the recovery-phrase on a scrap of paper using a pencil
- Stick it on the fridge, or other visible locations

Expand All@@ -142,7 +142,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
#### Level 2
## Single metal backup

By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.
By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.

The best metal backup solutions are resistant to most physical damage, including fire, acid and high pressure.

Expand All@@ -156,13 +156,13 @@ The best metal backup solutions are resistant to most physical damage, including
%}


**Do**
**Do**
- Order a dedicated metal backup product, recommendations can be found [here](https://jlopp.github.io/metal-bitcoin-storage-reviews/)
- Follow the instructions and make sure the phrase is indented, etched, engraved or set properly
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Skip ordering a dedicated product, invent your own metal backup solution

**Suitable for**
Expand All@@ -172,13 +172,13 @@ The best metal backup solutions are resistant to most physical damage, including

#### Level 3
## Single backup with discovery protection
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.

To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.
To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.

While this level provides more protection, it also adds complexity to your backup setup. For most beginners storing small amounts it might not be worth the effort from the start and can be a later consideration should the funds grow.

Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.
Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.

If a bad actor discovers only the recovery-phrase, they will find an empty wallet. Alternatively, one can deliberately leave a small amount of bitcoin in this wallet as a honey-pot, and monitor it for any withdrawals to know if it has been discovered.

Expand All@@ -197,12 +197,12 @@ It's worth noting that most hardware wallets support pass-phrases, while most so
%}


**Do**
**Do**
- Use a secure pass-phrase, it is case sensitive and can include numbers and special characters
- Have redundant and secure backups of both the recovery-phrase and the pass-phrase, they are equally important for successful wallet recovery
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase

**Don’t**
**Don’t**
- Store the recovery-phrase and pass-phrase together
- Forget to document your setup for next-of-kin

Expand All@@ -216,13 +216,13 @@ Set up a hardware wallet from the recovery and pass-phrase that uses a PIN to pr

<br>

#### Level 4
#### Level 4
## Multiple backups with discovery protection
One remaining flaw with the single offline backup levels is that severe damage to the one location where they are stored, could lead to the backup not being usable. This could be a fire, flood, earthquake or similar, all more or less likely depending on where you live.

To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.
To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.

As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.
As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.

{% include image.html
image = "/assets/images/guide/private-key-management/backups/multiple-discoveryprotection.jpg"
Expand All@@ -232,11 +232,11 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
height = 420
%}

**Do**
**Do**
- Make sure you have reduntant copies of all parts of the backup in several locations
- Document your setup well for next-of-kin now that complexity has increased

**Don’t**
**Don’t**
- Forget to safely store the pass-phrases or PINs

**Suitable for**
Expand All@@ -248,9 +248,9 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
---

## Inheritance instructions
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.

Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.
Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.

At a minimum, document each wallet with a given name (Bob’s Bitcoin wallet 1), how to recover it, when it was created and what application was used to create the wallet. Ideally this document has all the instructions required to recover the wallet, but not the information itself (*recovery-phrase*, *pass-phrase* etc.), as that might expose you to theft on discovery risks.

Expand Down
86 changes: 86 additions & 0 deletions guide/private-key-management/cloud-backup.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
---
layout: guide
title: Automatic cloud backup
description: An overview of personal private key management schemes.
nav_order: 2
parent: Private key management
permalink: /guide/private-key-management/cloud-backup/
main_classes: -no-top-padding
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

{% include picture.html
image = "/assets/images/guide/private-key-management/personal.jpg"
retina = "/assets/images/guide/private-key-management/personal@2x.jpg"
mobile = "/assets/images/guide/private-key-management/personal-mobile.jpg"
mobileRetina = "/assets/images/guide/private-key-management/personal-mobile@2x.jpg"
alt-text = "Shared schemes header illustration"
width = 1600
height = 600
layout = "full-width"
%}

# Automatic cloud backup

By using an automatic cloud backup for the private key the user is NOT required to manually backup anything when setting up a new [bitcoin wallet]({{ '/guide/glossary/#bitcoin-wallet' | relative_url }}). This is sometimes also called *seedless*, as the user is never exposed to the traditional *seed*, or [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) that is used to initiate a wallet.

This scheme can be used for those new to bitcoin, or novices who would find manually backing up a recovery phrase during onboarding confusing, possibly leading to unsafe backups. It could also be a starting point for a progressive security model that lets customers upgrade when they start accumulating more funds.

The automatic cloud backup scheme gives users reasonable security against theft, while providing low risk for self-inflicted losses.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/cloud-backup.jpg"
retina = "/assets/images/guide/private-key-management/schemes/cloud-backup@2x.jpg"
alt-text = "Automatic cloud backup illustration"
caption = "Private keys are encrypted and stored in the cloud."
width = 800
height = 400
%}

### How it works
First the application generates a wallet with a keypair. Then, the key is encrypted and backed up to a location convenient and safe for the user, yet hard for a malicious third-party to gain access to.


With most implementations so far, the location will be the keychain or a user-specific key-value-store on a mobile device that is also backed up by the OS provider. The most common would be iOS (iCloud) and Android (Google Drive) which both have secure data storage that is backed up and synced between a user's devices.

This makes the backup accessible by the user on a new device, should they lose the original, but only accessible by someone that can log into the user’s Apple or Google account.

{% include fact/pros.html %}

- Low onboarding friction
- Low risk of self-inflicted loss due to the automatic nature

{% include fact/close.html %}

{% include fact/cons.html %}

- Private key in cloud storage increases risk of malicious third party access
- User needs to trust their OS and cloud storage provider
- Unless the backup includes the recovery phrase users will not be able to export their wallet to another product

{% include fact/close.html %}

### Best practice

**When to use**
- When risk of self-inflicted loss is higher than loss from theft
- For beginners, or products with progressive security
- For lower values

**When not to use**
- When storing high values
- When risk of loss from theft is higher than self-inflicted loss
- When complete self-sovereignty is important to the target audience

**Variations**
- Storage location (keychain, iCloud, Google Drive, One Password etc.)
- Additional user authentication (biometrics, pin)

**Products that use this scheme**
- [Photon SDK](https://photonsdk.org) - for use by other wallets, in development
- [Casa](https://keys.casa)
- [Pine](https://pine.pm ) - Lightning, beta

---

Next, let's look at [manual backups]({{ '/guide/private-key-management/manual-backup/' | relative_url }}).
83 changes: 83 additions & 0 deletions guide/private-key-management/external-signing-device.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
---
layout: guide
title: External signing device
description: An overview of personal private key management schemes.
nav_order: 4
parent: Private key management
permalink: /guide/private-key-management/external-signing-device/
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

<!--

Editor's notes

Descriptions of schemes suitable for a single user.

-->

# External signing device

The most common external signing devices are hardware wallets who’s makers often provide their own software to pair with. But, there are also third party wallet applications that support external signing, or software, that can be run on offline on airgapped computers to perform the same function.

A wallet application that supports external signing can remove the need for the private key to be readable by the wallet software, thereby decreasing the risk of keeping keys on a device that is likely always connected to the internet.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/signing-devices.jpg"
retina = "/assets/images/guide/private-key-management/schemes/signing-devices@2x.jpg"
alt-text = "External signing device illustration"
caption = "Hardware wallets are the most common external signing devices."
width = 800
height = 400
%}

### How it works
The external device can generate and store a keypair offline. Therefore, the private key has never been known outside the device. A software wallet can connect to the signing device and act as an interface, or handle transactions air gapped from the device.

When a transaction needs to be signed, the software submits a partially signed bitcoin transaction (PSBT, defined in [BIP174](https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki)) to the device. The user confirms on the device and the PSBT state of the transaction returned to the software wallet application is now fully signed and can be transmitted to the blockchain. This process can also happen fully air gapped by using memory cards instead of cables or wireless connections, to keep the device offline at all times.

{% include fact/pros.html %}

- Removes private key from online devices
- Can provide very high security if used correctly

{% include fact/close.html %}

{% include fact/cons.html %}

- Purchase of specialized hardware required
- Requires further effort and knowledge to setup correctly
- Still requires a good manual backup for redundancy

{% include fact/close.html %}

### Best practice

**When to use**
- When storing medium to large amounts
- When risk of loss from theft is higher than loss from negligence
- When target audience is likely to be very knowledgeable or motivated to learn good manual backup schemes

**When not to use**
- When most users are new to bitcoin and unlikely to implement good backup schemes
- When transactions are likely to be frequent and low value

**Variations**
- Interfaces (bluetooth, USB, microSD card, camera, NFC)
- Platform compatibility
- Additional user authentication (pin or password)

**Products that use this scheme**
- [Electrum]({{ 'https://electrum.org'}})
- [Wasabi]({{ 'https://wasabiwallet.io'}})
- [Bluewallet]({{ 'https://bluewallet.io'}})

**Hardware wallets**
- [Trezor]({{ 'https://trezor.io'}})
- [Ledger]({{ 'https://www.ledger.com'}})
- [Keepkey]({{ 'https://shapeshift.com/keepkey'}})
- [Coldcard]({{ 'https://coldcardwallet.com'}})

---

Next, let's look at [key sharing]({{ '/guide/private-key-management/key-sharing/' | relative_url }}).
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Split private key management section into more pages by GBKS · Pull Request #283 · BitcoinDesign/Guide · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 23 additions & 23 deletions guide/private-key-management/backups.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,7 +2,7 @@
layout: guide
title: Bitcoin backups
description: A beginner's guide to Bitcoin backups.
nav_order: 4
nav_order: 8
parent: Private key management
permalink: /guide/private-key-management/backups/
main_classes: -no-top-padding
Expand All@@ -17,7 +17,7 @@ A guide meant to lower the barrier for first time users of self-custody wallets.

Illustration sources

//
//

-->

Expand DownExpand Up@@ -57,7 +57,7 @@ The main risks that backups need to protect against are:

## Backup levels, basic to advanced

A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.
A basic backup can be done in a few minutes, while more advanced setups can require more time and effort, like the purchase of dedicated material.

Let’s look at some real life examples of backup methods for single-key wallets and what they protect against.

Expand All@@ -83,7 +83,7 @@ Level 2, 3 or 4 are recommended for storing larger amounts.
<br>

#### Level 0
## Encrypted cloud backup
## Encrypted cloud backup

By storing the recovery-phrase in an online location that is encrypted (not in plain text) and hard to access by anyone other than yourself, you are protected against *loss of wallet*. This is the absolute minimum you should do and only takes a few minutes.

Expand All@@ -99,12 +99,12 @@ By storing the recovery-phrase in an online location that is encrypted (not in p
- Use an encrypted password manager like 1Password, LastPass, iCloud Keychain
- Alternatively, use a wallet application with automatic cloud backup

**Don’t**
**Don’t**
- Screenshot the recovery-phrase and save it in Google Photos, iCloud photos
- Write down the recovery-phrase in plain text on your device, Google Docs etc.

**Suitable for**
- For small amounts (less than a months salary)
- For small amounts (less than a months salary)
- When you can't wait to set up a new wallet until you are at home

<br>
Expand All@@ -129,7 +129,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Scribble the recovery-phrase on a scrap of paper using a pencil
- Stick it on the fridge, or other visible locations

Expand All@@ -142,7 +142,7 @@ By storing the recovery-phrase written down on paper in your own home you have p
#### Level 2
## Single metal backup

By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.
By storing the recovery-phrase on metal in your own home you have protected against *loss of wallet*, *remote theft* and *physical damage*.

The best metal backup solutions are resistant to most physical damage, including fire, acid and high pressure.

Expand All@@ -156,13 +156,13 @@ The best metal backup solutions are resistant to most physical damage, including
%}


**Do**
**Do**
- Order a dedicated metal backup product, recommendations can be found [here](https://jlopp.github.io/metal-bitcoin-storage-reviews/)
- Follow the instructions and make sure the phrase is indented, etched, engraved or set properly
- Store it in a location where it is unlikely to be found by a bad actor
- Document or tell next-of-kin where the backup can be found

**Don’t**
**Don’t**
- Skip ordering a dedicated product, invent your own metal backup solution

**Suitable for**
Expand All@@ -172,13 +172,13 @@ The best metal backup solutions are resistant to most physical damage, including

#### Level 3
## Single backup with discovery protection
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.
The previous offline backups have one flaw in common - if discovered by a bad actor, your funds can be stolen.

To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.
To protect against this *theft on discovery* risk, a *pass-phrase* can be added to the recovery-phrase. This pass-phrase is sometimes called an extra word, or the 13th/25th word.

While this level provides more protection, it also adds complexity to your backup setup. For most beginners storing small amounts it might not be worth the effort from the start and can be a later consideration should the funds grow.

Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.
Technically, all recovery-phrases have a pass-phrase. If it's not set by the user, an empty string (“”) will be used by default. This means that using the recovery-phrase with or without the user-defined pass-phrase will recover two DIFFERENT wallets.

If a bad actor discovers only the recovery-phrase, they will find an empty wallet. Alternatively, one can deliberately leave a small amount of bitcoin in this wallet as a honey-pot, and monitor it for any withdrawals to know if it has been discovered.

Expand All@@ -197,12 +197,12 @@ It's worth noting that most hardware wallets support pass-phrases, while most so
%}


**Do**
**Do**
- Use a secure pass-phrase, it is case sensitive and can include numbers and special characters
- Have redundant and secure backups of both the recovery-phrase and the pass-phrase, they are equally important for successful wallet recovery
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase
- Understand you now have two distinct wallets, (one each from the recovery-phrase with or without the pass-phrase), this can be useful to fool a bad actor, or a risk if next-of-kin is unaware of the pass-phrase

**Don’t**
**Don’t**
- Store the recovery-phrase and pass-phrase together
- Forget to document your setup for next-of-kin

Expand All@@ -216,13 +216,13 @@ Set up a hardware wallet from the recovery and pass-phrase that uses a PIN to pr

<br>

#### Level 4
#### Level 4
## Multiple backups with discovery protection
One remaining flaw with the single offline backup levels is that severe damage to the one location where they are stored, could lead to the backup not being usable. This could be a fire, flood, earthquake or similar, all more or less likely depending on where you live.

To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.
To protect against such a *catastrophic event* we can create multiple backups, and distribute them to other locations. This could be a second home, trusted family and friends or a safe deposit box.

As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.
As the risk of discovery increases with the multiplying backups, it's best to maintain the protection against theft on discovery with a pass-phrase, or hardware wallets with a PIN.

{% include image.html
image = "/assets/images/guide/private-key-management/backups/multiple-discoveryprotection.jpg"
Expand All@@ -232,11 +232,11 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
height = 420
%}

**Do**
**Do**
- Make sure you have reduntant copies of all parts of the backup in several locations
- Document your setup well for next-of-kin now that complexity has increased

**Don’t**
**Don’t**
- Forget to safely store the pass-phrases or PINs

**Suitable for**
Expand All@@ -248,9 +248,9 @@ As the risk of discovery increases with the multiplying backups, it's best to ma
---

## Inheritance instructions
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.
For any backup setup, sufficient information and understandable instructions for recovering the wallet should be available to next-of-kin.

Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.
Even though it might feel uncomfortable (or unnecessary if you are young and single), it is never too early to document your wallets. If you don’t, there is a very high chance that next-of-kin will not be able to inherit your funds.

At a minimum, document each wallet with a given name (Bob’s Bitcoin wallet 1), how to recover it, when it was created and what application was used to create the wallet. Ideally this document has all the instructions required to recover the wallet, but not the information itself (*recovery-phrase*, *pass-phrase* etc.), as that might expose you to theft on discovery risks.

Expand Down
86 changes: 86 additions & 0 deletions guide/private-key-management/cloud-backup.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
---
layout: guide
title: Automatic cloud backup
description: An overview of personal private key management schemes.
nav_order: 2
parent: Private key management
permalink: /guide/private-key-management/cloud-backup/
main_classes: -no-top-padding
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

{% include picture.html
image = "/assets/images/guide/private-key-management/personal.jpg"
retina = "/assets/images/guide/private-key-management/personal@2x.jpg"
mobile = "/assets/images/guide/private-key-management/personal-mobile.jpg"
mobileRetina = "/assets/images/guide/private-key-management/personal-mobile@2x.jpg"
alt-text = "Shared schemes header illustration"
width = 1600
height = 600
layout = "full-width"
%}

# Automatic cloud backup

By using an automatic cloud backup for the private key the user is NOT required to manually backup anything when setting up a new [bitcoin wallet]({{ '/guide/glossary/#bitcoin-wallet' | relative_url }}). This is sometimes also called *seedless*, as the user is never exposed to the traditional *seed*, or [recovery phrase]({{ '/guide/glossary/#recovery-phrase' | relative_url }}) that is used to initiate a wallet.

This scheme can be used for those new to bitcoin, or novices who would find manually backing up a recovery phrase during onboarding confusing, possibly leading to unsafe backups. It could also be a starting point for a progressive security model that lets customers upgrade when they start accumulating more funds.

The automatic cloud backup scheme gives users reasonable security against theft, while providing low risk for self-inflicted losses.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/cloud-backup.jpg"
retina = "/assets/images/guide/private-key-management/schemes/cloud-backup@2x.jpg"
alt-text = "Automatic cloud backup illustration"
caption = "Private keys are encrypted and stored in the cloud."
width = 800
height = 400
%}

### How it works
First the application generates a wallet with a keypair. Then, the key is encrypted and backed up to a location convenient and safe for the user, yet hard for a malicious third-party to gain access to.


With most implementations so far, the location will be the keychain or a user-specific key-value-store on a mobile device that is also backed up by the OS provider. The most common would be iOS (iCloud) and Android (Google Drive) which both have secure data storage that is backed up and synced between a user's devices.

This makes the backup accessible by the user on a new device, should they lose the original, but only accessible by someone that can log into the user’s Apple or Google account.

{% include fact/pros.html %}

- Low onboarding friction
- Low risk of self-inflicted loss due to the automatic nature

{% include fact/close.html %}

{% include fact/cons.html %}

- Private key in cloud storage increases risk of malicious third party access
- User needs to trust their OS and cloud storage provider
- Unless the backup includes the recovery phrase users will not be able to export their wallet to another product

{% include fact/close.html %}

### Best practice

**When to use**
- When risk of self-inflicted loss is higher than loss from theft
- For beginners, or products with progressive security
- For lower values

**When not to use**
- When storing high values
- When risk of loss from theft is higher than self-inflicted loss
- When complete self-sovereignty is important to the target audience

**Variations**
- Storage location (keychain, iCloud, Google Drive, One Password etc.)
- Additional user authentication (biometrics, pin)

**Products that use this scheme**
- [Photon SDK](https://photonsdk.org) - for use by other wallets, in development
- [Casa](https://keys.casa)
- [Pine](https://pine.pm ) - Lightning, beta

---

Next, let's look at [manual backups]({{ '/guide/private-key-management/manual-backup/' | relative_url }}).
83 changes: 83 additions & 0 deletions guide/private-key-management/external-signing-device.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
---
layout: guide
title: External signing device
description: An overview of personal private key management schemes.
nav_order: 4
parent: Private key management
permalink: /guide/private-key-management/external-signing-device/
image: https://bitcoin.design/assets/images/guide/private-key-management/schemes/page-personal-schemes.jpg
---

<!--

Editor's notes

Descriptions of schemes suitable for a single user.

-->

# External signing device

The most common external signing devices are hardware wallets who’s makers often provide their own software to pair with. But, there are also third party wallet applications that support external signing, or software, that can be run on offline on airgapped computers to perform the same function.

A wallet application that supports external signing can remove the need for the private key to be readable by the wallet software, thereby decreasing the risk of keeping keys on a device that is likely always connected to the internet.

{% include image.html
image = "/assets/images/guide/private-key-management/schemes/signing-devices.jpg"
retina = "/assets/images/guide/private-key-management/schemes/signing-devices@2x.jpg"
alt-text = "External signing device illustration"
caption = "Hardware wallets are the most common external signing devices."
width = 800
height = 400
%}

### How it works
The external device can generate and store a keypair offline. Therefore, the private key has never been known outside the device. A software wallet can connect to the signing device and act as an interface, or handle transactions air gapped from the device.

When a transaction needs to be signed, the software submits a partially signed bitcoin transaction (PSBT, defined in [BIP174](https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki)) to the device. The user confirms on the device and the PSBT state of the transaction returned to the software wallet application is now fully signed and can be transmitted to the blockchain. This process can also happen fully air gapped by using memory cards instead of cables or wireless connections, to keep the device offline at all times.

{% include fact/pros.html %}

- Removes private key from online devices
- Can provide very high security if used correctly

{% include fact/close.html %}

{% include fact/cons.html %}

- Purchase of specialized hardware required
- Requires further effort and knowledge to setup correctly
- Still requires a good manual backup for redundancy

{% include fact/close.html %}

### Best practice

**When to use**
- When storing medium to large amounts
- When risk of loss from theft is higher than loss from negligence
- When target audience is likely to be very knowledgeable or motivated to learn good manual backup schemes

**When not to use**
- When most users are new to bitcoin and unlikely to implement good backup schemes
- When transactions are likely to be frequent and low value

**Variations**
- Interfaces (bluetooth, USB, microSD card, camera, NFC)
- Platform compatibility
- Additional user authentication (pin or password)

**Products that use this scheme**
- [Electrum]({{ 'https://electrum.org'}})
- [Wasabi]({{ 'https://wasabiwallet.io'}})
- [Bluewallet]({{ 'https://bluewallet.io'}})

**Hardware wallets**
- [Trezor]({{ 'https://trezor.io'}})
- [Ledger]({{ 'https://www.ledger.com'}})
- [Keepkey]({{ 'https://shapeshift.com/keepkey'}})
- [Coldcard]({{ 'https://coldcardwallet.com'}})

---

Next, let's look at [key sharing]({{ '/guide/private-key-management/key-sharing/' | relative_url }}).
Loading