MikeMirzayanov's blog

By MikeMirzayanov, 8 months ago, In English,

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.

 
 
 
 
  • Vote: I like it  
  • +91
  • Vote: I do not like it  

»
8 months ago, # |
  Vote: I like it +68 Vote: I do not like it

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).

»
8 months ago, # |
  Vote: I like it +62 Vote: I do not like it

What is the point of adding account deletion?

  • »
    »
    8 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Opens up old usernames to new accounts

»
8 months ago, # |
  Vote: I like it +25 Vote: I do not like it

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.

  • »
    »
    8 months ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    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.

»
8 months ago, # |
  Vote: I like it +24 Vote: I do not like it

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.

»
8 months ago, # |
  Vote: I like it +57 Vote: I do not like it

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

»
8 months ago, # |
  Vote: I like it +49 Vote: I do not like it

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.

  • »
    »
    8 months ago, # ^ |
      Vote: I like it -21 Vote: I do not like it

    Swistakk what do you think about classified the useful blogs and commemts by the number of upvotes?

»
8 months ago, # |
Rev. 2   Vote: I like it -14 Vote: I do not like it

What about just revoking permissions..

Become unable to:

  • Comment/upvote/downvote
  • Participate
  • Send/Receiving messages
  • etc....

and maybe a special color and title.

»
8 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

I think you should unlink services to login such as VK, Facebook, openid, Gmail from account.

»
8 months ago, # |
  Vote: I like it +2 Vote: I do not like it

Does Codeforces have a written policy about what user-generated content will go public forever?

»
8 months ago, # |
Rev. 2   Vote: I like it +26 Vote: I do not like it

How it implemented in Facebook and other social networks?

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:

  1. account deactivation — stops activity; doesn't delete anything, but you can't do more than have highlighted stuff like friends, and edit your contests
  2. account deletion — actually deletes everything that can be deleted from the database as well

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.

»
8 months ago, # |
  Vote: I like it 0 Vote: I do not like it

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.

»
8 months ago, # |
  Vote: I like it +27 Vote: I do not like it

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).

  • »
    »
    8 months ago, # ^ |
      Vote: I like it +12 Vote: I do not like 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.

»
8 months ago, # |
  Vote: I like it +79 Vote: I do not like it

I suggest that security should be improved before — otherwise one can just hack nutella accounts and delete them.

  • »
    »
    8 months ago, # ^ |
      Vote: I like it +24 Vote: I do not like it

    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.

»
8 months ago, # |
  Vote: I like it +32 Vote: I do not like it

delete codeforces

»
8 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Just blank any personal information on the profile and rename the account to "DeletedUser1"/2/3.

That way the username is available for new people to use but messages/chains are still visible.

This makes it kind of like Reddit. Also make it so people can't registered with "DeletedUser*" as their name

»
8 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I think that Codeforces should remain the way it is- Good Old Codeforces.

»
7 months ago, # |
Rev. 3   Vote: I like it 0 Vote: I do not like it

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://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)

»
6 weeks ago, # |
  Vote: I like it -11 Vote: I do not like it

MikeMirzayanov Sir is this feature under implementation or has the idea been dropped?