---
guide/principles/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index dc96b3608..ebdf680d5 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -52,7 +52,7 @@ Unlike traditional banking systems, the Bitcoin economy does not require new use
## Inclusion
-> Provide equal access regardless of the user's location, language, ability and prior knowledge of Bitcoin
+> Build borderless products without location, language, social or political barriers
There are no background checks, credit checks, or gatekeepers to Bitcoin. A Kenyan farmer has the same access to Bitcoin as a Wall Street trader.
From fd349e1693194e7704d51fe74243ec5d6f5df4d6 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 10:28:06 +0000
Subject: [PATCH 47/97] Fix conflict with master in guide.md
---
guide.md | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/guide.md b/guide.md
index a8a53e57b..eddda244d 100644
--- a/guide.md
+++ b/guide.md
@@ -2,10 +2,11 @@
layout: guide
nav_order: 1
title: Guide
+secondary_nav_title: Introduction
description: The Bitcoin Design Guide is a reference for the design of bitcoin applications.
permalink: /guide/
main_nav: true
-secondary_nav: false
+secondary_nav: true
main_classes: -no-top-padding
image: /assets/images/guide/bitcoin-island-preview.jpg
---
@@ -50,7 +51,8 @@ With Bitcoin being so new and different, a big focus of the guide lies on provid
- [Onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) goes in-depth on the delicate process of introducing new users to bitcoin and how to use specific products and features
- [Private key management]({{ '/guide/private-key-management/introduction/' | relative_url }}) provides extensive details and guidance on the many techniques for storing private keys
- [Payments]({{ '/guide/payments/' | relative_url }}) deals with the complexities of sending and receiving bitcoin across various use cases
-- [Foundations]({{ '/guide/foundations/' | relative_url }}) basics and best practices and other useful information for designing Bitcoin products
+- [Foundations]({{ '/guide/foundations/' | relative_url }}) highlights principles, best practices and other useful information for designing Bitcoin products
+- [Case studies]({{ '/guide/case-studies/' | relative_url }}) explores approaches to diverse uses cases with wireframes, designs and prototypes.
- [Glossary]({{ '/guide/glossary/' | relative_url }}) explains common Bitcoin terminology, from Address to ZPUB.
## How to use the guide
From 2817605e19924de57c9d77038ea634cfca97b17c Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 10:32:20 +0000
Subject: [PATCH 48/97] Fix conflicts with master in glossary.md
---
guide/glossary.md | 33 ++++++++++++++++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/guide/glossary.md b/guide/glossary.md
index 96992df67..b1af2be74 100644
--- a/guide/glossary.md
+++ b/guide/glossary.md
@@ -2,12 +2,43 @@
layout: guide
title: Glossary
permalink: /guide/glossary/
-nav_order: 7
+nav_order: 8
+main_classes: -no-top-padding
+image: /assets/images/guide/glossary/glossary-preview.jpg
---
+
+
+{% include picture.html
+ image = "/assets/images/guide/glossary/glossary.png"
+ retina = "/assets/images/guide/glossary/glossary@2x.png"
+ mobile = "/assets/images/guide/glossary/glossary-mobile.png"
+ mobileRetina = "/assets/images/guide/glossary/glossary-mobile@2x.png"
+ alt-text = "Notebook with handwritten user actions"
+ width = 1600
+ height = 550
+ layout = "full-width"
+%}
+
# Glossary
{: .no_toc }
+---
+
+
+ * Table of contents
+{:toc}
+
+
+---
+
## Address
An identifier of 26-35 alphanumeric characters that is used to receive bitcoin. There are [several address formats](https://en.bitcoin.it/wiki/List_of_address_prefixes) based on different specifications. Users need to know this information during backup for future recovery so applications should inform users which format it uses as support varies across applications.
From 012ecf3f8291d2a9c7dc16f2ff69f8bdaec11345 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 12:04:17 +0000
Subject: [PATCH 49/97] Address maker, soften wording around running a node
---
guide/principles/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index ebdf680d5..b04adb652 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -40,7 +40,7 @@ These are principles we in the Bitcoin Design Community have identified and stan
Unlike traditional banking systems, the Bitcoin economy does not require new users to seek permission from anyone. Bitcoin has no central point of control. No one person or entity is in charge. Connecting to any [node]({{ '/guide/glossary/#node' | relative_url }}) on the network gives you the same rights and responsibilities, which also ensures that there is no single point of failure.
**Do**
-- Run a full Bitcoin node when possible
+- Design products that encourage people to run a full Bitcoin node
- Alternatively, use a light client with the [p2p network]({{ 'https://github.com/bitcoin/bips/blob/master/bip-0157.mediawiki'}}) using [compact block filters]({{ 'https://github.com/bitcoin/bips/blob/master/bip-0158.mediawiki'}})
- Offer the user choice of what node and other external services to connect to
From 7e73385149cd1c0c921b5435065cd7cc65205a7f Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 12:08:20 +0000
Subject: [PATCH 50/97] Add Do around 'path to self custody'
---
guide/principles/principles.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index b04adb652..328e5b5a2 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -98,6 +98,7 @@ Our existing mental models of access to digital services are usernames and passw
**Do**
- Let users control their private keys and funds directly
+- Create an easy path to self-custody for Bitcoin beginners
**Don't**
- Custody funds for your users
From 47bbe4ca7bf922d1434cc3a89f346666a904b150 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 12:11:47 +0000
Subject: [PATCH 51/97] Tweak Transparency pull-quote
---
guide/principles/principles.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index 328e5b5a2..82af4ee89 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -75,9 +75,9 @@ And while Bitcoin is already widely used by a large number of people, it pales i
## Transparency
-> Open-source your products and clearly explain how they work
+> Be open and transparent with how your product works, open-source your code when possible
-While an open and decentralized financial system that lets people connect directly with it is great, it does put a lot of burden on the users to pick a product they trust, and that works for them. We can make this easier by freely sharing information about how our products work, what technologies they use and rely on and so forth. Let people verify that your claims are true. It is also very important to be open about what risks the user might be taking on with self-custody, under which scenarios they might lose access to their funds and best practices for avoiding this.
+While an open and decentralized financial system that lets people connect directly with it is great, it does put a lot of burden on the users to pick a product they trust, and that works for them. We can make this easier by freely sharing information about how our products work, what technologies they use and rely on. Let people verify that your claims are true, ideally by open-sourcing your own code. It is also very important to be open about what risks the user might be taking on with self-custody, under which scenarios they might lose access to their funds and best practices for avoiding this.
**Do**
- Be open and transparent with how your product works
From bbd6299cc9c1b389df183cb710451f63a0bb2443 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 12:20:03 +0000
Subject: [PATCH 52/97] Shorten Security section
---
guide/principles/principles.md | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index 82af4ee89..9a7bbde38 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -110,17 +110,18 @@ Our existing mental models of access to digital services are usernames and passw
> Provide appropriate and progressive security for all types of users
-Self-custody means that the end user is ultimately responsible for keeping their funds and private keys safe. They can only do that if we provide them with good, appropriate tools and awareness of best practices. It is therefore our responsibility as designers and makers to really take their security seriously and make Bitcoin products that are as secure as possible by default. We should strive for no loss of funds, regardless of whether this happens through negligence or theft.
+Self-custody often leaves the end-user responsible for the security of their private keys. They can only do a good job of that if we provide them with appropriate tools and awareness of best practices.
-Security is especially important when onboarding people new to Bitcoin where solutions that might be fine for advanced users might backfire for beginners. New users are likely to start by storing small amounts until they get comfortable with self-custody. A scheme suited for storing large amounts of funds is likely overkill and scary to a beginner, so the concept of progressive security is a good idea. This could let a user upgrade their security and private key management scheme as their savings grow.
+Security is especially important when onboarding people new to Bitcoin where solutions that work for advanced users might backfire. New users are likely to start by storing small amounts until they get comfortable with self-custody. The concept of progressive security is a good idea for here. This would let a user upgrade their security and private key management scheme as their savings grow.
-A big part of security is also education and awareness, protecting users from bad actors and potentially their own bad behavior. Bad actors may already know what most users don’t, and be aware of new vulnerabilities. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users of several years in one go, for example while onboarding to a product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
+Education and awareness is a big part of security, protecting users from bad actors and potentially their own bad behavior. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example while onboarding to a product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
Security can also be a feeling. A product that is polished, good looking, easy to use and transparently communicates how it works can help users feel more secure. Especialy compared to one with the exact same security measures that lack these qualities.
**Do**
- Take safeguarding of users funds seriously
+- Strive for no loss of funds, whether by negligence or theft
- Provide suitable private key management schemes for beginners
- Offer progressive security and upgrade paths
- Build with bad actors in mind
From ad3701159986d863963bc3a279ae0bc4d7d7776b Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 12:27:58 +0000
Subject: [PATCH 53/97] Update order or principles
---
guide/principles/principles.md | 132 ++++++++++++++++-----------------
1 file changed, 66 insertions(+), 66 deletions(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index 9a7bbde38..460a73504 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -23,30 +23,59 @@ As a new technology, Bitcoin offers the opportunity of a decentralized open fina
These are principles we in the Bitcoin Design Community have identified and stand behind. Some of these come from the technology itself, and others from the behavior and ethos of the community. Although every use case and product is different, applications should strive to follow these principles. Diverging from them should only be done with very good reason.
-- [Decentralization](#decentralization)
-- [Inclusion](#inclusion)
-- [Transparency](#transparency)
- [Self-custody](#self-custody)
- [Security](#security)
-- [Privacy](#privacy)
+- [Inclusion](#inclusion)
- [Interoperability](#interoperability)
+- [Transparency](#transparency)
+- [Privacy](#privacy)
+- [Decentralization](#decentralization)
---
-## Decentralization
+## Self-custody
-> Design products that encourage people to run a full Bitcoin node
+> Let users control their private keys, with no risk for seizure or freezing of funds
-Unlike traditional banking systems, the Bitcoin economy does not require new users to seek permission from anyone. Bitcoin has no central point of control. No one person or entity is in charge. Connecting to any [node]({{ '/guide/glossary/#node' | relative_url }}) on the network gives you the same rights and responsibilities, which also ensures that there is no single point of failure.
+Our existing mental models of access to digital services are usernames and passwords, controlled by a company that has custody of your funds and data. With everyone having direct access to the Bitcoin network without middlemen, there is no longer a need for people to delegate control of their funds. While it comes with greater responsibility, it is self-custody that enables the open financial system of peer-to-peer transactions.
**Do**
-- Design products that encourage people to run a full Bitcoin node
-- Alternatively, use a light client with the [p2p network]({{ 'https://github.com/bitcoin/bips/blob/master/bip-0157.mediawiki'}}) using [compact block filters]({{ 'https://github.com/bitcoin/bips/blob/master/bip-0158.mediawiki'}})
-- Offer the user choice of what node and other external services to connect to
+- Let users control their private keys and funds directly
+- Create an easy path to self-custody for Bitcoin beginners
**Don't**
-- Introduce a single point of failure between the user and the Bitcoin network
-- Build products that stop working if the project shuts down
+- Custody funds for your users
+- Build products where the users' funds can be seized, or frozen
+
+---
+
+## Security
+
+> Provide appropriate and progressive security for all types of users
+
+Self-custody often leaves the end-user responsible for the security of their private keys. They can only do a good job of that if we provide them with appropriate tools and awareness of best practices.
+
+Security is especially important when onboarding people new to Bitcoin where solutions that work for advanced users might backfire. New users are likely to start by storing small amounts until they get comfortable with self-custody. The concept of progressive security is a good idea for here. This would let a user upgrade their security and private key management scheme as their savings grow.
+
+Education and awareness is a big part of security, protecting users from bad actors and potentially their own bad behavior. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example while onboarding to a product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
+
+Security can also be a feeling. A product that is polished, good looking, easy to use and transparently communicates how it works can help users feel more secure. Especialy compared to one with the exact same security measures that lack these qualities.
+
+
+**Do**
+- Take safeguarding of users funds seriously
+- Strive for no loss of funds, whether by negligence or theft
+- Provide suitable private key management schemes for beginners
+- Offer progressive security and upgrade paths
+- Build with bad actors in mind
+- Minimize risk of self-inflicted loss from user negligence
+- Continuously educate users on best practice and risks
+- Reduce attack surface by minimizing use of external code dependencies
+
+**Don't**
+- Blame the user for losing funds
+- Expect beginners to implement best practice backup strategies
+- Underestimate the added *feeling* of security that can come from well polished products
---
@@ -73,66 +102,38 @@ And while Bitcoin is already widely used by a large number of people, it pales i
---
-## Transparency
-
-> Be open and transparent with how your product works, open-source your code when possible
-
-While an open and decentralized financial system that lets people connect directly with it is great, it does put a lot of burden on the users to pick a product they trust, and that works for them. We can make this easier by freely sharing information about how our products work, what technologies they use and rely on. Let people verify that your claims are true, ideally by open-sourcing your own code. It is also very important to be open about what risks the user might be taking on with self-custody, under which scenarios they might lose access to their funds and best practices for avoiding this.
-
-**Do**
-- Be open and transparent with how your product works
-- Build your product as open-source when possible
-- Let people verify, without having to trust
-- Explain what risks the user is taking on, and how best to mitigate them
-
-**Don't**
-- Make claims that are not explained or verifiable
-
----
-
-## Self-custody
+## Interoperability
-> Let users control their private keys, with no risk for seizure or freezing of funds
+> Enable import and export of wallets, maximise backwards compatibility and use of open standards
-Our existing mental models of access to digital services are usernames and passwords, controlled by a company that has custody of your funds and data. With everyone having direct access to the Bitcoin network without middlemen, there is no longer a need for people to delegate control of their funds. While it comes with greater responsibility, it is self-custody that enables the open financial system of peer-to-peer transactions.
+Bitcoin is an open-source protocol, operated in a decentralized manner. This has led to a number of standards being developed for products building on the protocol to be compatible. It should be easy to switch and move your Bitcoin wallet to a different application, should you wish. Making sure that your product supports as many of these standards as possible is best practice and builds trust. More on [wallet interoperability]({{ '/guide/foundations/wallet-interoperability/' | relative_url }}).
**Do**
-- Let users control their private keys and funds directly
-- Create an easy path to self-custody for Bitcoin beginners
+- Support import and export of wallets
+- Support as many relevant BIPs as possible
+- Be transparent with which ones you do and don’t support
+- Maximize backwards compatibility
**Don't**
-- Custody funds for your users
-- Build products where the users' funds can be seized, or frozen
+- Lock your users in
+- Implement proprietary solutions when open standards exist
---
-## Security
-
-> Provide appropriate and progressive security for all types of users
-
-Self-custody often leaves the end-user responsible for the security of their private keys. They can only do a good job of that if we provide them with appropriate tools and awareness of best practices.
-
-Security is especially important when onboarding people new to Bitcoin where solutions that work for advanced users might backfire. New users are likely to start by storing small amounts until they get comfortable with self-custody. The concept of progressive security is a good idea for here. This would let a user upgrade their security and private key management scheme as their savings grow.
-
-Education and awareness is a big part of security, protecting users from bad actors and potentially their own bad behavior. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example while onboarding to a product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
+## Transparency
-Security can also be a feeling. A product that is polished, good looking, easy to use and transparently communicates how it works can help users feel more secure. Especialy compared to one with the exact same security measures that lack these qualities.
+> Be open and transparent with how your product works, open-source your code when possible
+While an open and decentralized financial system that lets people connect directly with it is great, it does put a lot of burden on the users to pick a product they trust, and that works for them. We can make this easier by freely sharing information about how our products work, what technologies they use and rely on. Let people verify that your claims are true, ideally by open-sourcing your own code. It is also very important to be open about what risks the user might be taking on with self-custody, under which scenarios they might lose access to their funds and best practices for avoiding this.
**Do**
-- Take safeguarding of users funds seriously
-- Strive for no loss of funds, whether by negligence or theft
-- Provide suitable private key management schemes for beginners
-- Offer progressive security and upgrade paths
-- Build with bad actors in mind
-- Minimize risk of self-inflicted loss from user negligence
-- Continuously educate users on best practice and risks
-- Reduce attack surface by minimizing use of external code dependencies
+- Be open and transparent with how your product works
+- Build your product as open-source when possible
+- Let people verify, without having to trust
+- Explain what risks the user is taking on, and how best to mitigate them
**Don't**
-- Blame the user for losing funds
-- Expect beginners to implement best practice backup strategies
-- Underestimate the added *feeling* of security that can come from well polished products
+- Make claims that are not explained or verifiable
---
@@ -154,18 +155,17 @@ The Bitcoin network doesn’t need to know your name for you to use it. Strive t
---
-## Interoperability
+## Decentralization
-> Enable import and export of wallets, maximise backwards compatibility and use of open standards
+> Design products that encourage people to run a full Bitcoin node
-Bitcoin is an open-source protocol, operated in a decentralized manner. This has led to a number of standards being developed for products building on the protocol to be compatible. It should be easy to switch and move your Bitcoin wallet to a different application, should you wish. Making sure that your product supports as many of these standards as possible is best practice and builds trust. More on [wallet interoperability]({{ '/guide/foundations/wallet-interoperability/' | relative_url }}).
+Unlike traditional banking systems, the Bitcoin economy does not require new users to seek permission from anyone. Bitcoin has no central point of control. No one person or entity is in charge. Connecting to any [node]({{ '/guide/glossary/#node' | relative_url }}) on the network gives you the same rights and responsibilities, which also ensures that there is no single point of failure.
**Do**
-- Support import and export of wallets
-- Support as many relevant BIPs as possible
-- Be transparent with which ones you do and don’t support
-- Maximize backwards compatibility
+- Design products that encourage people to run a full Bitcoin node
+- Alternatively, use a light client with the [p2p network]({{ 'https://github.com/bitcoin/bips/blob/master/bip-0157.mediawiki'}}) using [compact block filters]({{ 'https://github.com/bitcoin/bips/blob/master/bip-0158.mediawiki'}})
+- Offer the user choice of what node and other external services to connect to
**Don't**
-- Lock your users in
-- Implement proprietary solutions when open standards exist
+- Introduce a single point of failure between the user and the Bitcoin network
+- Build products that stop working if the project shuts down
\ No newline at end of file
From f885b19067aa2cb9e94c5150fd5fc3864935c7b0 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 12:32:26 +0000
Subject: [PATCH 54/97] Simplified wording
---
guide/principles/principles.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index 460a73504..f905ff495 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -93,10 +93,10 @@ And while Bitcoin is already widely used by a large number of people, it pales i
- Use plain language that people new to Bitcoin can understand regardless of prior knowledge
- Localize your product and make it multilingual
- Educate in place, when people are presented with a new concept
-- Treat users with impairments, or who rely on assistive technologies, as first-class citizens
+- Treat users who rely on assistive technologies, as first-class citizens
**Don't**
-- Introduce requirements that might exclude many people, for example by building only for high-end hardware, requiring US KYC (Know-your-customer) information etc
+- Exclude people by building features that only work in certain countries
- Add technical detail that is not required knowledge, or technical terms like seed phrase XPUBs, mnemonics etc.
- Put all education up front and expect people to read and remember it
From 661e72f6ed75146cd95cc5efc9291186fe61ac50 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 12:34:47 +0000
Subject: [PATCH 55/97] Simplify wording
---
guide/principles/principles.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index f905ff495..01becd785 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -85,10 +85,10 @@ Security can also be a feeling. A product that is polished, good looking, easy t
There are no background checks, credit checks, or gatekeepers to Bitcoin. A Kenyan farmer has the same access to Bitcoin as a Wall Street trader.
-And while Bitcoin is already widely used by a large number of people, it pales in comparison with the many more that are likely to use it in the future. We need to design products that are prepared for people new to Bitcoin, without reducing the possibilities. This means using plain and familiar language, explaining things in the context where they are needed, not overwhelming people with technical detail, and more.
+While Bitcoin is already used by a large number of people, it pales in comparison with the many more that are likely to use it in the future. We need to design products that are prepared for people unfamiliar with Bitcoin. This means using plain and familiar language, explaining things in the context where they are needed, not overwhelming people with technical detail, and more.
**Do**
-- Provide equal and direct access to the Bitcoin network, without middlemen and exclusive requirements
+- Provide equal and direct access to the Bitcoin network
- Design Bitcoin products that are usable by the widest range of people possible
- Use plain language that people new to Bitcoin can understand regardless of prior knowledge
- Localize your product and make it multilingual
From 082816bf4c420459e07656fa09f42771c2a16ef4 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 12:37:29 +0000
Subject: [PATCH 56/97] Simplify wording
---
guide/principles/principles.md | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index 01becd785..be94402dc 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -128,8 +128,7 @@ While an open and decentralized financial system that lets people connect direct
**Do**
- Be open and transparent with how your product works
-- Build your product as open-source when possible
-- Let people verify, without having to trust
+- Let people verify your claims by open-sourcing your code when possible
- Explain what risks the user is taking on, and how best to mitigate them
**Don't**
From 7cfbcba720528d59fa9665c10dead4cbac6e48e2 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 12:42:29 +0000
Subject: [PATCH 57/97] Link to Onboarding
---
guide/principles/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index be94402dc..3143cec3f 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -57,7 +57,7 @@ Self-custody often leaves the end-user responsible for the security of their pri
Security is especially important when onboarding people new to Bitcoin where solutions that work for advanced users might backfire. New users are likely to start by storing small amounts until they get comfortable with self-custody. The concept of progressive security is a good idea for here. This would let a user upgrade their security and private key management scheme as their savings grow.
-Education and awareness is a big part of security, protecting users from bad actors and potentially their own bad behavior. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example while onboarding to a product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
+Education and awareness is a big part of security, protecting users from bad actors and potentially their own bad behavior. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
Security can also be a feeling. A product that is polished, good looking, easy to use and transparently communicates how it works can help users feel more secure. Especialy compared to one with the exact same security measures that lack these qualities.
From 7d0ef6e38bf1eeb94453d5804c0be924f87eda0f Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 12:49:06 +0000
Subject: [PATCH 58/97] Tweak privacy example.
---
guide/principles/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index 3143cec3f..a0478c449 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -140,7 +140,7 @@ While an open and decentralized financial system that lets people connect direct
> Minimize collection of personal information, and maximize financial transaction privacy
-A common misconception of Bitcoin is that it provides complete anonymity and privacy of transactions. Since the blockchain is an unchangeable ledger of all transactions ever made, it is in fact very hard to not have your complete transaction history visible once even a single one of your addresses is connected to you. If Bitcoin is to become viable for a wider audience and daily use we ought to take privacy seriously. This is certainly not to enable or encourage illicit activity, but to protect individual financial privacy. We would not accept our bank to publish our financial transactions publicly.
+A common misconception of Bitcoin is that it provides complete anonymity and privacy of transactions. Since the blockchain is an unchangeable ledger of all transactions ever made, it is in fact very hard to not have your complete transaction history visible once even a single one of your addresses is connected to you. If Bitcoin is to become viable for a wider audience and daily use we ought to take privacy seriously. This is certainly not to enable or encourage illicit activity, but to protect individual financial privacy. We would not accept our bank to publish our financial transactions to our Twitter or Facebook feeds, so should avoid that scenario with Bitcoin as well.
The Bitcoin network doesn’t need to know your name for you to use it. Strive to collect as little personal information as possible about your users. When it is absolutely required to provide the product services, collect only the bare minimum and consider if and when this can be discarded when no longer necessary. If you do collect personal information, be transparent about why and how you will use and store it.
From 99a16a0ec93b0e5bf50d80f949cf6c0c92ee78df Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 12:55:52 +0000
Subject: [PATCH 59/97] Remove political
---
guide/principles/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index a0478c449..40dc77145 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -81,7 +81,7 @@ Security can also be a feeling. A product that is polished, good looking, easy t
## Inclusion
-> Build borderless products without location, language, social or political barriers
+> Build borderless products without location, language or social barriers
There are no background checks, credit checks, or gatekeepers to Bitcoin. A Kenyan farmer has the same access to Bitcoin as a Wall Street trader.
From dce37ffebc4e15896e2a423654c25e5f70989a62 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 13:05:15 +0000
Subject: [PATCH 60/97] Move Principles page into Foundation
---
guide/principles/principles.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index 40dc77145..795e62ce0 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -2,9 +2,9 @@
layout: guide
title: Principles
description: The key principles to follow when designing Bitcoin products.
-nav_order: 2
-has_children: false
-permalink: /guide/principles/
+nav_order: 9
+parent: Foundations
+permalink: /guide/foundations/principles/
main_classes: -no-top-padding
---
From 0382cdb9ff9c2e934cc2aec4c65b6e720ab434bd Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 13:13:53 +0000
Subject: [PATCH 61/97] Include blurb and link to Principles from
Foundations/introduction page
---
guide/foundations/foundations.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/guide/foundations/foundations.md b/guide/foundations/foundations.md
index 2c78823b0..742ae58a1 100644
--- a/guide/foundations/foundations.md
+++ b/guide/foundations/foundations.md
@@ -14,6 +14,9 @@ Learn about some of the basics to keep in mind when designing Bitcoin applicatio
---
+**[Bitcoin design principles]({{ '/guide/foundations/principles/' | relative_url }})**
+
+Principles that the Bitcoin Design Community have identified and stand behind. Although every use case and product is different, applications should strive to follow these principles.
**[Wallet interoperability]({{ '/guide/foundations/wallet-interoperability/' | relative_url }})**
An overview of important interaction points between Bitcoin applications and user experiences, from payment links and wallet recovery to node configuration.
\ No newline at end of file
From 4463094078ed63a2812a36b42037abd7fe52e400 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 15:25:22 +0000
Subject: [PATCH 62/97] Move principle images to foundation folder
---
.../principles/page-principles.jpg | Bin
1 file changed, 0 insertions(+), 0 deletions(-)
rename assets/images/guide/{private-key-management => foundations}/principles/page-principles.jpg (100%)
diff --git a/assets/images/guide/private-key-management/principles/page-principles.jpg b/assets/images/guide/foundations/principles/page-principles.jpg
similarity index 100%
rename from assets/images/guide/private-key-management/principles/page-principles.jpg
rename to assets/images/guide/foundations/principles/page-principles.jpg
From c6355c96bd0005add38b2589cc8ab200bd6a6e82 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 15:31:19 +0000
Subject: [PATCH 63/97] Add header image to Principles page, move remaining
images
---
.../principles}/principles-mobile.jpg | Bin
.../principles}/principles-mobile@2x.jpg | Bin
.../principles}/principles.jpg | Bin
.../principles}/principles@2x.jpg | Bin
guide/principles/principles.md | 12 ++++++++++++
5 files changed, 12 insertions(+)
rename assets/images/guide/{private-key-management => foundations/principles}/principles-mobile.jpg (100%)
rename assets/images/guide/{private-key-management => foundations/principles}/principles-mobile@2x.jpg (100%)
rename assets/images/guide/{private-key-management => foundations/principles}/principles.jpg (100%)
rename assets/images/guide/{private-key-management => foundations/principles}/principles@2x.jpg (100%)
diff --git a/assets/images/guide/private-key-management/principles-mobile.jpg b/assets/images/guide/foundations/principles/principles-mobile.jpg
similarity index 100%
rename from assets/images/guide/private-key-management/principles-mobile.jpg
rename to assets/images/guide/foundations/principles/principles-mobile.jpg
diff --git a/assets/images/guide/private-key-management/principles-mobile@2x.jpg b/assets/images/guide/foundations/principles/principles-mobile@2x.jpg
similarity index 100%
rename from assets/images/guide/private-key-management/principles-mobile@2x.jpg
rename to assets/images/guide/foundations/principles/principles-mobile@2x.jpg
diff --git a/assets/images/guide/private-key-management/principles.jpg b/assets/images/guide/foundations/principles/principles.jpg
similarity index 100%
rename from assets/images/guide/private-key-management/principles.jpg
rename to assets/images/guide/foundations/principles/principles.jpg
diff --git a/assets/images/guide/private-key-management/principles@2x.jpg b/assets/images/guide/foundations/principles/principles@2x.jpg
similarity index 100%
rename from assets/images/guide/private-key-management/principles@2x.jpg
rename to assets/images/guide/foundations/principles/principles@2x.jpg
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index 795e62ce0..faa3d6d7c 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -6,6 +6,7 @@ nav_order: 9
parent: Foundations
permalink: /guide/foundations/principles/
main_classes: -no-top-padding
+image: /assets/images/guide/foundation/principles/page-principles.jpg
---
+{% include picture.html
+ image = "/assets/images/guide/foundation/principles/principles.jpg"
+ retina = "/assets/images/guide/foundation/principles/principles@2x.jpg"
+ mobile = "/assets/images/guide/foundation/principles/principles-mobile.jpg"
+ mobileRetina = "/assets/images/foundation/principles/principles-mobile@2x.jpg"
+ alt-text = "Principles header illustration"
+ width = 1600
+ height = 600
+ layout = "full-width"
+%}
+
# Bitcoin design principles
As a new technology, Bitcoin offers the opportunity of a decentralized open financial system, where participants share the role of securing the network. This is important to give everyone equal and direct access without needing intermediaries. To make this a reality, we encourage everyone working on products to deliberately support the core principles of designing for Bitcoin.
From 50c8752fe3d175bc8f5745639eb2fb40fa0b588e Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 16:04:51 +0000
Subject: [PATCH 64/97] Fix URL typo
---
guide/principles/principles.md | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index faa3d6d7c..e335e59da 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -6,7 +6,7 @@ nav_order: 9
parent: Foundations
permalink: /guide/foundations/principles/
main_classes: -no-top-padding
-image: /assets/images/guide/foundation/principles/page-principles.jpg
+image: /assets/images/guide/foundations/principles/page-principles.jpg
---
{% include picture.html
- image = "/assets/images/guide/foundation/principles/principles.jpg"
- retina = "/assets/images/guide/foundation/principles/principles@2x.jpg"
- mobile = "/assets/images/guide/foundation/principles/principles-mobile.jpg"
- mobileRetina = "/assets/images/foundation/principles/principles-mobile@2x.jpg"
+ image = "/assets/images/guide/foundations/principles/principles.jpg"
+ retina = "/assets/images/guide/foundations/principles/principles@2x.jpg"
+ mobile = "/assets/images/guide/foundations/principles/principles-mobile.jpg"
+ mobileRetina = "/assets/images/foundations/principles/principles-mobile@2x.jpg"
alt-text = "Principles header illustration"
width = 1600
height = 600
From 9186aaa8f655de9cf7a62b260f5eb7fc0276a796 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 12 Mar 2021 16:05:52 +0000
Subject: [PATCH 65/97] Format, line break
---
guide/foundations/foundations.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/guide/foundations/foundations.md b/guide/foundations/foundations.md
index 742ae58a1..6d0b92226 100644
--- a/guide/foundations/foundations.md
+++ b/guide/foundations/foundations.md
@@ -17,6 +17,8 @@ Learn about some of the basics to keep in mind when designing Bitcoin applicatio
**[Bitcoin design principles]({{ '/guide/foundations/principles/' | relative_url }})**
Principles that the Bitcoin Design Community have identified and stand behind. Although every use case and product is different, applications should strive to follow these principles.
+
+
**[Wallet interoperability]({{ '/guide/foundations/wallet-interoperability/' | relative_url }})**
An overview of important interaction points between Bitcoin applications and user experiences, from payment links and wallet recovery to node configuration.
\ No newline at end of file
From 09a09927c4996b64e5af66000a341254eda2270d Mon Sep 17 00:00:00 2001
From: Pavlenex
Date: Mon, 15 Mar 2021 11:13:25 +0100
Subject: [PATCH 66/97] Update introduction.md
---
guide/private-key-management/introduction.md | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/guide/private-key-management/introduction.md b/guide/private-key-management/introduction.md
index 8291ba7c1..3aa7b70fc 100644
--- a/guide/private-key-management/introduction.md
+++ b/guide/private-key-management/introduction.md
@@ -31,7 +31,7 @@ scan this page to get an overview of the section and then decide which topics to
# Private key management
-When designing a bitcoin-application, the way you choose to manage the [private key]({{ '/guide/glossary/#private-key' | relative_url }}){:target="_blank"} often dictates the fundamental user experience for your users. Being in control of a private key means you have access to the funds it holds. Keeping that key safe is like being in charge of the security of your own bank. It comes with a lot of freedom, but also a big responsibility that many users are not used to.
+When designing a bitcoin-application, the way you choose to manage the [private key]({{ '/guide/glossary/#private-key' | relative_url }}){:target="_blank"} often dictates the fundamental user experience for your users. Being in control of a private key means you have access to the funds it holds. Keeping that key safe is like being in charge of the security of your own bank. It comes with a lot of freedom, but also a big responsibility that many users are not used to.
If it’s not secure enough, you risk loss of user's funds. But if it’s not convenient enough, you risk not getting or retaining many users in the first place.
@@ -43,17 +43,11 @@ This chapter is meant to give an overview of private key management schemes, inc
An overview of the most common private key management schemes for bitcoin products, and thoughts on picking a suitable scheme for your target audience and their use case.
-**[Personal schemes]({{ '/guide/private-key-management/single-user-schemes/' | relative_url }})**
-
-The schemes that are most common for the personal use of one individual.
-
-**[Shared schemes]({{ '/guide/private-key-management/single-user-schemes/' | relative_url }})**
-
-When more than one person wants to share a Bitcoin wallet, multi-key schemes become essential.
+---
-**[Case studies]({{ '/guide/private-key-management/case-studies/' | relative_url }})**
+**[Principles]({{ '/guide/private-key-management/principles/' | relative_url }})**
-A look at some hypothetical use case categories and what might be suitable approaches for private key management schemes for each of them.
+Every use case and product is different but there are things that all wallet applications should strive for, and only diverge from with very good reasons.
---
From 3d421acfc45dfbb6ff54e3d997d85638e55e9066 Mon Sep 17 00:00:00 2001
From: Pavlenex
Date: Mon, 15 Mar 2021 11:14:40 +0100
Subject: [PATCH 67/97] Create principles.md
---
guide/private-key-management/principles.md | 61 ++++++++++++++++++++++
1 file changed, 61 insertions(+)
create mode 100644 guide/private-key-management/principles.md
diff --git a/guide/private-key-management/principles.md b/guide/private-key-management/principles.md
new file mode 100644
index 000000000..802dbf2e9
--- /dev/null
+++ b/guide/private-key-management/principles.md
@@ -0,0 +1,61 @@
+---
+layout: guide
+title: Principles
+description: Principles to strive for while building bitcoin applications for end-users.
+nav_order: 4
+parent: Private key management
+permalink: /guide/private-key-management/principles/
+main_classes: -no-top-padding
+image: /assets/images/guide/private-key-management/principles/page-principles.jpg
+---
+
+
+
+{% include picture.html
+ image = "/assets/images/guide/private-key-management/principles.jpg"
+ retina = "/assets/images/guide/private-key-management/principles@2x.jpg"
+ mobile = "/assets/images/guide/private-key-management/principles-mobile.jpg"
+ mobileRetina = "/assets/images/guide/private-key-management/principles-mobile@2x.jpg"
+ alt-text = "Principles header illustration"
+ width = 1600
+ height = 600
+ layout = "full-width"
+%}
+
+# Principles
+
+Although every use case and product is different, there are a number of things that all wallet applications should strive for. Diverging from them should only be done with good reason.
+
+## No loss of funds
+
+Even though non-custodial wallet-makers don’t technically hold their users’ funds, and are less exposed to regulation, you are still providing a financial service product. It is essential to take the safekeeping of users’ funds seriously. Regardless of how loss could occur, whether it is self-inflicted or through theft, you should have thought this through and implemented adequate measures for the risk-profile of the use-case. This includes not simply blaming a first-time bitcoin user for not manually backing up their recovery phase when you told them to.
+
+Any loss is ultimately bad for both the user, the wallet application maker and the whole bitcoin community. Strive for *No loss of funds*.
+
+## Interoperability
+
+The bitcoin community is firmly built on open-source, decentralization, and the idea that the individual should be in full control of their funds. This has led to a number of standards that should make it fairly easy to switch and move your bitcoin wallet to a different wallet application. Making sure that your product supports these standards when relevant is best practice and builds trust.
+
+At a minimum, strive for supporting interoperability by enabling import and export, and using standard [address]({{ '/guide/glossary/#address' | relative_url }}){:target="_blank"} derivation schemes.
+
+## Privacy
+
+A common misconception of bitcoin is that it provides anonymity and privacy of transactions. Since the blockchain is literally an unchangeable ledger of all bitcoin transactions ever made, it is in fact very hard to not have your complete transaction history visible to knowledgable parties once even a single one of your addresses is connected to you. If bitcoin is to become viable for a wider audience and daily use we ought to take privacy seriously. This is certainly not to enable or encourage illicit activity, but to protect individual financial privacy. We would not accept our bank to publish our financial transactions publicly. So when building wallet-applications we should strive to implement best practice for maintaining and improving the financial privacy of bitcoin.
+
+At a minimum, make it easy for your customers to avoid address re-use.
+
+## Progressive security
+
+While it is possible to own and store immense wealth in a non-custodial bitcoin wallet, most new users of bitcoin are likely to start with much smaller sums before they get comfortable with depositing material parts of their savings in a wallet where they are responsible for security. There are many guides out there for how to best keep your recovery phrase backup safe, and conduct advanced op-sec to minimise every conceivable threat-vector. This might be appropriate for someone already intimately familiar with bitcoin technology, but is very likely both overkill and scary to the point of turning away new users. Think carefully about who your target customer is and choose a private key management scheme that is well suited to them.
+
+Strive for your product to grow with the user and provide progressively stronger security. For example, offering the ability to *sweep* a wallet into a new one, with a higher level security scheme once certain thresholds are reached. This way, a beginner could start out with an automatic cloud backup scheme but know that as they grow their funds could upgrade to a multikey setup down the line.
+
+***
+
+OK, let's have a look at some [case studies]({{ '/guide/case-studies/' | relative_url }}).
From 952ee7daa0fede7f3e8ac6011f9426199c5c0ea1 Mon Sep 17 00:00:00 2001
From: Pavlenex
Date: Mon, 15 Mar 2021 11:30:37 +0100
Subject: [PATCH 68/97] Revert "Create principles.md"
This reverts commit 3d421acfc45dfbb6ff54e3d997d85638e55e9066.
---
guide/private-key-management/principles.md | 61 ----------------------
1 file changed, 61 deletions(-)
delete mode 100644 guide/private-key-management/principles.md
diff --git a/guide/private-key-management/principles.md b/guide/private-key-management/principles.md
deleted file mode 100644
index 802dbf2e9..000000000
--- a/guide/private-key-management/principles.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-layout: guide
-title: Principles
-description: Principles to strive for while building bitcoin applications for end-users.
-nav_order: 4
-parent: Private key management
-permalink: /guide/private-key-management/principles/
-main_classes: -no-top-padding
-image: /assets/images/guide/private-key-management/principles/page-principles.jpg
----
-
-
-
-{% include picture.html
- image = "/assets/images/guide/private-key-management/principles.jpg"
- retina = "/assets/images/guide/private-key-management/principles@2x.jpg"
- mobile = "/assets/images/guide/private-key-management/principles-mobile.jpg"
- mobileRetina = "/assets/images/guide/private-key-management/principles-mobile@2x.jpg"
- alt-text = "Principles header illustration"
- width = 1600
- height = 600
- layout = "full-width"
-%}
-
-# Principles
-
-Although every use case and product is different, there are a number of things that all wallet applications should strive for. Diverging from them should only be done with good reason.
-
-## No loss of funds
-
-Even though non-custodial wallet-makers don’t technically hold their users’ funds, and are less exposed to regulation, you are still providing a financial service product. It is essential to take the safekeeping of users’ funds seriously. Regardless of how loss could occur, whether it is self-inflicted or through theft, you should have thought this through and implemented adequate measures for the risk-profile of the use-case. This includes not simply blaming a first-time bitcoin user for not manually backing up their recovery phase when you told them to.
-
-Any loss is ultimately bad for both the user, the wallet application maker and the whole bitcoin community. Strive for *No loss of funds*.
-
-## Interoperability
-
-The bitcoin community is firmly built on open-source, decentralization, and the idea that the individual should be in full control of their funds. This has led to a number of standards that should make it fairly easy to switch and move your bitcoin wallet to a different wallet application. Making sure that your product supports these standards when relevant is best practice and builds trust.
-
-At a minimum, strive for supporting interoperability by enabling import and export, and using standard [address]({{ '/guide/glossary/#address' | relative_url }}){:target="_blank"} derivation schemes.
-
-## Privacy
-
-A common misconception of bitcoin is that it provides anonymity and privacy of transactions. Since the blockchain is literally an unchangeable ledger of all bitcoin transactions ever made, it is in fact very hard to not have your complete transaction history visible to knowledgable parties once even a single one of your addresses is connected to you. If bitcoin is to become viable for a wider audience and daily use we ought to take privacy seriously. This is certainly not to enable or encourage illicit activity, but to protect individual financial privacy. We would not accept our bank to publish our financial transactions publicly. So when building wallet-applications we should strive to implement best practice for maintaining and improving the financial privacy of bitcoin.
-
-At a minimum, make it easy for your customers to avoid address re-use.
-
-## Progressive security
-
-While it is possible to own and store immense wealth in a non-custodial bitcoin wallet, most new users of bitcoin are likely to start with much smaller sums before they get comfortable with depositing material parts of their savings in a wallet where they are responsible for security. There are many guides out there for how to best keep your recovery phrase backup safe, and conduct advanced op-sec to minimise every conceivable threat-vector. This might be appropriate for someone already intimately familiar with bitcoin technology, but is very likely both overkill and scary to the point of turning away new users. Think carefully about who your target customer is and choose a private key management scheme that is well suited to them.
-
-Strive for your product to grow with the user and provide progressively stronger security. For example, offering the ability to *sweep* a wallet into a new one, with a higher level security scheme once certain thresholds are reached. This way, a beginner could start out with an automatic cloud backup scheme but know that as they grow their funds could upgrade to a multikey setup down the line.
-
-***
-
-OK, let's have a look at some [case studies]({{ '/guide/case-studies/' | relative_url }}).
From 1dea556e37faf142e4af68f2a48bc8a9c577cb69 Mon Sep 17 00:00:00 2001
From: Pavlenex
Date: Mon, 15 Mar 2021 11:30:41 +0100
Subject: [PATCH 69/97] Revert "Update introduction.md"
This reverts commit 09a09927c4996b64e5af66000a341254eda2270d.
---
guide/private-key-management/introduction.md | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/guide/private-key-management/introduction.md b/guide/private-key-management/introduction.md
index 3aa7b70fc..8291ba7c1 100644
--- a/guide/private-key-management/introduction.md
+++ b/guide/private-key-management/introduction.md
@@ -31,7 +31,7 @@ scan this page to get an overview of the section and then decide which topics to
# Private key management
-When designing a bitcoin-application, the way you choose to manage the [private key]({{ '/guide/glossary/#private-key' | relative_url }}){:target="_blank"} often dictates the fundamental user experience for your users. Being in control of a private key means you have access to the funds it holds. Keeping that key safe is like being in charge of the security of your own bank. It comes with a lot of freedom, but also a big responsibility that many users are not used to.
+When designing a bitcoin-application, the way you choose to manage the [private key]({{ '/guide/glossary/#private-key' | relative_url }}){:target="_blank"} often dictates the fundamental user experience for your users. Being in control of a private key means you have access to the funds it holds. Keeping that key safe is like being in charge of the security of your own bank. It comes with a lot of freedom, but also a big responsibility that many users are not used to.
If it’s not secure enough, you risk loss of user's funds. But if it’s not convenient enough, you risk not getting or retaining many users in the first place.
@@ -43,11 +43,17 @@ This chapter is meant to give an overview of private key management schemes, inc
An overview of the most common private key management schemes for bitcoin products, and thoughts on picking a suitable scheme for your target audience and their use case.
----
+**[Personal schemes]({{ '/guide/private-key-management/single-user-schemes/' | relative_url }})**
+
+The schemes that are most common for the personal use of one individual.
+
+**[Shared schemes]({{ '/guide/private-key-management/single-user-schemes/' | relative_url }})**
+
+When more than one person wants to share a Bitcoin wallet, multi-key schemes become essential.
-**[Principles]({{ '/guide/private-key-management/principles/' | relative_url }})**
+**[Case studies]({{ '/guide/private-key-management/case-studies/' | relative_url }})**
-Every use case and product is different but there are things that all wallet applications should strive for, and only diverge from with very good reasons.
+A look at some hypothetical use case categories and what might be suitable approaches for private key management schemes for each of them.
---
From d6f8b539c150d98c8cc8d43fa090cc0c1155e059 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 12:58:24 +0000
Subject: [PATCH 70/97] Move principles.md into foundations folder
---
guide/{principles => foundations}/principles.md | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename guide/{principles => foundations}/principles.md (100%)
diff --git a/guide/principles/principles.md b/guide/foundations/principles.md
similarity index 100%
rename from guide/principles/principles.md
rename to guide/foundations/principles.md
From 25315aa8358a520285a75f18b5bbff74c392372e Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:00:30 +0000
Subject: [PATCH 71/97] Grammar
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index e335e59da..c9f5001c7 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -32,7 +32,7 @@ The key principles of designing for Bitcoin
As a new technology, Bitcoin offers the opportunity of a decentralized open financial system, where participants share the role of securing the network. This is important to give everyone equal and direct access without needing intermediaries. To make this a reality, we encourage everyone working on products to deliberately support the core principles of designing for Bitcoin.
-These are principles we in the Bitcoin Design Community have identified and stand behind. Some of these come from the technology itself, and others from the behavior and ethos of the community. Although every use case and product is different, applications should strive to follow these principles. Diverging from them should only be done with very good reason.
+These are principles we in the Bitcoin Design Community has identified and stand behind. Some of these come from the technology itself, and others from the behavior and ethos of the community. Although every use case and product is different, applications should strive to follow these principles. Diverging from them should only be done with very good reason.
- [Self-custody](#self-custody)
From f4bd5730191a3c507e12b228d9c21bca9376ebd1 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:02:10 +0000
Subject: [PATCH 72/97] Better alt text
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index c9f5001c7..273f8b34f 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -22,7 +22,7 @@ The key principles of designing for Bitcoin
retina = "/assets/images/guide/foundations/principles/principles@2x.jpg"
mobile = "/assets/images/guide/foundations/principles/principles-mobile.jpg"
mobileRetina = "/assets/images/foundations/principles/principles-mobile@2x.jpg"
- alt-text = "Principles header illustration"
+ alt-text = "Principles header illustration, five white circles in a horizontal line on black background"
width = 1600
height = 600
layout = "full-width"
From 2b53904d16d2dc41d5728bd929d06dc8d2acdc7d Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:07:53 +0000
Subject: [PATCH 73/97] Expand explanation.
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index 273f8b34f..2496eaa1d 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -30,7 +30,7 @@ The key principles of designing for Bitcoin
# Bitcoin design principles
-As a new technology, Bitcoin offers the opportunity of a decentralized open financial system, where participants share the role of securing the network. This is important to give everyone equal and direct access without needing intermediaries. To make this a reality, we encourage everyone working on products to deliberately support the core principles of designing for Bitcoin.
+As a new technology, Bitcoin offers the opportunity of a decentralized open financial system, where participants share the role of securing the network. This is important to give everyone equal and direct access to economic opportunities without fearing seizure or needing intermediaries. To make this a reality, we encourage everyone working on products to deliberately support the core principles of designing for Bitcoin.
These are principles we in the Bitcoin Design Community has identified and stand behind. Some of these come from the technology itself, and others from the behavior and ethos of the community. Although every use case and product is different, applications should strive to follow these principles. Diverging from them should only be done with very good reason.
From 0b078aa63ae36e91656850f7a723513fec6167b0 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:11:18 +0000
Subject: [PATCH 74/97] Extraneous word
Co-authored-by: Christoph Ono
---
guide/principles/principles.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index e335e59da..8f696685a 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -67,7 +67,7 @@ Our existing mental models of access to digital services are usernames and passw
Self-custody often leaves the end-user responsible for the security of their private keys. They can only do a good job of that if we provide them with appropriate tools and awareness of best practices.
-Security is especially important when onboarding people new to Bitcoin where solutions that work for advanced users might backfire. New users are likely to start by storing small amounts until they get comfortable with self-custody. The concept of progressive security is a good idea for here. This would let a user upgrade their security and private key management scheme as their savings grow.
+Security is especially important when onboarding people new to Bitcoin where solutions that work for advanced users might backfire. New users are likely to start by storing small amounts until they get comfortable with self-custody. The concept of progressive security is a good idea here. This would let a user upgrade their security and private key management scheme as their savings grow.
Education and awareness is a big part of security, protecting users from bad actors and potentially their own bad behavior. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
@@ -179,4 +179,4 @@ Unlike traditional banking systems, the Bitcoin economy does not require new use
**Don't**
- Introduce a single point of failure between the user and the Bitcoin network
-- Build products that stop working if the project shuts down
\ No newline at end of file
+- Build products that stop working if the project shuts down
From 58b494080164294eddccf590cf3c8e0578b7b090 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:13:05 +0000
Subject: [PATCH 75/97] Wording
Co-authored-by: Christoph Ono
---
guide/principles/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index 8f696685a..e46ca24c0 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -69,7 +69,7 @@ Self-custody often leaves the end-user responsible for the security of their pri
Security is especially important when onboarding people new to Bitcoin where solutions that work for advanced users might backfire. New users are likely to start by storing small amounts until they get comfortable with self-custody. The concept of progressive security is a good idea here. This would let a user upgrade their security and private key management scheme as their savings grow.
-Education and awareness is a big part of security, protecting users from bad actors and potentially their own bad behavior. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
+Education and awareness is a big part of security, protecting users from bad actors and potentially their own mistakes. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example, while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a Bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
Security can also be a feeling. A product that is polished, good looking, easy to use and transparently communicates how it works can help users feel more secure. Especialy compared to one with the exact same security measures that lack these qualities.
From 1a2ca1265e3cf3c35914dbd2ac31503f19910303 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:13:31 +0000
Subject: [PATCH 76/97] Spelling
Co-authored-by: Christoph Ono
---
guide/principles/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index e46ca24c0..e4515828c 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -71,7 +71,7 @@ Security is especially important when onboarding people new to Bitcoin where sol
Education and awareness is a big part of security, protecting users from bad actors and potentially their own mistakes. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example, while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a Bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
-Security can also be a feeling. A product that is polished, good looking, easy to use and transparently communicates how it works can help users feel more secure. Especialy compared to one with the exact same security measures that lack these qualities.
+Security can also be a feeling. A product that is polished, good looking, easy to use and transparently communicates how it works can help users feel more secure. Especially compared to one with the exact same security measures that lack these qualities.
**Do**
From 672f50b9b818f1d924a6cc52b9763641d857ca2a Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:14:27 +0000
Subject: [PATCH 77/97] Spelling
Co-authored-by: Christoph Ono
---
guide/principles/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index e4515828c..cddf2aac2 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -82,7 +82,7 @@ Security can also be a feeling. A product that is polished, good looking, easy t
- Build with bad actors in mind
- Minimize risk of self-inflicted loss from user negligence
- Continuously educate users on best practice and risks
-- Reduce attack surface by minimizing use of external code dependencies
+- Reduce attack surfaces by minimizing use of external code dependencies
**Don't**
- Blame the user for losing funds
From 26f3ff9510b7b64e3c4ab7585aebde4dd487cee0 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:14:49 +0000
Subject: [PATCH 78/97] Grammar
Co-authored-by: Christoph Ono
---
guide/principles/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index cddf2aac2..752724f1f 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -105,7 +105,7 @@ While Bitcoin is already used by a large number of people, it pales in compariso
- Use plain language that people new to Bitcoin can understand regardless of prior knowledge
- Localize your product and make it multilingual
- Educate in place, when people are presented with a new concept
-- Treat users who rely on assistive technologies, as first-class citizens
+- Treat users who rely on assistive technologies as first-class citizens
**Don't**
- Exclude people by building features that only work in certain countries
From 7328c47e05fbebe9470ceac72e06b83a3621cc9f Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:15:20 +0000
Subject: [PATCH 79/97] Grammar
Co-authored-by: Christoph Ono
---
guide/principles/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index 752724f1f..75d54a870 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -109,7 +109,7 @@ While Bitcoin is already used by a large number of people, it pales in compariso
**Don't**
- Exclude people by building features that only work in certain countries
-- Add technical detail that is not required knowledge, or technical terms like seed phrase XPUBs, mnemonics etc.
+- Add technical detail that is not required knowledge, or technical terms like seed phrase, XPUBs, mnemonics etc.
- Put all education up front and expect people to read and remember it
---
From 0a4abc2a5ab070d9ee60f7a6a1fdc75906efb4ea Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:15:37 +0000
Subject: [PATCH 80/97] Wording
Co-authored-by: Christoph Ono
---
guide/principles/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index 75d54a870..976bb6822 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -136,7 +136,7 @@ Bitcoin is an open-source protocol, operated in a decentralized manner. This has
> Be open and transparent with how your product works, open-source your code when possible
-While an open and decentralized financial system that lets people connect directly with it is great, it does put a lot of burden on the users to pick a product they trust, and that works for them. We can make this easier by freely sharing information about how our products work, what technologies they use and rely on. Let people verify that your claims are true, ideally by open-sourcing your own code. It is also very important to be open about what risks the user might be taking on with self-custody, under which scenarios they might lose access to their funds and best practices for avoiding this.
+While an open and decentralized financial system that lets people connect directly with it has many benefits, it does put a lot of burden on the users to pick a product they trust, and that works for them. We can make this easier by freely sharing information about how our products work, what technologies they use and rely on. Let people verify that your claims are true, ideally by open-sourcing your own code. It is also very important to be open about what risks the user might be taking on with self-custody, under which scenarios they might lose access to their funds and best practices for avoiding this.
**Do**
- Be open and transparent with how your product works
From 9c1f1a9b844dd2f0964ed74b434651a5913cdf5c Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:42:30 +0000
Subject: [PATCH 81/97] Missing word
Co-authored-by: Christoph Ono
---
guide/principles/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/principles/principles.md b/guide/principles/principles.md
index 976bb6822..1e201b088 100644
--- a/guide/principles/principles.md
+++ b/guide/principles/principles.md
@@ -152,7 +152,7 @@ While an open and decentralized financial system that lets people connect direct
> Minimize collection of personal information, and maximize financial transaction privacy
-A common misconception of Bitcoin is that it provides complete anonymity and privacy of transactions. Since the blockchain is an unchangeable ledger of all transactions ever made, it is in fact very hard to not have your complete transaction history visible once even a single one of your addresses is connected to you. If Bitcoin is to become viable for a wider audience and daily use we ought to take privacy seriously. This is certainly not to enable or encourage illicit activity, but to protect individual financial privacy. We would not accept our bank to publish our financial transactions to our Twitter or Facebook feeds, so should avoid that scenario with Bitcoin as well.
+A common misconception of Bitcoin is that it provides complete anonymity and privacy of transactions. Since the blockchain is an unchangeable ledger of all transactions ever made, it is in fact very hard to not have your complete transaction history visible once even a single one of your addresses is connected to you. If Bitcoin is to become viable for a wider audience and daily use we ought to take privacy seriously. This is certainly not to enable or encourage illicit activity, but to protect individual financial privacy. We would not accept our bank to publish our financial transactions to our Twitter or Facebook feeds, so we should avoid that scenario with Bitcoin as well.
The Bitcoin network doesn’t need to know your name for you to use it. Strive to collect as little personal information as possible about your users. When it is absolutely required to provide the product services, collect only the bare minimum and consider if and when this can be discarded when no longer necessary. If you do collect personal information, be transparent about why and how you will use and store it.
From c5e0a149f7393da7abfe6076e608f239f642b8e2 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:43:39 +0000
Subject: [PATCH 82/97] Add divider line
---
guide/foundations/foundations.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/guide/foundations/foundations.md b/guide/foundations/foundations.md
index 6d0b92226..11a8f7fba 100644
--- a/guide/foundations/foundations.md
+++ b/guide/foundations/foundations.md
@@ -18,6 +18,7 @@ Learn about some of the basics to keep in mind when designing Bitcoin applicatio
Principles that the Bitcoin Design Community have identified and stand behind. Although every use case and product is different, applications should strive to follow these principles.
+---
**[Wallet interoperability]({{ '/guide/foundations/wallet-interoperability/' | relative_url }})**
From a1fff441f70b3ffacf8b216053ae5d24740ede91 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:51:44 +0000
Subject: [PATCH 83/97] Clarify self custody wording
---
guide/foundations/principles.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index d3ce6a924..ab094e235 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -49,10 +49,10 @@ These are principles we in the Bitcoin Design Community has identified and stand
> Let users control their private keys, with no risk for seizure or freezing of funds
-Our existing mental models of access to digital services are usernames and passwords, controlled by a company that has custody of your funds and data. With everyone having direct access to the Bitcoin network without middlemen, there is no longer a need for people to delegate control of their funds. While it comes with greater responsibility, it is self-custody that enables the open financial system of peer-to-peer transactions.
+Our existing mental models of access to digital services are usernames and passwords, controlled by a company that has custody of your funds and data. With everyone having direct access to the Bitcoin network without middlemen, we no longer need to design products that require people to delegate control of their funds. While it comes with greater responsibility, it is self-custody that enables the open financial system of peer-to-peer transactions.
**Do**
-- Let users control their private keys and funds directly
+- Let users control their bitcoin and private keys directly
- Create an easy path to self-custody for Bitcoin beginners
**Don't**
From 6634e7bbfbf16c3139998d1f32675e33352588bc Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 13:53:05 +0000
Subject: [PATCH 84/97] Further clarification to self custody
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index ab094e235..dc979f1a1 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -49,7 +49,7 @@ These are principles we in the Bitcoin Design Community has identified and stand
> Let users control their private keys, with no risk for seizure or freezing of funds
-Our existing mental models of access to digital services are usernames and passwords, controlled by a company that has custody of your funds and data. With everyone having direct access to the Bitcoin network without middlemen, we no longer need to design products that require people to delegate control of their funds. While it comes with greater responsibility, it is self-custody that enables the open financial system of peer-to-peer transactions.
+Our existing mental models of access to digital services are usernames and passwords, controlled by a company that has custody of your funds and data. With everyone having direct access to the Bitcoin network, we no longer need to design products that require people to delegate control of their funds to middlemen. While it comes with greater responsibility, it is self-custody that enables the open financial system of peer-to-peer transactions.
**Do**
- Let users control their bitcoin and private keys directly
From e3c74d9beedd6bf8d164e97af99b4698a3f5b630 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 14:04:04 +0000
Subject: [PATCH 85/97] Improve Security text
---
guide/foundations/principles.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index dc979f1a1..99adf3a0b 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -67,11 +67,11 @@ Our existing mental models of access to digital services are usernames and passw
Self-custody often leaves the end-user responsible for the security of their private keys. They can only do a good job of that if we provide them with appropriate tools and awareness of best practices.
-Security is especially important when onboarding people new to Bitcoin where solutions that work for advanced users might backfire. New users are likely to start by storing small amounts until they get comfortable with self-custody. The concept of progressive security is a good idea here. This would let a user upgrade their security and private key management scheme as their savings grow.
+Security is especially important when onboarding people new to Bitcoin. For example, new users are likely to start by only storing small amounts. After a period of time, however, they may get more comfortable with the idea of self-custodying. The concept of progressive security is a good idea here, starting with automatic cloud backups. This would let a user upgrade their security and private key management scheme as their savings grow. Although common, recovery phrases that require manual backup might backfire for new users not yet familiar with safe backup practices.
-Education and awareness is a big part of security, protecting users from bad actors and potentially their own mistakes. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example, while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a Bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
+Education and awareness is a big part of security, as it can protect users from bad actors and potentially their own security mistakes. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example, while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a Bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
-Security can also be a feeling. A product that is polished, good looking, easy to use and transparently communicates how it works can help users feel more secure. Especially compared to one with the exact same security measures that lack these qualities.
+Security can also be a feeling. A product that is polished, good looking, easy to use, and transparently communicates how it works can help users feel more secure– especially when compared to another product with the exact same security measures, but lacks these qualities.
**Do**
From 58b826842724202cd48b74703583500d70605a22 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 14:08:07 +0000
Subject: [PATCH 86/97] Improve transparency text
---
guide/foundations/principles.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index 99adf3a0b..7f8307435 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -118,7 +118,7 @@ While Bitcoin is already used by a large number of people, it pales in compariso
> Enable import and export of wallets, maximise backwards compatibility and use of open standards
-Bitcoin is an open-source protocol, operated in a decentralized manner. This has led to a number of standards being developed for products building on the protocol to be compatible. It should be easy to switch and move your Bitcoin wallet to a different application, should you wish. Making sure that your product supports as many of these standards as possible is best practice and builds trust. More on [wallet interoperability]({{ '/guide/foundations/wallet-interoperability/' | relative_url }}).
+Bitcoin is an open-source protocol, operated in a decentralized manner. This has led to a number of standards being developed to ensure compatibility between products. It should be easy to switch and move your Bitcoin wallet to a different application, should you wish. Making sure that your product supports as many of these standards as possible is best practice and builds trust. More on [wallet interoperability]({{ '/guide/foundations/wallet-interoperability/' | relative_url }}).
**Do**
- Support import and export of wallets
@@ -136,7 +136,7 @@ Bitcoin is an open-source protocol, operated in a decentralized manner. This has
> Be open and transparent with how your product works, open-source your code when possible
-While an open and decentralized financial system that lets people connect directly with it has many benefits, it does put a lot of burden on the users to pick a product they trust, and that works for them. We can make this easier by freely sharing information about how our products work, what technologies they use and rely on. Let people verify that your claims are true, ideally by open-sourcing your own code. It is also very important to be open about what risks the user might be taking on with self-custody, under which scenarios they might lose access to their funds and best practices for avoiding this.
+While an open and decentralized financial system that users can connect with directly is great, it puts a burden on them to choose a product that they trust and like to use. We can make this easier by freely sharing information about how our products work and what technologies they use/rely on. By open-sourcing your code, you can let people verify that your claims are true, ultimately building more trust with your users. It is also very important to be transparent with users about the risks that come with self-custodying funds. Be sure to educate about scenarios where they may risk losing access to their funds along with best practices for avoiding this.
**Do**
- Be open and transparent with how your product works
From e5a8fae21ea9de0e25a70c3848ca4479e7a28927 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Fri, 19 Mar 2021 14:13:09 +0000
Subject: [PATCH 87/97] grammar
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index 7f8307435..19f97f003 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -75,7 +75,7 @@ Security can also be a feeling. A product that is polished, good looking, easy t
**Do**
-- Take safeguarding of users funds seriously
+- Take safeguarding of users' funds seriously
- Strive for no loss of funds, whether by negligence or theft
- Provide suitable private key management schemes for beginners
- Offer progressive security and upgrade paths
From e74baba99fa808db4b0b84e186fdc8350f8e9844 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Wed, 24 Mar 2021 09:29:17 +0000
Subject: [PATCH 88/97] Accept wording change
Co-authored-by: Pavlenex
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index 19f97f003..35a47c5cb 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -32,7 +32,7 @@ The key principles of designing for Bitcoin
As a new technology, Bitcoin offers the opportunity of a decentralized open financial system, where participants share the role of securing the network. This is important to give everyone equal and direct access to economic opportunities without fearing seizure or needing intermediaries. To make this a reality, we encourage everyone working on products to deliberately support the core principles of designing for Bitcoin.
-These are principles we in the Bitcoin Design Community has identified and stand behind. Some of these come from the technology itself, and others from the behavior and ethos of the community. Although every use case and product is different, applications should strive to follow these principles. Diverging from them should only be done with very good reason.
+These are principles we in the Bitcoin Design Community identified and stand behind. Some of these come from the technology itself and others from the community's behavior and ethos. Although every use case and product is different, applications should strive to follow these principles. Diverging from them should only be done with very good reason.
- [Self-custody](#self-custody)
From 1e9a95ea73535573bcf5fdce96396b0ff37e2a29 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Wed, 24 Mar 2021 09:30:07 +0000
Subject: [PATCH 89/97] Accept suggested wording
Co-authored-by: Pavlenex
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index 35a47c5cb..590b1a46b 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -49,7 +49,7 @@ These are principles we in the Bitcoin Design Community identified and stand beh
> Let users control their private keys, with no risk for seizure or freezing of funds
-Our existing mental models of access to digital services are usernames and passwords, controlled by a company that has custody of your funds and data. With everyone having direct access to the Bitcoin network, we no longer need to design products that require people to delegate control of their funds to middlemen. While it comes with greater responsibility, it is self-custody that enables the open financial system of peer-to-peer transactions.
+Our existing mental models of access to digital services are usernames and passwords controlled by a company with custody of your funds and data. With everyone having direct access to the Bitcoin network, we no longer need to design products that require people to delegate control of their funds to middlemen. While it comes with greater responsibility, self-custody enables the open financial system of peer-to-peer transactions.
**Do**
- Let users control their bitcoin and private keys directly
From e963a0633d23369d1a5101015cee48e73ea4a595 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Wed, 24 Mar 2021 09:30:30 +0000
Subject: [PATCH 90/97] Accept suggested wording
Co-authored-by: Pavlenex
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index 590b1a46b..faf42e373 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -67,7 +67,7 @@ Our existing mental models of access to digital services are usernames and passw
Self-custody often leaves the end-user responsible for the security of their private keys. They can only do a good job of that if we provide them with appropriate tools and awareness of best practices.
-Security is especially important when onboarding people new to Bitcoin. For example, new users are likely to start by only storing small amounts. After a period of time, however, they may get more comfortable with the idea of self-custodying. The concept of progressive security is a good idea here, starting with automatic cloud backups. This would let a user upgrade their security and private key management scheme as their savings grow. Although common, recovery phrases that require manual backup might backfire for new users not yet familiar with safe backup practices.
+Security is especially important when onboarding people new to Bitcoin. For example, new users are likely to start by only storing small amounts. After a while, however, they may get more comfortable with the idea of self-custody. The concept of progressive security is a good idea here, starting with automatic cloud backups. This would let a user upgrade their security and private key management scheme as their savings grow. Although common, recovery phrases that require manual backup might backfire for new users not yet familiar with safe backup practices.
Education and awareness is a big part of security, as it can protect users from bad actors and potentially their own security mistakes. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example, while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a Bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
From 0a81aa1bb945d18be5f28c9d45745c3a63a3f1af Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Wed, 24 Mar 2021 09:30:54 +0000
Subject: [PATCH 91/97] Accept suggest wording
Co-authored-by: Pavlenex
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index faf42e373..38945008c 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -69,7 +69,7 @@ Self-custody often leaves the end-user responsible for the security of their pri
Security is especially important when onboarding people new to Bitcoin. For example, new users are likely to start by only storing small amounts. After a while, however, they may get more comfortable with the idea of self-custody. The concept of progressive security is a good idea here, starting with automatic cloud backups. This would let a user upgrade their security and private key management scheme as their savings grow. Although common, recovery phrases that require manual backup might backfire for new users not yet familiar with safe backup practices.
-Education and awareness is a big part of security, as it can protect users from bad actors and potentially their own security mistakes. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example, while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a Bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
+Education and awareness are a big part of security, as they can protect users from bad actors and potentially their own security mistakes. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example, while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a Bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
Security can also be a feeling. A product that is polished, good looking, easy to use, and transparently communicates how it works can help users feel more secure– especially when compared to another product with the exact same security measures, but lacks these qualities.
From faa0b95c6ec7988fdf67eb25567a972223f4c67f Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Wed, 24 Mar 2021 09:31:21 +0000
Subject: [PATCH 92/97] Accept suggested wording
Co-authored-by: Pavlenex
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index 38945008c..e9fa11f4c 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -71,7 +71,7 @@ Security is especially important when onboarding people new to Bitcoin. For exam
Education and awareness are a big part of security, as they can protect users from bad actors and potentially their own security mistakes. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example, while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a Bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks.
-Security can also be a feeling. A product that is polished, good looking, easy to use, and transparently communicates how it works can help users feel more secure– especially when compared to another product with the exact same security measures, but lacks these qualities.
+Security can also be a feeling. A polished, good-looking, easy-to-use product that transparently communicates how it works can help users feel more secure– especially when compared to another product with the same security measures - but lacks these qualities.
**Do**
From 8eb2634fd8bdcbf84cc9160731ac183908b8cebf Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Wed, 24 Mar 2021 09:32:27 +0000
Subject: [PATCH 93/97] Accept suggested wording
Co-authored-by: Pavlenex
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index e9fa11f4c..d9109cfc1 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -136,7 +136,7 @@ Bitcoin is an open-source protocol, operated in a decentralized manner. This has
> Be open and transparent with how your product works, open-source your code when possible
-While an open and decentralized financial system that users can connect with directly is great, it puts a burden on them to choose a product that they trust and like to use. We can make this easier by freely sharing information about how our products work and what technologies they use/rely on. By open-sourcing your code, you can let people verify that your claims are true, ultimately building more trust with your users. It is also very important to be transparent with users about the risks that come with self-custodying funds. Be sure to educate about scenarios where they may risk losing access to their funds along with best practices for avoiding this.
+While an open and decentralized financial system that users can connect with directly is great, it puts a burden on them to choose a product that they trust and like to use. We can make this easier by freely sharing information about how our products work and what technologies they use/rely on. By open-sourcing your code, you can let people verify that your claims are true, ultimately building more trust with your users. It is important to be transparent with users about the risks that come with self-custodying funds. Be sure to educate about scenarios where they may risk losing access to their funds along with best practices for avoiding this.
**Do**
- Be open and transparent with how your product works
From ab9cfbee6b3e386317dfaf5d19d10e05fb0e9395 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Wed, 24 Mar 2021 09:33:04 +0000
Subject: [PATCH 94/97] Accept suggested wording
Co-authored-by: Pavlenex
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index d9109cfc1..1223500f3 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -152,7 +152,7 @@ While an open and decentralized financial system that users can connect with dir
> Minimize collection of personal information, and maximize financial transaction privacy
-A common misconception of Bitcoin is that it provides complete anonymity and privacy of transactions. Since the blockchain is an unchangeable ledger of all transactions ever made, it is in fact very hard to not have your complete transaction history visible once even a single one of your addresses is connected to you. If Bitcoin is to become viable for a wider audience and daily use we ought to take privacy seriously. This is certainly not to enable or encourage illicit activity, but to protect individual financial privacy. We would not accept our bank to publish our financial transactions to our Twitter or Facebook feeds, so we should avoid that scenario with Bitcoin as well.
+A common misconception of Bitcoin is that it provides complete anonymity and privacy of transactions. Since the blockchain is an unchangeable ledger of all transactions ever made, it is very hard not to have your complete transaction history visible once even a single one of your addresses is connected to you. If Bitcoin is to become viable for a wider audience and daily use, we should take privacy seriously. This is certainly not to enable or encourage illicit activity but to protect individual financial privacy. We would not accept our bank to publish our financial transactions to our Twitter or Facebook feeds, so we should avoid that scenario with Bitcoin.
The Bitcoin network doesn’t need to know your name for you to use it. Strive to collect as little personal information as possible about your users. When it is absolutely required to provide the product services, collect only the bare minimum and consider if and when this can be discarded when no longer necessary. If you do collect personal information, be transparent about why and how you will use and store it.
From c632a21924e04c13e7f3bec42091b4f5ddaf6665 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Wed, 24 Mar 2021 09:33:37 +0000
Subject: [PATCH 95/97] Accept suggested wording
Co-authored-by: Pavlenex
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index 1223500f3..8684c4b32 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -170,7 +170,7 @@ The Bitcoin network doesn’t need to know your name for you to use it. Strive t
> Design products that encourage people to run a full Bitcoin node
-Unlike traditional banking systems, the Bitcoin economy does not require new users to seek permission from anyone. Bitcoin has no central point of control. No one person or entity is in charge. Connecting to any [node]({{ '/guide/glossary/#node' | relative_url }}) on the network gives you the same rights and responsibilities, which also ensures that there is no single point of failure.
+Unlike traditional banking systems, the Bitcoin economy does not require new users to seek permission from anyone. Bitcoin has no central point of control. No one person or entity is in charge. Connecting to any [node]({{ '/guide/glossary/#node' | relative_url }}) on the network gives you the same rights and responsibilities, ensuring no single point of failure.
**Do**
- Design products that encourage people to run a full Bitcoin node
From 9ee560bf0aad5825293fa489bca58352a4f01f0f Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Wed, 24 Mar 2021 09:34:00 +0000
Subject: [PATCH 96/97] Accept suggested wording
Co-authored-by: Pavlenex
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index 8684c4b32..bc161cc39 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -154,7 +154,7 @@ While an open and decentralized financial system that users can connect with dir
A common misconception of Bitcoin is that it provides complete anonymity and privacy of transactions. Since the blockchain is an unchangeable ledger of all transactions ever made, it is very hard not to have your complete transaction history visible once even a single one of your addresses is connected to you. If Bitcoin is to become viable for a wider audience and daily use, we should take privacy seriously. This is certainly not to enable or encourage illicit activity but to protect individual financial privacy. We would not accept our bank to publish our financial transactions to our Twitter or Facebook feeds, so we should avoid that scenario with Bitcoin.
-The Bitcoin network doesn’t need to know your name for you to use it. Strive to collect as little personal information as possible about your users. When it is absolutely required to provide the product services, collect only the bare minimum and consider if and when this can be discarded when no longer necessary. If you do collect personal information, be transparent about why and how you will use and store it.
+The Bitcoin network doesn’t need to know your name for you to use it. Strive to collect as little personal information as possible about your users. When absolutely required to provide the product services, collect only the bare minimum and consider if and when this can be discarded when no longer necessary. If you collect personal information, be transparent about why and how you will use and store it.
**Do**
- Minimize the personal information you collect
From 971df46950a8d9950ead4e83b9b26b1b129bcce0 Mon Sep 17 00:00:00 2001
From: Daniel Nordh <3393669+danielnordh@users.noreply.github.com>
Date: Wed, 24 Mar 2021 09:38:46 +0000
Subject: [PATCH 97/97] Accept suggested wording
---
guide/foundations/principles.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guide/foundations/principles.md b/guide/foundations/principles.md
index bc161cc39..eb9e82c94 100644
--- a/guide/foundations/principles.md
+++ b/guide/foundations/principles.md
@@ -118,7 +118,7 @@ While Bitcoin is already used by a large number of people, it pales in compariso
> Enable import and export of wallets, maximise backwards compatibility and use of open standards
-Bitcoin is an open-source protocol, operated in a decentralized manner. This has led to a number of standards being developed to ensure compatibility between products. It should be easy to switch and move your Bitcoin wallet to a different application, should you wish. Making sure that your product supports as many of these standards as possible is best practice and builds trust. More on [wallet interoperability]({{ '/guide/foundations/wallet-interoperability/' | relative_url }}).
+Bitcoin is an open-source protocol, operating in a decentralized manner. This has led to a number of standards being developed to ensure compatibility between products. It should be easy to switch and move your Bitcoin wallet to a different application, should you wish. Ensuring that your product supports as many of these standards as possible is best practice and builds trust. More on [wallet interoperability]({{ '/guide/foundations/wallet-interoperability/' | relative_url }}).
**Do**
- Support import and export of wallets