commit 10fb371044dfb6d4907c9b46b3fe065566364473
parent 628b4ad03c753de75d1008cdbfdc931920b8c71c
Author: Jaromil <jaromil@dyne.org>
Date: Thu, 21 Jul 2022 09:56:46 +0200
sequence diagram for user creation flow
Diffstat:
1 file changed, 23 insertions(+), 0 deletions(-)
diff --git a/docs/user-creation-flow.md b/docs/user-creation-flow.md
@@ -0,0 +1,23 @@
+# Technical documentation on User Creation
+
+This document details user creation in Zenflows.
+
+The basic principle is end-to-end encryption: secret keys are not held by the server backend, but created on the frontend side.
+
+'''mermaid
+sequenceDiagram
+participant B as Backend
+participant F as Frontend
+participant E as Email
+ F->>B: request create/claim <name, email>
+ B->B: create OTP token
+ B->>+E: send token to email, listen until expiry
+ B->>F: ACK request, waiting confirmation token
+ E->>-B: confirmation link, hit before expiry
+ B->B: create/claim user
+ B->>F: ACK creation, request public keys
+ F->F: create keyring
+ F->>B: send public keys
+ B->B: save user pub keys
+ B->>F: OK, confirm creation
+'''