Skip Navigation

Should we opt out of Lemvotes?

Update: Thanks mateys for participating! Our instance was really split down the middle on this vote - 49% in favour, 51% against.

After reading all the comments, it honestly seems unlikely to me that private voting will ever be a viable option for Lemmy in any meaningful way, because voting data gets federated out all across the fediverse, so I think on balance the best way forward is just to accept that reality and work under the assumption all votes are public. At least then nobody is lulled into a false sense of security.

Having said that there's an argument to be made for both sides and I don't think there's a "right" answer necessarily. Its more down to personal preference about whether you want/expect private (to the users) voting, or you want to embrace public voting. But until Lemmy can guarantee the privacy of user votes then simply pretending they are private seems like the worst of both worlds.

We might revisit the topic of public/private voting again down the road if Lemmy's developers provide privacy enhancements in that area though.

Cheers, Unruffled.


Hi again mateys!

As most of you are probably aware, since the development of Lemvotes Lemmy votes are no longer private for users.

The way lemvotes works right now afaik, is it uses an admin level account to collect voting data from all federated instances, thus enabling the identification of every voter. This method effectively bypasses the guardrails the developers put in place to keep this info more restricted.

However, the developer of lemvotes has recently developed an "opt out" for instances that don't want their user data collected in this way. So now we have a choice of whether or not to continue. For total transparency, I asked the developer to create an opt out because I wanted to give our users the option to choose that path without defederating from the lemvotes instance.

I think there are (at least) two schools of thought on this topic, which I will attempt to succinctly summarize below:

  1. Votes should be kept private to users as they were only ever meant to be viewable by instance admins. Making votes public to everyone via lemvotes, when users have a reasonable expectation of privacy when it comes to voting, is a betrayal of user trust. It also leads to arguments and a lot of unnecessary drama, caused by users trawling though each others' vote histories.
  2. It's good that voting is transparent and that users have the same tools available as admins to conduct their own investigations into other users. This creates a level playing field and helps hold everyone accountable for their voting patterns.

So now you have some of the context, I'd like to ask our community what are your thoughts on lemvotes... is it a social good or a bad idea?

Personally, I quite like it from an admin perspective - it's a handy tool, and a pretty cool project. But I also have an expectation (mainly from other forms of social media) that users' votes should be kept private from other users, so I still think it's problematic from that perspective.


Proposal: To opt out of lemvotes, so that our users' voting data is kept (at least somewhat) private.

  • To vote FOR the proposal to succeed, upvote the post.
  • To vote AGAINST the proposal, downvote the post.

This will be a simple majority vote. Similar to the last governance topic, I have no clue what the instance sentiment is towards lemvotes, so let's find out! Feel free to add your comments below.

238 comments
  • Hi, Lemvotes dev here. As you can imagine, I believe votes on the Fediverse should be public, because that's just how ActivityPub works. Votes are sent out to every subscribed instance, which can then do whatever it wants with them.

    We need to stop pretending votes on Lemmy are private, they're not. By letting anyone view votes (well, they can do that without Lemvotes by setting up their own instance, Lemvotes just lowers the entry barrier), users can see, for example, who's serially downvoting their posts or a community's posts.

    Also, I don't think votes being public ruins Lemmy. They're public on bluesky and (virtually) no one is complaining. Additionally, platforms like kbin and mbin, which are part of the Fediverse, already make votes public. So even without Lemvotes, people can view the votes on posts. Lemvotes just makes it a bit more convenient.

    The only way to fully prevent anyone other than dbzer0 admins from viewing votes is to disable federation.

    The way lemvotes works right now afaik, is it uses an admin level account to collect voting data from all federated instances, thus enabling the identification of every voter. This method effectively bypasses the guardrails the developers put in place to keep this info more restricted.

    Just a technical nitpick, this is inaccurate. Lemvotes queries the Lemmy database directly, so instance admins can plug it into the db and Lemvotes is running. I was considering making Lemvotes its own Fediverse actor, so that (1) setting up an instance of Lemvotes would be easier, and (2) opting out would be simpler by simply defederating lemvotes.org (or wherever the instance is running), but after working on it for a bit (the results of my work are on this git branch), I realized I don't know enough about ActivityPub, and that I don't care enough about Lemvotes or Lemmy to spend my time on this, as I have other projects to work on. In case anyone wants to develop that themselves, they're free to do so! Lemvotes is open source.

  • Personally I vote against because security through obscurity, isn't. People who want to get this data for malicious purposes can easily get it. It will only affect people trying to do it causally (i.e. To check if someone is a chud).

    I personally find the whole voting system in lemmy flawed but that's another story.

    • Yeah I've had a change of heart about lemvotes. After reading through all the comments, and realising people only need a kbin or mbin account to see all the votes anyway because of how activitypub works, there is basically no point imo. As many commenters mentioned, opting out of lemvotes will only give the illusion of privacy, and doesn't address the underlying problem. And given our genAI mods rely on that tool to assess troll accounts, I'm kinda hoping it won't pass now.

      But really if we were to go along with the public voting paradigm that is part of activitypub, then I think Lemmy should really embrace it. Like create a toggle that allows instances to enable public voting, so any user can see who voted on what in the default UI. Might also help reduce vote manipulation once everyone knows its fully public.

      • Unfortunately displaying the fact that they're transparent was closed as an issue: https://github.com/LemmyNet/lemmy/issues/4967

        If you look through the thread it's the same as here. Divided between "public is public" and "public should only be public to a technocratic elite" and "I am an ostrich"

        🙃

      • *bin only displays who upvotes, not who downvotes. That said this data is public in the ActivityPub stream rn as you say.

    • Why flawed? Please elaborate, genuinely curious.

      • Because up and down don't provide anywhere enough for signal. I would prefer them be specific positive/negative emojis which would help with filtering and sorting, lead use properly and avoid misunderstandings

  • Votes are public though, pretending that they're not is just deceiving users.

    Anyone who admins a federated instance, and any of their friends, knows vote counts.

    But I also have an expectation (mainly from other forms of social media) that users’ votes should be kept private from other users

    This is literally just reddit and hackernews, some of the worst and most astro-turfed socmed. Twitter post nazification too I guess.

  • Against.

    • Does not stop voting being public
    • Does nothing for privacy, it doesn't stop how federation sends the info required to vote
    • Useful for moderators in communities where they have haters despite being self contained.
    • Useful for users to know when they have a dedicated hater/fan.
  • Against. As Lena has indicated, this does not require spinning up a full instance and admin account, but just to spin up a copy of LemVotes, which is open source. Easier than that, I've also read that votes are available without admin rights through queries to the Lemmy API. Even easier, the votes are also already public through the *bins and friendica.

    EDIT: Lena has clarified that Lemvotes does depend on having a Lemmy instance, and that votes are only available through API to admins.

    I understand the use of having a small hurdle to dissuade people, I regularly build them into my scripts at work so people can't accidentally break shit with them. But my point is, removing our instance from LemVotes does not raise that hurdle to any significant degree.

    This is a core limitation of ActivityPub. Votes must be sent with username attached for federation to work properly. The data is already out there. Any ActivityPub system that doesn't make them public is just doing so on the front end. It's set dressing, not actual voting privacy.

    I don't like that it works this way, but I've chosen to accept it as the cost to be part of the Fediverse, to be uncensorable.

    If you want privacy, the path is the same it always has been: rotate accounts regularly.


    As far as I'm aware, the only true workaround is in piefed (I think it's piefed at least) where a hidden account with a randomized name is created with your real account, and the hidden one's name is attached to your votes instead of the real account. So it would require your own instance admin to see the link in vote and identity. Or basic levels of observation skills to connect the person posting negative replies is the random username also downvoting.


    I also don't like the idea of even being able to opt out. It creates an entirely false sense of security and privacy, and could be seen as a signal that our instance doesn't intend to participate in the wider fediverse transparently and in good faith.

    • Well stated.

      rotate accounts regularly.

      Thanks for the reminder.

    • As Lena has indicated, this does not require spinning up a full instance and admin account, but just to spin up a copy of LemVotes, which is open source.

      Lemvotes currently depends on a Lemmy instance, though I could make it independent with Fedify if I had the time and energy.

      Easier than that, I've also read that votes are available without admin rights through queries to the Lemmy API.

      https://lemmy.readme.io/reference/get_post-like-list

      the API is admin-only, though votes are federated through activitypub, that's why instance admins can see them. That's just how activitypub works.

      I also don't like the idea of even being able to opt out. It creates an entirely false sense of security and privacy, and could be seen as a signal that our instance doesn't intend to participate in the wider fediverse transparently and in good faith.

      yeeeeah, this was the db0 admins' idea, otherwise my instance might have gotten defederated, which I prefer doesn't happen. The solution would be, as I said, to make Lemvotes its own fediverse actor, but I don't have the expertise or energy to do so.

  • I don't want lemvotes. It sounds like some real reddit shit and it's a terribly dumb word. Not to mention I want less tracking and more anonymity on the internet in general.

    • This is not going to give anonymity, it at worst gives an increased false sense of anonymity.
      Not only could others spin up more copies of lemvotes, last time I checked every mbin instance shows that info freely.

      For what I'm concerned this proposal would merely make looking up votes slightly less convenient.

      Edit: Yep, mbin still shows votes, no login required: Example

  • I think that opting out only makes it harder to find out who voted what, I can still find out who voted what by opening a post in friendica (though it misses a good bit of info).

    Giving users the illusion that their votes are private is dangerous.

  • Against.

    To block it would just further a false sense of privacy. The votes are already public, this just makes that data very slightly more accessible. To pretend otherwise is simply burying our heads in the sand.

  • I'm for the opt-out. I am aware of the fact that anyone who has looked into the subject knows that it's easy to get that info, but there's a difference between "I need to actually put a small amount of effort into it" vs. "I just copy the URL". If someone wants to look it up and jumps through the hoops, that's fine by me, but it shouldn't be an everyday thing.

    I personally vote on nearly every post and comment i read, and even tho i don't want to push any agenda or discriminate any user, someone who i perceive as a bad actor or who regularly comments stuff that screams "i need to touch grass" might construe (wrongly) that i target them. Tbh, most of the time i don't look at the username when voting.

    (but it is pretty interesting that i have submitted around 71000 votes since the API reddit exodus lol)

  • I dislike the comments I sometimes see which threaten people downvoting certain things and imply that the only possible reason anyone would downvote is because they are

    <pejorative identity here>

    and that they will be stalked and shunned for doing so. I see these kinds of comments in situations where something probably got downvoted because the person was being an asshole or an idiot rather than because downvoters are on the opposite side of their ideology or hateful. So it's like they want to prevent criticism through chilling effects and bullying. I get that it's tough to see that people don't like what you have to say, and that sometimes this is not useful information, but that's what options to hide vote scores are good for, just cut yourself off from this information if you can't engage with it in a healthy way or acknowledge that you might not understand the unstated thoughts of the people clicking up or down.

    Even if it is not ultimately concealable information, I think this kind of measure is good because it at least sends a message that toxic vote stalking is disapproved of.

  • I'm not a fan of this, it gives a false sense of privacy in the Fediverse. Voting data is public even if specific tools to view it decide to cater to the desires of admins. It's very easy for developers to just not do that, and it has been done before.

  • I support it but it feels pointless given it's just trying to treat symptoms and not the core issue which is the ability to get them in the first place. I don't think that there's even any good solution for that given the decentralised nature of the fediverse which sucks.

    • It is complicated but possible.
      You can anonymize votes, peertube is doing something like that.
      I can imagine even more complicated systems that limit the instances with that info to 2-3, a number small enough to make it plausible no leaks happen, while still making it very hard to fake votes with a malicious server.

      • Interesting, is it actual anonymity or just static obfuscation where after simple data analysis you'd be able to tie all past and future data to the user moving forward? Do you have the source for that? I have issues finding anything despite trying out different keywords.

  • IN FAVOR OF OPTING OUT

    Public voting is one of my least favorite features of lemmy/threadiverse.

    I don't know if it's possible to have a federated network where votes are totally private but it would be a strong preference for me. I thought there were already some tools instances could use to protect their users privacy?

    If it is implausible to totally obscure it, then I think we need more user controls to avoid accidentally voting for something that leaves a breadcrumb trail about you. Such as reminding new users their votes are public, having an easy way to see overview of all your own votes, option to remove the vote buttons from the UI, being able to unvote all your past votes (which would still be imperfect of course).

  • Anything that makes it harder for the average .world brigarder to harass people because of their voting patterns is a welcome change. So naturally I'm voting "aye" and for opting out of any further such tools/other instances of them when they will eventually pop up.

    I am aware that votes are not private, but the bar for exploiting that is on the flor when you just have to copy a URL

238 comments