Security: do not store the unencrypted private key on the client
Currently, we are storing the unencrypted private key on the client in two places:
register.vue(after the keys are initially created)
sign-in.vue(after the encrypted private key is successfully decrypted)
This is unnecessary as the private key is currently only used to sign in (a) initially at registration or (b) via the sign-in route if the person gets signed out. It will, in the future, be used for end-to-end encrypted messages but we can always get the encrypted private key, decrypt it, keep it in memory while it is being used, and discard it from memory when not required (e.g., when the person travels away from the Private messages screen).
There is no code that relies on the private key being available from client-side storage.