It's yet another time when we're having posts massively edited by automated scripts.

When a user upvotes or downvotes a post, their vote gets locked in after five minutes, and is only unlocked if/when the post is edited. This is a defense against gaming the system, which can happen in various ways.

Unfortunately, this means that when posts are massively edited by automated scripts, all those votes on those posts that were previously locked are now all unlocked, and this means that an unscrupulous user can serially unupvote another user, i.e. remove all their past upvotes toward another user. The point of unlocking votes upon posts being edited is so that people can remove their vote if an edit changes the post's character; these automated script edits do not change a post's character. (This isn't a made-up situation; the link above is an actual documented case of that happening, with the prior mass edit from HTTP to HTTPS links.)

It's been stated that serial unvoting does constitute voting abuse, just like serial voting, but this case isn't handled by the voting fraud reversal scripts, and so cases of it have to be manually flagged.

As far as I can tell, though, when a vote is removed, all information related to the vote is also removed, and it's no longer able to easily tell whether someone had previously cast a vote on a given post simply by looking at the post record.

In response to the prior incident of serial unvoting, I filed a feature request to not unlock votes on automated script edits, but it was negatively received, with the top answer stating that such cases should be dealt with by individual case instead.

My question is: is there enough information in the system that staff can use to identify and possibly sanction users who conduct targeted unvoting, in this manner? In other words, if someone reports a case of targeted unvoting (possibly as a result of this recent automated script edit), can that report properly be actioned? Second, will Stack Exchange be able to restore the votes in case someone is serially unvoted?


1 Answer 1


Votes that are reversed are not completely erased from the system. They are stored in the database permanently, like a post, and simply marked as "deleted" when they are retracted.

That said, there are no built-in tools to track serial vote retractions of any kind. Staff can manually write SQL queries to track cases (essentially looking at the DeletionDate of the votes), but we would not ever manually undelete the votes so they are active again.

If someone was actively abusing unupvotes in that fashion, we would likely suspend them to prevent the further behavior.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .