Skip to content

Commit e029710

Browse files
committed
Add end-to-end encryption as a principle
1 parent 43675f6 commit e029710

6 files changed

+42
-5
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# P01 - Servers are not trusted
2+
3+
Clients do not need to trust Bitwarden server or web infrastructure to be good actors in supplying
4+
data to keep an account's encrypted content secure. In other words, the special status of providing
5+
a network sync for client data does not enable a server, or any entity between the server and
6+
client, to take any action that would aid in decryption of a user's vault by the server.
7+
8+
This is what we mean when we sometimes refer to "End-to-end encrypted."
9+
10+
## Account key sharing as a feature
11+
12+
This principle does not mean that clear text data are never shared, but rather that any such
13+
exposure is always declared to the user and exclusively between accounts, never to the server or
14+
infrastructure.
15+
16+
## Exceptions
17+
18+
On occasion, product features require breaking this principle in a controlled manner. These
19+
exceptions are always a last resort, tightly limited scope, and we are always looking for
20+
improvements to remove them. All exceptions are outlined here.
21+
22+
### Key Connector
23+
24+
Key connector is a self-host test only feature that allows an Organization to log in and unlock with
25+
SSO and no password input. This feature is specifically limited to self-hosted instances due to
26+
breaking this principle. It is possible for a Bitwarden server to create an authentication token,
27+
contact the Key Connector server, and retrieve key material that will allow decryption of a user's
28+
vault. For these reasons we encourage strict isolation of key connector servers to private networks
29+
and only to be used by advanced self-hosted users.
30+
31+
### Icons service
32+
33+
The Bitwarden icons service enables the retrieval of site favicons to decorate vault items in the
34+
Bitwarden clients. To enable this functionality, clients do send clear text domain name information
35+
to the Bitwarden icons service. These URIs are normally encrypted in a vault, but we do this to
36+
aggregate access to the requested domain, speed up loading of vaults, and ensure favicons accurately
37+
represent the associated URI. This feature is easily disabled in client settings.

docs/architecture/security/principles/01-locked-vault-is-secure.mdx renamed to docs/architecture/security/principles/02-locked-vault-is-secure.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# P01 - A locked vault is secure
1+
# P02 - A locked vault is secure
22

33
Clients must ensure that highly sensitive vault data cannot be accessed in plain text once the vault
44
has been locked, even if the device becomes compromised after the lock occurs. Protections are not

docs/architecture/security/principles/02-limited-security-on-semi-compromised.mdx renamed to docs/architecture/security/principles/03-limited-security-on-semi-compromised.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# P02 - Limited security for vaults on semi-compromised devices
1+
# P03 - Limited security for vaults on semi-compromised devices
22

33
:::info Note
44

docs/architecture/security/principles/03-no-security-on-fully-compromised.mdx renamed to docs/architecture/security/principles/04-no-security-on-fully-compromised.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# P03 - No security on fully compromised systems
1+
# P04 - No security on fully compromised systems
22

33
:::info Note
44

docs/architecture/security/principles/04-controlled-access.mdx renamed to docs/architecture/security/principles/05-controlled-access.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# P04 - Controlled access to vault data
1+
# P05 - Controlled access to vault data
22

33
Clients must ensure that vault data, whether at rest or in use, is accessible only to authorized
44
parties and always under the user's explicit control. Even when unlocked, access to vault data must

docs/architecture/security/principles/05-minimized-impact-of-security-breaches.mdx renamed to docs/architecture/security/principles/06-minimized-impact-of-security-breaches.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# P05 - Minimized impact of security breaches
1+
# P06 - Minimized impact of security breaches
22

33
Even with robust security measures in place, user error or unforeseen vulnerabilities can lead to
44
various security breaches, including the compromise of encryption keys or data leaks. Bitwarden

0 commit comments

Comments
 (0)