Edit: obligatory explanation (thanks mods for squaring me away)…

What you see via the UI isn’t “all that exists”. Unlike Reddit, where everything is a black box, there are a lot more eyeballs who can see “under the hood”. Any instance admin, proper or rogue, gets a ton of information that users won’t normally see. The attached example demonstrates that while users will only see upvote/downvote tallies, admins can see who actually performed those actions.

Edit: To clarify, not just YOUR instance admin gets this info. This is ANY instance admin across the Fediverse.

  • Wander@yiffit.net
    link
    fedilink
    English
    arrow-up
    402
    arrow-down
    4
    ·
    edit-2
    1 year ago

    To anyone surprised at this: welcome to the fediverse, please treat everyhing you do or say as public.

    The way to achieve privacy around here is by following the long forgotten arts of the old internet before Facebook was a thing: use a Nick name and don't tell strangers on the internet your real identity.

    Your home instance will act as a proxy and only they have access to your email and IP address. That does stay private.

    So, as long as you trust your home instance to not leak or disclose your connection or sign up data (which would be illegal in EU countries), just sign up with an alias.

    A very positive aspects of this is that it should allow us to detect voting manipulation by correlating the activity of certain potentially malicious actors. If Lemmy instances take vote manipulation seriously and do their best to block bots this has the chance to make Lemmy / Kbin much more transparent and credible than Reddit ever was.

  • TimewornTraveler@lemm.ee
    link
    fedilink
    English
    arrow-up
    298
    arrow-down
    13
    ·
    edit-2
    1 year ago

    Edit: Obligatory RIP my inbox.

    Can we leave this kinda stuff behind? It is NOT obligatory.

    • NotMatt@lemm.ee
      link
      fedilink
      English
      arrow-up
      144
      arrow-down
      7
      ·
      1 year ago

      I’m going to start throwing “edit: thanks for the gold kind stranger!” on the end of my comments just to induce some nostalgic cringe.

    • gsa32@lemmy.world
      link
      fedilink
      English
      arrow-up
      77
      arrow-down
      9
      ·
      1 year ago

      Redditisms are cringe and always have been. Yes I agree we should leave them behind.

      • JesusTheCarpenter@feddit.uk
        link
        fedilink
        English
        arrow-up
        36
        arrow-down
        10
        ·
        1 year ago

        Well, I disagree. Redditsms, or whatever you call them, among other things helped to make reddit as popular as it is (was) right now.

        I get you don’t like it personally, but your personal opinion about them being cringe, while respectable, is not a fact.

        • Bene7rddso@feddit.de
          link
          fedilink
          English
          arrow-up
          14
          ·
          1 year ago

          I agree with both of you. We should leave redditisms behind and create lemmyisms. And yes, they get cringe if overused

          • Boz (he/him)@lemmy.one
            link
            fedilink
            English
            arrow-up
            3
            ·
            1 year ago

            Possibly relatedly, is this a good place to mention beans? I have not figured out where that meme actually came from, but apparently it’s a thing the cool kids are saying.

      • Chriszz@lemmy.world
        link
        fedilink
        English
        arrow-up
        21
        arrow-down
        6
        ·
        1 year ago

        Yes all the bad Reddit jokes and unoriginal lame attempts at garnering upvotes eg making a stupid joke out of a typo (generally unfunny, rare exceptions), I also choose this guy’s wife, take my upvote you bastard, anything along the lines of wow I hate you for making a pun, I’m not crying you are, I feel personally attacked and god knows the list goes on and on

        Hopefully these things aren’t just replaced but one can hope

    • Cheems@lemmy.world
      link
      fedilink
      English
      arrow-up
      21
      ·
      1 year ago

      This.

      EDIT: Thanks for the awards kind stranger!

      EDIT 2: Rip my inbox

      This is all examples of reddit shit that is really dumb. We don’t need to bring it over here

  • booty_flexx@lemmy.world
    link
    fedilink
    English
    arrow-up
    273
    arrow-down
    1
    ·
    edit-2
    1 year ago

    To illustrate op’s point I’m going to spin up an instance, federate with everyone, and not tell anyone what that instance is.

    Then I’m going to feed all that data into my new website, called Open Lemmy Stats, where anyone can query the user data ive accumulated. The homepage will be ripe with insights, leaderboards and all kinds of data on prolific users.

    Additionally, I’ll display a snapshot/profile of a random user by feeding that users data to GPT4 to make inferences about the user’s political affiliations and display the results.

    Worst of all, I’m not going to out my instance for everyone to know it as the one to defederate. In fact I’m spinning up a few instances that will host innocuous communities that I plan to mod and support to give my instances cover for their true purpose: redundant fediverse datastreams for my site, Open Lemmy Stats.

    I’ll also have a store where anyone can buy my collected fediverse data for a handsome sum.

    Just kidding I’m not doing any of this. But someone absolutely will or already is.

  • RyanHx@vlemmy.net
    link
    fedilink
    English
    arrow-up
    190
    arrow-down
    1
    ·
    1 year ago

    People raise a good point that in countries where political dissent can actually be dangerous, this would very much dissuade people from voting on things they believe in, or even coming anywhere near Lemmy period.

    A better approach I think would be to have the user’s host instance save their votes (the database obviously needs to remember what you voted on), but when federating those votes with other instances just hand over a cumulative total, e.g., “here on vlemmy.net we have +18 votes for this comment”, which the other instances can then add. There’s no need to send user information with that data.

  • deweydecibel@lemmy.world
    link
    fedilink
    English
    arrow-up
    179
    arrow-down
    2
    ·
    edit-2
    1 year ago

    Reading these comments, seeing so many excuses, sarcastic responses, and handwaving, makes me realize a great deal of users really need to develop some imagination.

    This is not about privacy. It’s about data that can easily be used for targeting and profiling users, and how that creates countless avenues for targeted harassment and wide scale retaliation. It’s about all of the innumerable ways public vote information can and will be abused to manipulate scoring across the site with targeted/automated shadow banning and shared blocklists. Raise your hand if you trust every single admin to never abuse such a tool to curate the outward appearance of an instance to fit a narrative.

    For a different example: I could say something about how great Nazis are right now, and have a bot programmed to read every single person that downvoted me, add those names to a shared blocklist, and viola, I’ve made myself and all my alts invisible to the people that would challenge me on a massive scale.

    I promise you this is going to be a big issue as tools for this site get more sophisticated over time.

  • ScaNtuRd@lemmy.world
    link
    fedilink
    English
    arrow-up
    155
    arrow-down
    18
    ·
    edit-2
    1 year ago

    Not to sound harsh or anything, but those of you saying that it’s okay that all this data is public are insane. This completely goes against the entire philosophy of the Fediverse and FOSS in general. The reason we all are fleeing from Big Tech is because they collect so much data on us. At least, they keep it hidden from public view. This is a major issue in my opinion, and needs to be addressed ASAP before we can claim to have superior platforms on the Fediverse. Why can’t this data at least be encrypted?

  • Aceticon@lemmy.world
    link
    fedilink
    English
    arrow-up
    150
    arrow-down
    14
    ·
    1 year ago

    Well, yeah, it’s put on the database.

    It’s the only way to avoid double voting from the same account or to remove the reverse vote if one changes one’s mind and votes the other way.

    Did you think that it was any different on Reddit and that no random employee with access to their database could run a similar SQL query with a couple of joins and end up with nicknames, e-mails and IP addresses?!

    Do you know who are the Reddit employees with access to their database or a copy of it? Have you had a chance to vet them? I don’t think so.

    At least here it’s a bit more transparent.

    The only shocking thing in this is that anybody is shocked by it.

  • Exosus@lemmy.world
    link
    fedilink
    English
    arrow-up
    85
    arrow-down
    3
    ·
    1 year ago

    I mean essentially any decentralised type of social Media cannot work any other way. An open backend is not shocking, it is expected.

  • MissingNo@lemmy.world
    link
    fedilink
    English
    arrow-up
    84
    arrow-down
    2
    ·
    1 year ago

    At first I agreed with the general “whatever” sentiment. It has some important implications, however.

    It discourages people from voting if they’re concerned about other people seeing their activity. This could result in a lower quality of scoring for posts.

  • AncientMariner@lemmy.world
    link
    fedilink
    English
    arrow-up
    85
    arrow-down
    10
    ·
    edit-2
    1 year ago

    So when Threads decides to federate, they can slurp all this information.

    That would be massively concerning and that should be blocked. Ideally votes should remain only on the current instance. Anything shared with other instances should be anonymised. This would need to be re-architected imho.

    People come here to get away from Reddit now that trust has gone. Trust and a feeling of safety is vitally important to continue to build this platform.

  • daniskarma@lemmy.world
    link
    fedilink
    English
    arrow-up
    78
    arrow-down
    3
    ·
    1 year ago

    I’ve been in forums where upvotes were public. It’s not something that I expect to be anonymous by design.

    That being said. If something is public, it should be clear that is public (and available to everyone), if it’s not it should be protected.

    I think Lemmy should go one way or the other, or upvotes are public to everyone, or they are available only for you instance admins.

    • barsoap@lemm.ee
      link
      fedilink
      English
      arrow-up
      25
      ·
      edit-2
      1 year ago

      This is actually a very important point: Things being hidden from public view but yet not properly anonymous creates a mismatch of privacy expectation vs. reality. Votes may or may not terribly important information, but the user should be sovereign of their own data and to implement that in practice we can’t rely on people reading the code, or a TOS, or something, it has to be there for everyone to see:

      If things can be seen on the backend then they should be seen by the public, if they can’t then they shouldn’t (well, also, can’t), as a general principle, not just for votes. One other big point is private messages, afaik they aren’t currently end-to-end encrypted. Gets a bit more iffy because key storage but “only the instance admin of the recipient’s instance can see messages” is low-hanging fruit.

      • Mikina@programming.dev
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Wouldn’t it be pretty simple to just encrypt them with the user’s password? Or rather, create a key that’s generated from the password, so you don’t have to store the actual password in cookies, and then just decrypt it on the client side?

        There will probably be issues with handling password resets, but other than that it doesn’t sound too hard to implement it, unless I’m missing something, since my knowledge of crypto isn’t anywhere near good. Should be one AES call, the way I see it.

        EDIT: Oh, I’ve forgotten that you also have to somehow encrypt the messages that you send to someone, so a asymmetrical encryption is required, and that would be way harder. Or, maybe just store a public key, and encrypt the private key with your password, which is loaded into local storage and decrypted with your password once you log in? Still, that’s not as easy as I thought.

        • barsoap@lemm.ee
          link
          fedilink
          English
          arrow-up
          4
          ·
          1 year ago

          You log yourself into your instance using your password, using code that the instance sends you. Thus it is trivial for a sufficiently motivated instance admin to get your password in plain-text and undo any encryption that might be done on the private key stored on that instance.

          To be actually secure you have to store the key separately, not use a webapp, etc. Solutions for that exists but aren’t really in the scope of a link aggregator which is why I think “send a message the recipient’s instance admin can see” is fine, ideally replaced by “send an actually secure message” if the recipient has gone through all the set-up hurdles, e.g. linked an address on an actually secure messaging service.

          • Mikina@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            You are right. A solution that would keep messages secure and hidden from an instance admin will have to use a solution that’s not under the control of the said instance admin, and you might as well just use PGP for that manually. But now I’m wondering how does e2e encrypted services such as Protonmail do that, so you can be sure that they don’t have access to your data. I’m assuming there can’t be any guarantee, unless you have your keys separated from the app and do your encryption before you let the app touch it.

        • Waltzy@lemdit.com
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          Tbh it would be trivial to just salt and hash the usernames (for keying the votes), no need to encrypt or involve the users password. The salting and hashing would be handled by the users home instance ( which presumably the user trusts ) so building a rainbow table would be non trivial for an attacker ( assuming the home instance keeps its salts secret ).

          • Mikina@programming.dev
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 year ago

            I like this idea. Easily solves the main issue with other instance admins getting access to it, while also being easy to implement.

            • barsoap@lemm.ee
              link
              fedilink
              English
              arrow-up
              2
              ·
              1 year ago

              Another option would be to aggregate votes per instance so programming.dev might only see “42 upvotes from lemmy.world”, but not user details. I don’t think that changes the inter-instance trust equation, at least not notably, and it even works in conjunction with non-aggregated upvotes and displaying everything publicly.

        • Waltzy@lemdit.com
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          On encrypting messages, this is a solved e2e problem if users home instances generate public private key pairs for its users on sign-up ( or users can provide their own )

          • JasonDJ@vlemmy.net
            link
            fedilink
            English
            arrow-up
            3
            ·
            1 year ago

            Then the instance admin holds the private key and can still decrypt.

            If you cared that much about privacy in DMs, we should have a “profile page”. Post a PGP public key there. Then you can send PGP encrypted messages to anyone who you have a public key for.

            • Waltzy@lemdit.com
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              1 year ago

              Aye, my proposal was a trade off between privacy and convenience for non technical users ( it’s only as bad as a non federated social media site).

              The best balance here would be a client on the user device that manages the keys for you, and an API in lemmy for accepting and sending encrypted messages.

              As a side note, I thing PGP is more or less superseded by AGE

  • sebi@lemmy.world
    link
    fedilink
    English
    arrow-up
    75
    arrow-down
    1
    ·
    edit-2
    1 year ago

    So any instance admin can analyze all users upvotes/downvotes and possibly derive political standpoints, likes/dislikes, opinions and location data from it

  • JshKlsn@lemmy.world
    link
    fedilink
    English
    arrow-up
    68
    arrow-down
    3
    ·
    1 year ago

    Redditors already scream at people when they get a downvote and blame it on the person that replies to them, even if that person didn’t downvote them.

    I can see this being dangerous and leading to a lot of bullying. I know k-bin already publicly shows this. I can see who downvotes my comments/posts when I open up the post in a k-bin instance, without even being a member.

  • Margot Robbie@lemmy.world
    link
    fedilink
    English
    arrow-up
    62
    ·
    edit-2
    1 year ago

    Suppose there is someone who wants to maintain their anonymity and privacy on Lemmy so that it couldn’t be tied to their real identity, what do you think is the best way to do that?

    Hmm, I, famous Hollywood actress Margot Robbie and star of “Barbie”, sure am stumped.

    • CifrareVerba@lemmy.world
      link
      fedilink
      English
      arrow-up
      19
      arrow-down
      1
      ·
      1 year ago

      I concur with this.

      Don’t use your real name or anything tied back to your identity online if you don’t want to compromise your identity.

      I say this as someone who is pro privacy and takes many steps to avoid leaking data. The way lemmy does this, like others said, and the Fediverse does in general, is good as it helps prevent astroturf and makes the project(s) as a whole more trustworthy as you can see, in real time, what “campaigns” are being made.

    • nPrime@lemmy.world
      link
      fedilink
      English
      arrow-up
      15
      ·
      edit-2
      1 year ago

      There are a number of things you can do, depending on how serious you want to get about it (think about who and what you want to protect against - harassment from other users? Admins?).

      Create an account using an email alias or an email account not linked with something you can trace back to your real identity.

      If you’re concerned about retaliation/harassment from downvoting something, you could create 2 accounts - one for normal use and the other you only use for downvoting, or one for participating in discussions on controversial topics.

      You could retire an account and start using a new one after a period of time, so your entire history isn’t linked to a single account.

      The above might be able to shield you from other users but not from admins.

      If you want to stay anonymous from admins:

      An admin would be able to see the IP address the account uses to connect to the service. If 2 accounts connect with the same IP address and the IP is consistently the same, they’d be able to conclude it’s likely the same person (or someone else in their household) is connecting to the service with both accounts.

      If you use a VPN or Tor when connecting to the site, that won’t be as easy to see because many people would connect to the service from the same IP address and the account would likely frequently connect using different IP addresses.

      Be aware that if you access the site on a mobile device app with a VPN, it’s possible that the app could contact the server when the VPN is down (for example, if the VPN connection is closed when the device is locked). To avoid that, you could try using using something like OpenVPN with its “Kill Switch” enabled).

      Note that the admin of the VPN service would be able to see your connections to Lemmy’s servers (but not specially what you’re doing on Lemmy), so you aren’t fully anonymous. Lemmy’s admins would see part of the picture, the VPN’s admins would see another part, and you’re counting on the 2 not talking to each other (and a good VPN service shouldn’t, unless they’re legally required to).

      I use a VPN in general for all connections to the Internet but don’t always care to keep my IP address hidden from some services (banking, primary email addresses, etc - services that will have my personal info anyway). It can be very challenging to keep your IP address hidden over the long haul with a frequently used service - you could end up connecting with the VPN down due to a technical reason or carelessness.

      With some services I might have multiple accounts - on one I might not really care if my real IP is revealed, but another on the same service that I’m very careful with to keep hidden.

      You could use a browser with protections against fingerprinting like Tor or Mullvad Browser.