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

Add account data deletion functionality #738

Merged
merged 45 commits into from
Nov 23, 2023

Conversation

mikozet
Copy link
Collaborator

@mikozet mikozet commented Sep 25, 2023

No description provided.

@mikozet mikozet self-assigned this Sep 25, 2023
@mikozet mikozet linked an issue Sep 25, 2023 that may be closed by this pull request
@netlify
Copy link

netlify bot commented Sep 25, 2023

Deploy Preview for preview-review-circles-garden ready!

Name Link
🔨 Latest commit 74d929a
🔍 Latest deploy log https://app.netlify.com/sites/preview-review-circles-garden/deploys/655cb0fba7489f000889543a
😎 Deploy Preview https://deploy-preview-738.review.circles.garden
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@louilinn
Copy link
Collaborator

louilinn commented Sep 25, 2023

Current text:

Do you want to delete your profile data?
This action will delete your avatar, username and email from database - connection between those data and your wallet addresses on the blockchain.

It will not delete your transaction messages or any transaction data on the blockchain. You may still recover your account in future using your seed phrase and edit your profile after that operation.

Suggested text

Do you want to delete your personal profile data?
This action will delete your personal avatar, username and email from our databases.

This action will not delete any transaction data or trust interactions. Such data is stored on Gnosis blockchain and cannot be deleted by anyone. However, your blockchain transactions will no longer be traceable or linked to to your username or avatar.

Upon deletion you can chose to log out. You may still recover your account in the future by using your magic words and edit your profile with a new profile data. If you do not log in within 90 days, your UBI payouts will stopped forever. It is also possible to continue to use circles.garden without an alias, avatar or email.

Please note that data deletion will not happen across wallets. You will have to do profile data deletion for your personal wallet and any shared wallets separately before logging out.

Another suggestion I have is to add a link to edit profile view in "Settings".

@llunaCreixent
Copy link
Member

  • Are we also going to delete the Notes from the transfers?
  • I would call the "Gnosis blockchain" -> "Gnosis Chain", or even "Gnosis Chain blockchain.
  • Fixed a typo: "to to" -> "to"
  • "will stopped" -> "will be stopped"

Here my proposed text:

Do you want to delete your personal profile data?
This action will delete your personal avatar, username and email from our databases.

This action will not delete any transaction data or trust interactions. Such data is stored on Gnosis Chain blockchain and cannot be deleted by anyone. However, your blockchain transactions will no longer be traceable or linked to your username or avatar.

Upon deletion you can chose to log out. You may still recover your account in the future by using your magic words and edit your profile with a new profile data. If you do not log in within 90 days, your UBI payouts will be stopped forever. It is also possible to continue to use circles.garden without an alias, avatar or email.

Please note that data deletion will not happen across wallets. You will have to do profile data deletion for your personal wallet and any shared wallets separately before logging out.

@louilinn
Copy link
Collaborator

Updated suggestion:

We do not plan to delete the transfer notes, but I will discuss with product. In that case we should add this in a different task as it will involve much more work.

Suggested text

Do you want to delete your personal profile data?
This action will delete your personal avatar, username and email from our databases.

This action will not delete any transaction data or trust interactions. Such data is stored on the Gnosis Chain blockchain and cannot be deleted by anyone. However, your blockchain transactions will no longer be traceable or linked to your username or avatar.

Upon deletion you can chose to log out. You may still recover your account in the future by using your magic words and edit your profile with a new profile data. If you do not log in within 90 days, your UBI payouts will be stopped forever. It is also possible to continue to use circles.garden without an alias, avatar or email.

Please note that data deletion will not happen across wallets. You will have to do profile data deletion for your personal wallet and any shared wallets separately before logging out.

Thanks @Lluna

@mikozet mikozet force-pushed the 617-allow-deletion-of-user-data-user-interface branch from 751e646 to fbb8035 Compare September 26, 2023 11:27
@louilinn louilinn force-pushed the 617-allow-deletion-of-user-data-user-interface branch from fbb8035 to 8b7e36e Compare September 28, 2023 19:59
@louilinn
Copy link
Collaborator

louilinn commented Sep 28, 2023

  • dialog
  • text
  • notification fail
  • notification success
  • call core / api to delete
  • add new profile picture generation? - not needed automatic
  • add to Settings
  • reroute after success to dashboard

@llunaCreixent
Copy link
Member

The API is ready with 2 new endpoints (deployed already in staging and production):

  1. delete user entry
  2. delete avatar image from storage (it'll only succeed if the image is not in the users db)

For the 2nd endpoint I suggest that it's used for the following 3 cases:

  • when user edits profile img, and confirms the change
  • when user deletes the user entry in db
  • when the user uploads many images through the app but doesn't confirm so save it for their profile.

@llunaCreixent
Copy link
Member

Also, should the delete option be available even when the Safe is not deployed (i.e. circles account not created)??

@llunaCreixent
Copy link
Member

Also, should the delete option be available even when the Safe is not deployed (i.e. circles account not created)??

As it is implemented now, only the owner of the profile can delete the profile entry, and it has to prove the ownership of the safe address through the subgraph. The subgraph will only register ownership of safes once they are deployed.

@llunaCreixent
Copy link
Member

The core method for deleting the user will be available with core.user.delete
Check the PR CirclesUBI/circles-core#240

@louilinn
Copy link
Collaborator

louilinn commented Oct 5, 2023

Also, should the delete option be available even when the Safe is not deployed (i.e. circles account not created)??

As it is implemented now, only the owner of the profile can delete the profile entry, and it has to prove the ownership of the safe address through the subgraph. The subgraph will only register ownership of safes once they are deployed.

So nothing else is possible? Without a lot of changes?

@llunaCreixent
Copy link
Member

Also, should the delete option be available even when the Safe is not deployed (i.e. circles account not created)??

As it is implemented now, only the owner of the profile can delete the profile entry, and it has to prove the ownership of the safe address through the subgraph. The subgraph will only register ownership of safes once they are deployed.

So nothing else is possible? Without a lot of changes?

For allowing users that haven't deployed their safe to remove the profile, we could verify on those cases the future ownership of the Safe by asking the relayer db

@louilinn louilinn force-pushed the 617-allow-deletion-of-user-data-user-interface branch from b17dbb0 to d35570b Compare October 10, 2023 12:16
@louilinn
Copy link
Collaborator

We could consider adding a route to Edit profile in settings too?

@louilinn
Copy link
Collaborator

louilinn commented Oct 12, 2023

Needs fixing:

  • "I'll do this later" button should switch to Continue upon avatar upload in onboarding

@louilinn
Copy link
Collaborator

@louilinn
Copy link
Collaborator

Problem remaining: avatar in onboarding step is wrong after avatar upload

@louilinn louilinn marked this pull request as ready for review October 27, 2023 14:45
@louilinn louilinn force-pushed the 617-allow-deletion-of-user-data-user-interface branch from 0c2d58b to e8b7de9 Compare October 27, 2023 15:00
@louilinn
Copy link
Collaborator

louilinn commented Nov 23, 2023

Behaviour for documentation

Edit profile

  • when saving a new profile, old profile is deleted
  • when cancelling, current unsaved upload is deleted from aws
  • when uploading a second new image, previously unsaved upload is deleted from aws
  • when closing the window or quitting the page, an unsaved upload is still saved to aws (not easily fixed) but not associated with any account *

Delete profile

  • old avatar deleted from aws

Onboarding / Account creation

  • when uploading a second new image, previously unsaved upload is deleted from aws
  • quitting onboarding does not delete the upload from aws (not easily fixed) but not associated with any account *

* unassociated pictures will be deleted periodicly from aws instead

Copy link
Collaborator

@louilinn louilinn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested

@louilinn louilinn merged commit 97ebad1 into main Nov 23, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow deletion of user data - user interface
3 participants