YSK: Your Lemmy activities (e.g. downvotes) are far from private
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.
So any instance admin can analyze all users upvotes/downvotes and possibly derive political standpoints, likes/dislikes, opinions and location data from it
Just muddling around I've built queries that:
(a) list all of my post & comments, everybody who voted on them, and their votes
(b) tally how many times specific users have upvoted or downvoted me.
(c) identifies the most prolific voters across the Fediverse and the communities they are voting in
(d) identifies users with the same username or display name across all instances and correlates the activities across those accounts.
These are all for the sake of learning and are innocuos the way I'm using them. It is plain to see that someone with skills and an agenda could make more out of it than I have.
So you have raw database access and you can see that data. Why is this surprising? The systems I've used that solve storing data encrypted have massive usibility hits around exchanging and authenticating keys to a point where it sucks so bad I just want to disable it (matrix is a good example, non question their key exchange bullshit is hindering their adoption). I'm not saying this couldn't be fixed but should it? Most services that use a database will be inline with your discovery of how Lemmy uses that database. Storing something encrypted that is meant to be viewed publicly is the same outcome with more steps. If someone cares enough to monetize it just patch the code to change whatever behavior you don't like. I havent seeing anything about an acceptance test for Lemmy instances or anything that requires someone to use an unaltered version of Lemmy. How do you know the server admin isn't already doing all of this? You don't. Don't expect privacy in public spaces.
So you can get the users voting on posts on other instances?
Could it be anonymized, so you can get exact up/downvote data from your instance, but when it comes to other instances you only get the absolute up/downvotes?
I can't just spin up a website and automatically get that info from other websites, but I can spin up a lemmy instance and get that info from everyone it's federated with.
How is it even possible to do a SQL query on the database from another instance?
Makes no sense, databases should be private and behind the HTTP API. Why is he showing a SQL query as evidence?
So I'll assume this is done via the HTTP API then. If that's the case, why does an instance needs to see this information from other instances? By needs I mean if there's an actual purpose for that info being exposed.