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.
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?
Agreed, I am incredibly confused by what seems to be the majority reaction to this.
I’ve never been particularly involved with the FOSS community, though I do use a few FOSS apps and generally appreciate their view on what FOSS means. I also strongly appreciate data privacy, and it was my observation that the FOSS community was (generally) relatively the same way. So to see this reaction is very surprising. It’s quite literally the same terrible argument of “Why fear it if you have nothing to hide” used against multiple data privacy concerns throughout the years.
I think the worst are the bad faith “But Reddit…!” arguments. For one, we’re not on Reddit anymore, this is about Lemmy’s issues that can be corrected. And for two, whilst Reddit potentially outsourcing that data to the highest bidder is far from ideal, at the very least the data wasn’t outright PUBLIC to anyone who wishes to set up a simple server.
You say these issues can be corrected but I am not sure they can. ActivityPub is a protocol managed by the W3C. So to have different behavior You’d have to change the specification there. That is possible but it will take some time. Still you’d need a way to make votes not bound to a user and still hard to spoof. That sounds hard. Apart from that upvotes and downvotes are not really the most interesting datapoints you can gather. You can still collect posts. These can’t be obfuscated. There is simply no way to have an open network where you can share data between servers where you can make sure that no one harvests the data. It is simply not possible. As soon as it is public it is public. This has nothing to do with FOSS. If you have a solution you can implement it. That is what it means. If you have one then go ahead.
Then they should do so, these issues need to be fixed ASAP.
Obfuscating user IDs via a hash or something would seem like the way to make it work. I’m not a professional programmer, I only know a little bit of python, so I have no idea if I’m talking nonsense on that front. And whilst still not an ideal solution, but sharing non-private votes with your own instance admin and have them share only the total vote count with other instances is another solution. That way you need only trust your instance admin, which is choosable and can also be yourself.
Putting the onus on me is a shitty thing to do. I’m not the one running this site in any capacity, but this is an issue that many users are unhappy with. If the issue with the site won’t or even can’t be fixed, then I will simply not use the site. I don’t know how many people feel the same on that front, but I’d imagine there’s quite a few.
You are the person who has a problem with that and you mentioned FOSS. It is easy to complain. FOSS gives you the tools to change things. But you have to put in the work. You are the one putting the burden the change something to your liking on others instead of doing to yourself.
Both of your ideas are not compatible with ActivityPub as far is I can see. So you first need to change the specification and then make everyone adopt the specification. Before that any change would make your software incompatible with the rest of fediverse which is counter the idea.
And all of that because people could be mad about a downvote. I am an instance admin. I was downvoted before. I never even thought about looking up who downvoted me. I know people are different but to be honest if someone looks it up and harasses you then you block them. And I really can’t imagine that your vote on a post with a pseudonym is really a very useful datapoint for anyone.
I agree that these things have to be communicated better but I don’t even know how we would make people aware of this. No one reads disclaimers.
To some degree yes. However, I am simply a user. I have no idea where to even begin with attempting such a thing, and whilst I’m sure I could probably find out, even if I did it would take far longer to learn, nevermind getting it adopted. It’s a lot easier for the people running the site and who have knowledge of how to do so. It’s like going to a restaurant, not liking the way they’ve done the food, so the restaurant comes back with “Cook it yourself then”. The other “solution” is of course going to a different restaurant or simply not going to a restaurant. which if:
is truly the case, then it would seem that that is the only viable option for me personally.
I don’t care how people vote me. This isn’t strictly about downvotes, it’s about specifc content engagement.
It’s potentially useful to someone. And I’d just rather not have that data public anyway, it’s just that simple. Enough data is already public, what types of content you actively engage with and how you engage with it also being public is just a bad idea in my opinion. These are core analytics almost any site collects, which imply they must have a purpose. Except here it’s public, and can also be swooped up by big companies should they dedicate a tiny fraction of computing power to run an instance.
Making these things directly accessible to end users would be a start. Have a stats button that shows who precisely voted what. Hiding this shit in the backend is just blatant obfuscation.
It seems you have a few options:
Option 1. has the highest chance of getting your changes but option 2. might work as well. I wish you luck if you choose these options.
Option 3. seems unlikely from your comments.
Option 4. is maybe the easiest option for you then. And I say that without wanting you gone. I’d like you to stay but I don’t think the fediverse can accommodate your demands.
I’d like to point out a flaw with your analogy though: if you go to a restaurant you pay the people to make what you want. The Lemmy Devs do this for free for you. A better analogy is going to a potluck without bringing anything and being unhappy about the lack of steak.
Oh no, don’t take this the wrong way. You’ve been perfectly amiable about this throughout this discussion, I have no reason to believe you’d want me gone. I am currently considering Option 4 indeed, though I want to stay for a bit to see how this all pans out. I have other issues and concerns with the fediverse anyway.
That is a fair point, but this is a free service. There isn’t any expectancy about one contributing to it.
Perhaps a more apt analogy from my perspective would be going to a free art museum and being disappointed there isn’t any art I like, and several other people agree with me. I can ask the museum team to maybe get some more art in I and the others like, but it’s up to the museum to do so, and I can’t make art for shit and would take years to make something worthwhile. At worst, I just leave the museum, it owes me nothing, and I owe nothing to it.
I am generally shit at analogies though, so y’know, making an analogy is probably a bad idea.
I don’t have anything technical to add to the discussion, I have absolutely no idea how Lemmy works, just that I despertately wanted somewhere else to go to that wasn’t Reddit.
Still not even sure I understand how any of it works, although I do understand why there are privacy concerns and concerns around ‘syncing’ changes etc.
What I do want to say is that analogies aren’t supposed to be taken too literally. That’s kind of the point of them. :)
Maybe that’s what you should do. But don’t do it as a protest. Do it because you don’t want to share that data publicly.
The entire point of social media is sharing things publicly. If you’re worried about people collecting that data, then you shouldn’t have put it in public.
There aren’t good ways to keep a public secret. That’s inherent to how information works and not a failing of ActivityPub. It’s the same reason media will never stop being pirated. If I can see/hear it, I can repeat it.
I mean yeah, that’s what I’d do it for. It’s a suggestion for the site and it’s a sentiment that seems to be shared by several people here, but it ultimately falls down to me to decide whether or not I want to continue using it, much the same as with my usage of Reddit.
Voting is a core functionality of the site. It’s something I don’t think should be public as it puts more emphasis on what content I interact with in what is now apparently a public manner. If you want to debate that a mere vote is something I shouldn’t put in public, then fine, you do you. But for me, it defeats half the point of me even having an account here. What one comments on are often an incredibly small portion of what one actually votes on simply by ease of voting.
And I know I said “But Reddit…!” is a bad argument earlier, but even so, I’d like to say that even Reddit’s voting is not publicly accessible (as in not accessible by other users, even if Reddit probably collects such data), so clearly there should be ways to do it. If ActivityPub requires public voting and the people who have the ability to change it are unwilling or even unable to do so, then fair enough. But equally, I will refrain from contributing to such a site, which seems like a bit of a shame when it seems close to ideal otherwise.
Your votes on Reddit are public to Reddit admins. On Lemmy anyone can be an admin.
Giving vote totals without names makes the system ripe for fraud and abuse. In real life votes the decision to make votes public or private is a major one. In a system like Lemmy, the problems with private votes are exaggerated, and the problems with public votes are much smaller. Your Lemmy name shouldn’t be tied to your real name. It’s unlikely anyone is going to coerce your vote like they might coerce your political vote.
If you’re concerned about anonymity, maybe use more than one name or a different name so that your account isn’t so easily tied back to you.
The purpose behind having votes be more public is to have some kind of reputation behind those votes. It’s still possible to shill, but it requires more depth and and effort, and the shills may still be discovered if there are too many.
Which is my concern. I don’t like Reddit having and selling that data, but it’s easier for me to trust-ish a singular entity than some entire web of random people, which probably includes some corporate people siphoning data anyway. I know some would likely find that a tad paradoxical, but that’s how my brain works. At least then the corporation can be held accountable per the standards of the region they’re based in should there be issues, or users can mass target the corporation rather than go “Don’t like it, just move to another instance.”.
For reference, it’s still not ideal, but I’d somewhat trust my instance’s admin. Why can’t my vote history be shared purely with them? Then give other admins the raw upvote/downvote data of the post/comment. After all, the instance I choose my account to be on is my decision.
It’s not. I am careful about what I put online. Whilst I’m uncertain as I’ve never particularly tried to do so beyond some cursory Googling, I’m pretty sure you can’t tie my username back to me IRL. But even so, there’s no need to add to the pile of potentially traceable publically available data.
That can still be anonymised behind a hashed ID. If all my votes were registed to some User-XXXX and it wasn’t possible to retrieve my username from that, I’d have no issues. Though from my discussion with other people, it seems that’s counter to how ActivityPub intrinsically works. I’m increasingly working towards the opinion that the fediverse isn’t for me, if it’s all set up in a similar fashion and apparently unchangeable. As they say, “different strokes for different folks” I guess.
You can’t do this part. It makes it way too easy to just say “This post, -1000. This (shill) post, +1000.” Having to put names to those thousand votes makes a difference. A hash really doesn’t, as a hash isn’t hard to fake. The other solution is like mastodon, where your votes only count on your own instance. That decision would basically kill small instances of Lemmy, so I can understand why they didn’t go that direction.
I don’t know if you’ve ever noticed the difference between Reddit’s Hot and New, but it’s extremely dramatic. Votes are important, and that makes it hard to effectively not use them on smaller instances.
Exactly. When data like that is public, I can guarantee you 10000% that Big Tech and governments are harvesting ALL of it as we speak. If this issue is not resolved and TRUE privacy is not implemented sooner rather than later, Lemmy will not succeed in the Fediverse, period.
If you want privacy you need to use an encrypted chat. You can’t have privacy in a public space. That is like stand in the middle of a market place, screaming out your thoughts and then being upset that someone writes them down. It sure would be nice if our data wasn’t harvested, but that is not the world we live in. So if you want to say something in private you need to choose a private platform. Otherwise assume that Big Tech and World Governments are listening.
There’s a huge difference between what I choose to put out in public vs. data that’s being collected on me just by browsing the site. Saying “it’s just the world we live in” is just an excuse to ignore the real issues. It is more crucial now than ever that we create a system that’s by and for the people, not Big Tech and governments.
It seems that what you would like is something like 4chan, where the post will get deleted if it’s not popular. But even that, there is no way to prevent data harvesting. If it’s public, then it is public. There is nothing you can do about it. Encryption wouldn’t solve anything either because you want this data to be read by everyone so you cannot really encrypt it.
The fediverse is kind of the same as a public room where anyone can come in and just listen, take note, see who is talking and respond in the same way.
This is the point of social media. If you don’t want to participate in it because of privacy, then don’t and just lurk (or listen) like most people do.
By definition, if it’s on the internet, it’s pretty much there forever. People need to be careful on what they share on the public space, in the same way you would when talking to a big crowd. You are not talking with your friends here, you are talking to the world. If you are any privacy, you just cannot have it here. That’s impossible.
But on the Fediverse you literally can only see what you put out in the public. Your votes, your posts, your faves. That is your action in public. It is not federated what you look at. There are no trackers here that profile you. It is just your real interactions that count.
There are trackers though
Where? Not on my instance.
It depends on the instance.
The point being raised is that because of the architecture even if your instance doesn’t use trackers any other instances can use trackers and track you as if you were on their instance. At least as I understand it. Correct me if I’m wrong.
I don’t think it’s possible to encrypt the data.
Say we have a rogue user that sends to the server multiple upvote requests for the same comment, how can the server reject the subsequent requests? After all, we can’t let a user upvote a post or comment multiple times.
If that data is encrypted, the server cannot tell whether the user has upvoted a comment before.
Well, I am not a developer in this field, so I don’t know what’s possible, and what’s not. All I know is that this needs to be fixed one way or another, or this whole platform will fail. If our information is all available publicly, we will be better off just using Facebook/Reddit/Twitter - at least these platforms don’t leave our data out in public view. We need to stop saying what’s not possible, and instead talk about what is possible.
deleted by creator
So you think this is just my problem? No, this is the entire community’s problem. Sticking your head in the sand and pretending like everything is okay is the mindset that has caused so many great freedom-oriented software projects to fail. If you are not on board with creating a better system for the future internet, then why are you even here?
deleted by creator
I don’t see a problem with leaving data out in public view. Hiding behind anonymity has already turned most of the internet into a dumpster fire. Maybe we’ll see less trolls and hate publicly blasted with impunity from this. It will also put ‘keeping private shit private’ in the forefront of people’s minds. What personal data are you worried about revealing on a glorified chat forum that you aren’t directly responsible for publishing? edit: before this data was available mostly to the provider and anyone willing to pay for it. At least this way the data might become so publicly available it becomes worthless and the market dries up.
Anonymity is not the reason why many platforms have turned into “dumpster fires”. Have you checked Facebook lately? People literally use their real names while lighting the whole dumpster on fire. No, privacy is more important now than ever. If I had to list all the ways our data is being used against us nowadays, I would exceed the character allowance on here. The short version is that historically, time periods were named after the materials civilization made their weapons out of (stone age, bronze age, etc.). That’s the reason why the current time period is called the Information Age. Data/information is the biggest weapon we have nowadays, and that’s why it’s critical that we protect it with all means possible if we want to retain our freedom.
Good point about FB (I’ve been off that shithole for years now and forgot). You know what, you’re right. Our only real hope now is laws for a right to online privacy. The market needs to be destroyed and I’m just hoping we can brainstorm a solution at this point. As for Lemmy: I don’t think it can be fixed. The data is there for the taking. At least it’s not being horded by a site owner?
Maybe there is a way to keep you votes hidden but there sure is no way to keep your posts hidden. The whole point of federation is to distribute your post to the other instances. You want eat your cake and have it too. You want to post publicly but stay in control of the message. You are not better off using BigTech because there someone can scrape your data as well. And you don’t even know to how many parties your data is sent without your knowledge. There is no privacy in social media.
I am not talking about the posts. Of course those are public, as they should. There’s a big difference between data I willingly put out vs. metadata and the likes.
You mean it is worse here on lemmy with the unknown number of people who can see your votes if they are interested then on [BigTech-Site-X] where an unknown number of people can see your votes if they are interested? If you or someone else you know has a nice idea how to make votes possible without the information of who did it, then you are very welcome to submit your idea to the W3C for consideration. ActivityPub is an open standard and everyone can contribute.
There might be possible technical solutions to this using hashing. Hashing is like encryption in that the original cannot be extracted, but the hashed result is unique.
For example, a solution would be to have a VOTES table with an indexed column that is a hash of a combination of the user ID, post ID, (and perhaps another “salt”, not sure). When a vote is made, the VOTES table is checked that the record (vote) does not already exist, gets an insert, and then a COUNTER is triggered for the actual vote count. (COUNTER is a db command that simply updates a counter). The hash would prevent multiple votes from the same user (as the salted hash is unique), and it would also prevent identifying who the user is from the table.
Yeah, I admit that sounds reasonable.
Although that still leaves the question of “is it scalable/performant?” on the table… Lemmy already suffers a lot from server overloading, adding the overhead of cryptographic hashing (anything less than that is not going to ensure uniqueness/true anonymity) to each act of voting surely isn’t going to help.
deleted by creator
Hashing is a normal part of the web, it’s easily scalable.
Still you can easily and quickly check if a user has voted on a particular post. While your method makes the tracking process quite a bit slower, it doesn’t make it unrealistic. There just aren’t that many users and posts as is the case with passwords. Still 100% better than the current approach, I hope this gets implemented.
I really don’t even think the votes table would need to itself be federated; it could just be on the user’s instance. Upvote/downvote would be a call, but it should really only require the post or comment ID and voter instance. If an instance spams votes, those upvotes/downvotes could be deleted and the instance defederated
Surely the server should be able to identity users “under the hood” without having to publicly announce everything to everyone? I’m not a programmer myself so correct me if I’m wrong, but isn’t preventing unauthorized or otherwise unwelcome actions while permitting intended ones without having to announce it most of what the programming controlling a server DOES?
Surely it should be possible to write code to tell whether someone has already upvoted something and then blocking further upvote requests for that specific thing without letting all the admins of lemmygrad and lemmynsfw, for example, snoop on all users?
PS: my apologies for calling you Shirley twice, u/orangeboats. I’m sure your name is just Shirley, not Shirley Shirley.
Yeah exactly. And I am not an expert in this field either, but of course there’s a solution, one way or another. The purpose of my above comment was simply just to call out the mindset of a lot of the people on here, whom obviously have no clue about FOSS and privacy, but simply just came over from Reddit. We are at war against Big Tech these days. Our privacy is at risk and our data is being used for population control. It is vital that we have projects like the Fediverse that can counter this, but we will only be successful and win this war if we can implement some true privacy.
I think you make a valid point about Lemmy, but “hidden from public”? Big tech literally sells your data for profit.
I don’t think you’re been harsh lol, the right to secrete ballot is literally in the universal declaration of human rights.
Open ballot is a well known method for intimidating and blackmailing participants, it’s absolutely crazy that Fedivese operates this way. But even worse, seeing so many people here supports it.
You call us insane but you don’t want to be harsh? I wonder what would you call people that are not panicking at even a possibility that anything personal becomes public if you were trying to be harsh.
On a more serious note, I am happy that people like you exist that care about privacy as it benefits everyone overall I guess. But you have to remember that some people, like me, don’t have issues with having their opinions and even some personal data public as long as we are aware that this is the case (which is how I treat all the social media).
For instance, durning my Reddit 7-year tenure I always wrote my comments in a way that if suddenly my employers or friend brought it up, I would not be ashamed of what I wrote.
I am not saying it’s not good to think and discuss about things like that but I would appreciate if you didn’t call people insane that have a very different attitude to you if it comes to internet privacy.
Some people freak out about internet privacy, GMO, sweeteners causing cancer, etc. There are others that don’t.
I agree as in “we need to assure anonymity” although I find complete transperency better than corporate overlords deciding what happens with your data
now atleast you know that everyone that does want to know the information is going to get it [so you can behave yourself ;) ]
What information is stored/publicly accessible for our accounts?
I don’t see it being a problem that your votes are public so long as there’s no way to tie the account to you irl. Like, so long as the instance (? I’m very new here I don’t really understand the data structure) doesn’t store your IP address or anything does it matter?
Like yeah you can see that u/randomdickhead (again, not familiar with naming conventions) upvote some weird shit but so long as that’s where the bill ends that user could just make another account aaaaaaaaaaand… No issue?
If I have the wrong idea please let me know I’m genuinely confused about this
Care to elaborate on that? As far as I know this is built in to all the ActivityPub applications.