codalab / codabench

Codabench is a flexible, easy-to-use and reproducible benchmarking platform. Check our paper at Patterns Cell Press https://hubs.li/Q01fwRWB0
Apache License 2.0
60 stars 25 forks source link

Remove users #1159

Open Didayolo opened 10 months ago

Didayolo commented 10 months ago

Apparently, removing an user from the Django Admin web interface is problematic because all objects (submissions, datasets...) remain. This leads to some problem.

We should try removing using the shell plus, inside the Django container inside the server, to see if this delete everything in cascade.

https://github.com/codalab/codabench/wiki/Administrator-procedures

Didayolo commented 10 months ago

@dtuantran Can you comment on that?

Capture d’écran 2023-09-14 à 17 01 28
dtuantran commented 10 months ago

Finally, it does not work, the user isn't deleted image

dtuantran commented 10 months ago

Last time, I did remove a user from console command line as on Codalab. But we got a error later from a competition without owner. It means it didn't remove the user's competitions.

ihsaan-ullah commented 10 months ago

Users can have option in their profile to delete their account. I can think of the following flow

acletournel commented 10 months ago

Is this behavior what we really want ? The 'remove user' feature specifications should still be discussed. Former discussions show that this is a critical feature. The privacy and terms of use conditions tells that:

Then, we should distinguish between: user account deletion (means all privacy information), submissions deletion (can have consequences on existing competition material (public submissions...), competitions leaderboard: imagine he is the winner of a competition), competition deletion (why should it be automatically linked to the author deletion: this is not private data).

User deletion (only personal information) ? -> mandatory provision because of RGPD. Very few requests are received on codalab admin mailing account about account deletion. We may not want to have a GUI or API feature for that. If the account is hacked, we might have unwanted user-accounts deleted.

Submissions deletion ? for which typical use-case, given that a submission belong to one's competition, not to one's author. Caution: how to replace user's displayed information if the user is deleted ? Dummy profile ?

Competition deletion ? could be a separated feature still to be specified. Only requestable by the competition organizer itself. Could target all attached competition files, included submissions. The default behavior could be not to delete the attached competitions during a user account deletion. Caution: how to replace organizer's displayed information if the organizer is deleted ? Dummy profile ?

Didayolo commented 6 months ago

@ihsaan-ullah @acletournel @bbearce

Note: we should add an option to automate account self-deletion.

Didayolo commented 5 months ago

When we delete a user: Keep old email for a certain period of time, to prevent re-creation of accounts Keep a hash of the email of people to check whether they already used this email Erase old information: Remove all profile information Replace name with Deleted User + hash identifier Replace email with specific dummy email (emails to that user get sent to trash)

Your account is going to be deleted together with your profile information. Once your account is deleted, all your non personal data (competitions you organized, submissions your made, code, data, or assets) will remain on the platform, but linked to a dummy account. Hence you will not be able to change anything about them. Therefore, we urge you to do any manual cleaning you want BEFORE you delete your account. Re-creating an account with the same email will not be authorized, unless you write to the administrators with a legitimate reason.