Skip to content

[TSP] Do not store (or securely store) a TSP wallet's password #600

@kevinaboos

Description

@kevinaboos

Currently, the password for each TSP wallet is stored in its metadata, which itself is serialized to disk and stored

This is fine for a testing environment, but obviously not suitable for production.

There are two solutions for this:

  1. Force the user to enter their wallet password upon app startup, and/or whenever access to the wallet is needed.
    • Up front is much better because we cannot otherwise listen for incoming messages on the wallet's default DID if it's not unlocked/opened.
  2. Store the password for the TSP wallet securely in the OS-native keychain, and prompt the user to unlock it using OS-level authentication (password, biometrics, etc).
    • We have a lightly-tested robius-keychain crate for this (as well as the third-party crate keyring-rs), so the platform abstraction is mostly be ready to go, but we'll still need to use it and test it thoroughly across all platforms, which is likely to be challenging.

Obviously (2) is better, but is far more involved. Option (1) would be an initial first step that makes it easy for us to share a publish-able demo build of TSP + Robrix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    tspTrust Spanning Protocol

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions