Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transfer Account Ownership #709

Open
joshuajames-smith opened this issue Apr 15, 2022 · 4 comments
Open

Transfer Account Ownership #709

joshuajames-smith opened this issue Apr 15, 2022 · 4 comments
Labels
feature [Improvement] New feature request.

Comments

@joshuajames-smith
Copy link
Contributor

Problem

There currently is no way for a team owner to transfer ownership to other team member. This is important if one individual may be responsible for setting up the team but will not actively be in charge of overseeing the dataset progress.

Solution

Add the ability for a team owner to transfer ownership to another team member.

Considered Alternatives

Do users also need a way to remove themselves as a team member?

@joshuajames-smith joshuajames-smith added the feature [Improvement] New feature request. label Apr 15, 2022
@cooper667 cooper667 self-assigned this May 23, 2022
@SilviaZeta SilviaZeta removed their assignment May 25, 2022
@cooper667 cooper667 transferred this issue from gliff-ai/manage Jun 20, 2022
@cooper667
Copy link
Contributor

Current thinking about this is it's fine when the owner doesn't have any information or projects, but is hard when they do?

There's no etebase way to transfer ownership of a collection (it's possible, not too hard if the recipient is already invited, but just doesn't exist) which means if we just transferred owners, we would have the issue of a new owner not being the "etebase owner" of the projects, which could cause problems with deletion of users (we could never really remove the original user, although could revoke login privileges)

I think there's a couple of ways to approach this:

  • Only allow transfer on empty accounts. Not ideal, especially if we're setting up demo data etc
  • Transfer accounts, but always keep the original user. We would have to be VERY careful in this scenario (deletion, original user having access to data etc)
  • Add "collection transfer" to etebase. It would still require the recipient account to exist and have accepted an invite to the collection. Then we need endpoints and dominate support for this to be a self service function (ie, we couldn't do it, only the person transferring could)
  • "Transfer" accounts by generating a new password and changing the email on the account. We instruct the user to change the pass when they log in, which reencrypts and prevent access from the original account completely. This has the advantage of them not needing an account, and prevents the original email accessing the data once the pass is reset. The new owner is the "proper" owner of the data (as all we did was change the account email)

Thoughts @joshuajames-smith @ChasNelson1990 ?

@ChasNelson1990
Copy link
Member

Only allow transfer on empty accounts. Not ideal, especially if we're setting up demo data etc

One of the key reasons to do this is demos and early set-up... so not this option

Transfer accounts, but always keep the original user. We would have to be VERY careful in this scenario (deletion, original user having access to data etc)

Hmm... yes... I can see things going awry with this route... feel scary

"Transfer" accounts by generating a new password and changing the email on the account.

Because the main use of this is demos and onboarding the person to whom the account should be transferred will, almost certainly, already have an account... possibly with their own data... so we would have to fall back to one of the above two points anyway, won't we?

Which leaves us:

Add "collection transfer" to etebase.

Sounds like the most work... but the safest and most robust?

@cooper667
Copy link
Contributor

Sounds like the most work... but the safest and most robust?

"safest" if it's done correctly, incredibly destructive if not 😂.

I'd rank final one as safest and most robust but if there's a need to merge accounts, then it's a no go

@joshuajames-smith
Copy link
Contributor Author

Add "collection transfer" to etebase.

Sounds like the most work... but the safest and most robust?

I also agree with this route being the best. The use case of a team owner transferring ownership to a team member will more than likely means the team member is already on the project. A question to follow this would be how do we handle is a team owner has made annotations and then deletes their account following transfer? Do the team still have access to a legacy of this to view and/or compare annotations?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature [Improvement] New feature request.
Projects
None yet
Development

No branches or pull requests

4 participants