JoinSEEDS / seeds_light_wallet

http://www.joinseeds.earth/
MIT License
42 stars 22 forks source link

Onboard A Guardian #595

Open n13 opened 3 years ago

n13 commented 3 years ago

Overview

We want to make it possible for people to onboard new guardians.

Spec

Bob invites alice to be his guardian. Bob send Alice a special firebase link that contains the normal link information (invite secret and so on) as well as the information that Bob wants Alice to be their guardian.

So there's a new data field in this invite link that says "bob signed you up as guardian"

Implementation

Security

This allows us to handle the entire onboard a new user as guardian all client side.

This way we do not introduce any additional complexity on contract and keep the contract as simple as it is

We will then remove all our keys from the contract so nobody has access to it anymore. We can then no longer update the contract code either. That way key guardians do not weaken account security on a technical level.

Additional considerations

I think we should make guardians more flexible in how many guardians someone can have, within limits. But maybe someone wants 5/7 or 4 / 9 or whatever. That should be OK.

gguijarro-c-chwy commented 3 years ago

I think this flow works. We need to look into more details, but at high level seems possible.