# nKode Enrollment
```mermaid
sequenceDiagram
participant User
participant Client
participant Server
Note over User,Server: Enrollment
Client->>User: Signup Form
Note left of User: email: {{ email }}
User->>Client: Submit Email
Client->>+Server: Signup Session: {{ email }}
Server->>Server: Create Signup Session
Note over User,Server: Set nKode
Server-->>-Client: signup_session_id, set_keypad, icons
Note left of Server: signup_session_id:
{{ signup_session_id }}
Note left of Server: set_keypad:
{{set_keypad}}
Note left of Server: Icons:
{{keypad_icons}}
Client->>Client: Order Icons by keypad
Client->>User: Display Keypad
Note left of Client: {{ ordered_keypad }}
Note left of User: User icons: {{ passcode_user_icons }}
User->>Client: Set Key Selection: {{ selected_keys_set }}
Client->>+Server: Set nKode:
{{ signup_session_id }}
{{ selected_keys_set }}
Server->>Server: Disperse Set Keypad
Note over User,Server: Confirm nKode
Server-->>-Client: signup_session_id, confirm_keypad, icons
Note left of Server: signup_session_id:
{{ signup_session_id }}
Note left of Server: confirm_keypad:
{{confirm_keypad}}
Client->>Client: Order Icons by keypad
Client->>User: Display Keypad
Note left of Client: {{ confirm_ordered_keypad }}
Note left of User: User icons: {{ passcode_user_icons }}
User->>Client: Key Selection: {{ confirm_key_selection }}
Client->>+Server: Confirm nKode:
{{ signup_session_id }}
{{ confirm_key_selection }}
Server->>Server: Create User
Server-->>-Client: Success
```