1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-11-24 08:12:24 +02:00

Doc: Added E2EE flowcharts

This commit is contained in:
Laurent Cozic 2022-05-04 17:24:38 +01:00
parent c86e7f5eed
commit 5adee9085c
5 changed files with 25 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

View File

@ -132,13 +132,14 @@ A community maintained list of these distributions can be found here: [Unofficia
- [How to build the apps](https://github.com/laurent22/joplin/blob/dev/BUILD.md)
- [Writing a technical spec](https://github.com/laurent22/joplin/blob/dev/readme/technical_spec.md)
- [End-to-end encryption spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md)
- [Desktop application styling](https://github.com/laurent22/joplin/blob/dev/readme/spec/desktop_styling.md)
- [Note History spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/history.md)
- [Sync Lock spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_lock.md)
- [Synchronous Scroll spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_scroll.md)
- [Plugin Architecture spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/plugins.md)
- [Search Sorting spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/search_sorting.md)
- [E2EE: Technical spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md)
- [E2EE: Workflow](https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee/workflow.md)
- [Server: File URL Format](https://github.com/laurent22/joplin/blob/dev/readme/spec/server_file_url_format.md)
- [Server: Delta Sync](https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sync.md)
- [Server: Sharing](https://github.com/laurent22/joplin/blob/dev/readme/spec/server_sharing.md)

View File

@ -0,0 +1,23 @@
# E2EE workflow
## E2EE setup
This flowchart describes how E2EE is setup when the user enables it on a client (eg. desktop), and then what happens when they try to sync using a second client (eg. mobile).
<img alt="E2EE setup flowchart" src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/e2ee/e2ee-setup.png" width="100%"/>
## E2EE synchronisation
This flowchart describes at a high level how synchronisation works while E2EE is enabled.
<img alt="E2EE synchronisation flowchart" src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/e2ee/e2ee-sync.png" width="100%"/>
## E2EE notebook share
This flowchart describes how a user can share a notebook with another user.
<img alt="E2EE notebook share" src="https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/e2ee/e2ee-share.png" width="100%"/>
After the invitation has been received and the key exchanged, the process is the same as in a regular synchronisation operation.
Both users have the notebook key encrypted with their own master password. That key is uploaded to Joplin Cloud too to allow other clients to retrieve the encrypted data.