safe-global / safe-pm

Production coordination for the Safe team primarily focused on Problems that need to be solved
2 stars 5 forks source link

Owners keys are confusing and not safe to use #55

Open sche opened 2 years ago

sche commented 2 years ago

Part 1: Define the problem

Epics

What problem are you trying to solve?

One of the feedbacks from our core user:

It is a big hassle to add the mobile app as a signer to an existing Safe. I do not want to import my existing private keys.

What is your hypothesis?

Suppose we improve the usability and allow importing owner keys more safely. In that case, it will increase trust in the mobile app’s security and open more functionality for the users, thus creating more value.

What value does this bring to our customers and/or our mission? What is the goal?

How do we measure it?

Quantitative: Increased amount of keys imported; specifically via private key/seed phrase Qualitative: Less confusion expressed; positive feedback over time

Data on keys for March

Links:

Insights from users

Research doc on EOAs as 1st class citizens

Kick-off Miro board

Mocks in Figma

Part 2: Shaping the problem

Problem Owners

@TanyaEfremova @sche

Non Goal(s)

// Controlling the scope of solving the problem.

Solutions

The list of related pain and proposed solutions ideas is sorted by priority and the potential positive impact.

Remove confusion around read-only safes

There are several major confusions related to adding existing Safes and the owner keys. Resolving these can majorly reduce the confusion around the keys, and potentially help users better understand why they are needed and their relationship with the owners.

Pain points

Implementation ideas

Improve key generation flow

The solutions are targeted toward the user group that doesn't feel secure importing the keys on Mobiles mostly.

Pain points

Implementation ideas

Improve key import flow

Pain points around importing existing keys are mostly related to safety concerns. In general, users don't mind importing ones but would prefer to do it in a safer way, rather than typing.

Pain points

Implementation ideas

Better integration of Owner keys in the Safe settings

Pain points

Implementation ideas

Additional research needed

Research on better naming for Owner keys across the Apps

Pain points

Research on EOAs as 1st class citizens in the App

Pain points

Research doc

Overview

Rough Scoping & Timeline

Improve key generation flow

M: 1-2 weeks

image

image

Remove confusion around read-only safes

S: 1 week

Improve key import flow

L: 2-3 weeks

image

Remove Safe Settings from the Settings tab

S: 1 week

Researches

Risk(s), Key Trade Offs & Decisions

Ideas with straightforward implementation don't have considerable technical risks. The risks of research tasks will be clear once the research is finished.

Implementation of iCloud backup: This is not exactly a decentralized solution, and security-concerned users might not consider it a good idea, to store their seed phrases in a cloud. See threads on Reddit

Suggest adding keys as owners: It might lead to bigger confusion and hassle. DAOs have likely had a well-structured setup with a strict amount of owners and owners, who were pre-approved. Thus, this solution might be targeted toward those who don't mind easily changing their Safe's structure. Also, this might add an extra layer of complication for the Web app, as a new owner (especially if it replaced a previous one) needs to be imported as an extension to e.g. Metamask. if a user prefers it. On the other hand, it is a step towards better integration of Mobile and Web.

Concept Mocks

Mocks in Figma

Alternative solutions & ideas

No

Open Questions

tschubotz commented 2 years ago

Handling seed phrases and private keys is always scary. Do we have any numbers on what types of owner wallets people are using? i.e. how many use Metamask vs. how many use hardware wallets? With that we would be able to better judge if it's worth improving key import/key generation or if we should rather improve the hardware wallet signing capabilities on mobile.

rmeissner commented 2 years ago

General comment: there are quite a lot of solution statements that all together take more than 8 weeks. how do these depend on each other. Should we separate some of these out?

TanyaEfremova commented 2 years ago

Do we have any numbers on what types of owner wallets people are using?

Yes, we have data regarding the owner key types (imported, generated, WalletConnect, Ledger Nano X): Google Analytics report You can play around with this data for the past quarter. Imported and WC keys are leading (around ~1.8K keys each).

I will add it to the ticket.

sche commented 2 years ago

@tschubotz details data on keys is added to the issue description: Data on keys for March

sche commented 2 years ago

@rmeissner I think we can easily separate some solution ideas to another problem if we decide that we would like to work not on all of them as part of this problem in this cycle.