Hello, Codeforces!
Recently I've started to receive a lot of messages with the ask to delete an account. I'm thinking how to implement this feature. What content should be hidden after it: posts? comments? solutions? How it implemented in Facebook and other social networks? Are there any generally accepted norms about account deletion?
Waiting for you ideas in comments.
I personally believe that all information which was public once should remain public (unless it became public accidentally for a short period of time). That way, discussions are preserved, rating changes can always be recalculated and rechecked for any contest in the past.
Therefore, "account deletion" only makes sending PM to the account impossible and disables any creation of new content from that account.
VK, as far as I know, replaces all occurrences of the account with a special "DELETED" account with the same name and a sad picture. The content on other pages, however, is preserved (comments, discussions, communities/groups/public pages, etc). The content on account's page becomes completely unavailable to anyone (including comments by other people).
What is the point of adding account deletion?
Opens up old usernames to new accounts
I think it may be good idea to ask people asking for deletion about their motives. What do they want of deletion? Is it because they became addicted to competitive programming and want to get out or is it because they want some privacy and clean up their digital footprint? Approach should differ in these two cases.
In the former, it should be more like "disabling the account for a specific period of time".
In the latter, VK's approach may make sense. As we don't have "personal pages" at Codeforces, one can simply replace all handle occurrences (probably including some mentions in comments/posts) with "DELETED" or something like this.
A good idea may be to ask the user right before the deletion. A bunch of checkboxes appears and he can check on the things he want to delete. It is like when you clear browsing data on chrome. I don't know whether it can be implemented or not ... it is just a suggestion.
For non-privacy reasons, no, because we can't delete comments right now.
For privacy reasons, replacing the username with "(redacted)" seems fine for archive purposes.
There are alot of useful blogs on codeforces so,
i hope that blogs remain even when it's writer
delete his account.
i suggest adding account like CF_User, and when someone delete his account all of his blogs and comments becomes under CF_User ownership and remain available for public
Since that is already mentioned — I think that all blogs and comments should be undeletable. Maybe if comment was sent by mistake or author realized it's silly after posting it, he may have right to delete it for some short time, but author should in my opinion have no right to delete something that causes stuff that other users produced to be deleted as well. I hate it when there is some interesting discussion going on which I put effort in and then I discover that this blog doesn't exist because author of blog decided to delete it.
That being said, all comments and blogs should be preserved in my opinion in order not to make a mess in existing discussions. All submissions and participations should be kept in order to keep contests history consistent (we do not want to have gaps in standings or something equally awkward). I do not understand what kind of motives people may have for deleting their account, but "history of codeforces" should not be affected by any deletions.
Swistakk what do you think about classified the useful blogs and commemts by the number of upvotes?
I think you should unlink services to login such as VK, Facebook, openid, Gmail from account.
Does Codeforces have a written policy about what user-generated content will go public forever?
There is no such thing as delete. Everything that passes through FB is owned by FB and I wouldn't trust any social network not to follow the same policy. It seems to be generally accepted, too...
The least restrictive fair guideline is probably this: you can't delete something if it would delete someone else's something. That is, comments and blogs with someone else's replies (maybe internal links too), talks that have been read; submissions that have been linked to, something appropriate for gym/mashup contests. Afterwards, there's the question of what else should be impossible to delete regardless — blogs and comments probably should (since they are at this point), submissions and other stuff probably shouldn't.
Removing handles+profile pics from comments is a good idea, it's not like old handles make sense with all the New Year's changes anyway...
You can also implement two types of deletion:
I'm inclined towards "too bad, the net is forever, you can't delete anything public" approach myself, but it's probably better to give people as much control over their own stuff as possible. If anyone cares about specific posts, there are still webarchive services.
I think that account deletion should happen in a way that allows another user to register with their handle or take that handle at New Years. One way to do this and keep blogs/ranks in contests/comments is to create a "deleted" handle and put the content of the all the deleted accounts under this handle.
Good suggestion.
It depends on the purpose of this feature. If the goal is legal compliance (all the GDPR stuff), there is not much choice — all user data has to be deleted eventually if a user deletes their account (including of course solutions/comments/posts; and less obviously — even log lines related to the user in server logs, up/down-votes, etc.). This is the way big international companies will have to follow, as long as they want to operate in Europe.
If the goal is just to be nice privacy-wise, it depends on one's personal tastes. There is whole spectrum from the extreme pro-privacy (EU with the GDPR), to the "crypto-anarchic" point of view (never delete anything which becomes public). IMO a reasonable compromise is to just delete the account itself by default, and then remove the rest if the user explicitly asks so (but make it hard enough that only a small fraction of paranoids does it).
GitLab said:
"As part of my voluntary contribution to any GitLab project, I acknowledge and agree that my name and email address will become embedded and part of the code, which may be publicly available. I understand the removal of this information would be impermissibly destructive to the project and the interests of all those who contribute, utilize, and benefit from it. Therefore, in consideration of my participation in any project, I hereby waive any right to request any erasure, removal, or rectification of this information under any applicable privacy or other law and acknowledge and understand that providing this information is a requirement under the agreement to contribute to the GitLab project."
Maybe we can set similar terms and conditions so that each user has to accept that the data they publish will not be deleted. I'm not sure this is in accordance to GDPR, but at least GitLab is doing it this way.
I suggest that security should be improved before — otherwise one can just hack nutella accounts and delete them.
To avoid that delete feature should be invertible for a some period of time (for example 6 month). During this period data doesn't actualy deleted from the DB, and it will be deleted after that period if user didn't try to restore his profile. But for other users both times it should looks the same.
delete codeforces
Hyperlink of high relevance:
wiki: Freedom of association
UPD I'd say, from transactional point of view, that account deletion is equivalent to the possible scenario when the account of user that must be deleted simply never existed and thus never did the changes that he did. Particulary, in my lovely comment cascades it means deletion of all nested comments. Not sure about the blogs, though. There is a lot of work for moderator I think.
Get back to your concepts in http://mirror.codeforces.com/blog/entry/1. Maybe you'd like to just name deleted users as The-one-who-must-not-be-named with Voldemort avatar. It may become a quest for oldschool)
It should be implemented like in real life. There is no make it unhappen.
If one does not want to have a digital history, there is no need to post a real name or the like anywhere. A platform like codeforces does not work well with deletion of any history.
Because by deleting things from history one alters that history. Which makes it simply a lie.
nothing has been done...
It would be good to add private account feature as well.
I think now Codeforces should implement this feature as there are more and more alt accounts create just for comments, fun comments handle, writing blogs, writing blogs about cheater, etc... and I think it has become a real issue.
Some people realize they're wrong but there is no way to delete the account, they can only change their password to some nonsense
MikeMirzayanov yeah, this feature should be included !
He will not implement it.
Please, add a rename (change handle) feature, many of us need it badly.
I know, handle can be changed but probably only on the occasion of new year, right? Please please, can it be made available all time?
yeah, a lot of users need this feature badly!
No, I think it is not needed, once per year is enough. Can’t stand people changing handle names ever month like on discord
It can be same as Telegram. put "deleted account" instead of their handle.
I wish for renaming account feature :)