this post was submitted on 09 Aug 2023
92 points (100.0% liked)

Asklemmy

43956 readers
974 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy πŸ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_[email protected]~

founded 5 years ago
MODERATORS
 

I noticed that there were some accounts that were hijacked by the instance owners. All the posts from that user were then edited to say what happened.

This kind of surprised me, I figured instances could delete posts, but not edit them. So how much control do they have?

I assume they can't see my password (hopefully). Can they post in my name? Do they have all the access to my posts to foreign instances that they do over local posts?

Edit: thanks for all the responses everyone! I've wanted my own instance for a while, but maybe I'll get on it now

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 38 points 1 year ago* (last edited 1 year ago) (4 children)
  • Password hashing occurs server-side. Even without removing the hashing step an admin can intercept the plaintext password during login. Use unique safe passwords.

  • An admin can intercept the jwt authentication cookie and use any account that lives in the instance.

  • Private messages are stored as plaintext in the database

  • Admins can see who upvotes/downvotes what

  • These are not things that are unique to Lemmy. This is common.

  • To avoid having to trust your admin, run an instance.

[–] Ziggurat 7 points 1 year ago (2 children)

Quick note,

this is note unique to Lemmy/Fediverse. Reddit admin or twitter admin (and even gmail) can also read your MP, see the hash of your password and remove your comments. Reading your MP is even part of their business model so they can show you personalized ads.

There is definitely a probability to deal with a non reliable instance admin, but not less than with any other social media, and in principle they collect even less data

[–] [email protected] 7 points 1 year ago (1 children)

Technically that’s true.

To build trust and adhere to law, corporations will usually have processes and regulations in place that determine which employees can access and modify what. That is why spez modifying user comments is such a big deal. It showed that Reddit is not to be trusted. Nevertheless, for corporations that value customers trust, any employee who does not adhere to these procedures risks their employment.

On smallish fediverse instances none of these procedures need to be in place, the admin is bound only by his own moral code.

[–] [email protected] 4 points 1 year ago

This is true. However keep in mind that instances survive on reputation. As soon as something like this came out, which is inevitable with time, nobody will trust that instance, or the person running that instance, again. And people are usually quite quick to find this out as already demonstrated by other online services. Hiding is very difficult. Even worse, once your reputation falls, people can move to a more respectful server and continue participating in the network, so in the end it's a losing game for the instance owner. Password safety obviously applies, but if you take a look at big social media privacy and terms, a little password manager in my personal opinion is preferable.

[–] [email protected] 3 points 1 year ago

There is definitely a probability to deal with a non reliable instance admin, but not less than with any other social media, and in principle they collect even less data

Yeah. You can see the cookies that are stored by a site by right-clicking on the site, going to "inspect", and the clicking "Storage". By default, the only cookie that Lemmy has is an jwt cookie used to authenticate your user.

You are not asked for a phone number to be here. Providing an e-mail is often optional and even discouraged by some instances. When you want to send a private message through the site you get a message discouraging from doing that and encouraging to try to use an encrypted chat application instead, such as matrix.

The original Lemmy instance (lemmy.ml) is a community for FOSS and Privacy enthusiasts. What is asks from a user and what it does with the data is what it needs to be functional. Lemmy lets you take any proactive step that you would like to take to protect your privacy - use a VPN or Tor, use safe passwords, use a unique identity, and don't provide any personal information. There are no built-in features to block you or discourage you from doing that. Lemmy never asks for your location, nor does it keep any logs of what content you visit, nor does it try to run any analytics on you. But even if that is not enough for you, the fediverse doesn't lock you out, you can set up an instance or even create a new program to interact and communicate only precisely what you want to communicate via activity pub.

[–] [email protected] 3 points 1 year ago (2 children)

I'm assuming votes are all federated, so I think any instance admin would be able to see who voted in which direction for any post that gets federated to their instance, no? Or is it just the vote count that is federated?

[–] [email protected] 3 points 1 year ago (2 children)

I remember seeing someone listing everyone who voted, so I think the votes themself are federated.

Might even be accessible via the API so any frontend can list them, but that's just a guess.

[–] [email protected] 1 points 1 year ago (1 children)

I kinda hope they don't have an API for that. I really didn't like it on reddit when two people would be having a debate on a topic, and one person would search the other person's comment history to find something to attack their character on to hurt their credibility. I think debates should be handled using relevant points about the topic being discussed. Attempts to attack character are very underhanded. It's how politicians debate. It almost like admitting that you couldn't make a better point than your opponent, so you had to stoop to that level.

I think having an API for votes and front ends that showed votes would encourage people to do exactly that here. If front ends started showing that info, I think it would discourage lurkers from voting, which I'm not sure we want.

Obviously there's very little that could or even should be done about admins seeing that info. Admins have full visibility and manipulation power over the DB, and I feel like this wouldn't even make the list of improvements that I think lemmy needs right now. Admins just sort of need to be trusted or people will leave your instance.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

No, there is no API to get the votes (https://join-lemmy.org/api/). If my understanding is correct, now that I upvoted your comment my instance will push that information. I'm not sure whether it pushes it to dandroid.app first or to all instances, saying basically "[email protected] upvoted https://dandroid.app/comment/441785", and so every instance that has that comment can save my user ID in the "upvote" list of that comment, and that upvote is counted.

If only the vote direction was federated, then it would be very easy for me to spam the message "Upvote https://dandroid.app/comment/441785". I would not even need to create an instance for that, I just need to speak ActivityPub. And it would be more difficult to detect that I am doing that, because the database would only hold the vote count.

I don't think there is a way to ask an instance to reveal this list. You can only get it by directly querying the database if you have access to it. This is why if you fetch an older post or comment, it will arrive with a single or zero votes.

[–] [email protected] 1 points 1 year ago

The votes themselves are the federated action.

If you fetch an old post, your instance will not see the previous voters. After that, whenever a user votes the instance will get the message "User X@instance upvoted/downvoted post Y" and the vote will be added to the database with the voter's user ID and counted.

This has a practical function. If you don't keep a list specifying who voted for what, it would be much easier to fake votes from one instance to another by simply communicating the message "Downvote post Y". With the current method it is still possible to create a lot of fake accounts and mass-vote, but at least you can get a better insight when looking at the database if the votes are associated with accounts with no activity from a single instance.

There are some federated platforms that will show who likes / dislikes something. I know that friendica used to do this - I have not checked if it still does. So it is not only admins who can see this, this is is basically open information in the fediverse.

[–] [email protected] 2 points 1 year ago (2 children)

Can you recommend a good free web host for running your own instance? I haven't dabbled in web development in over 15 years now, so I'm kinda out of the loop.

[–] afa 3 points 1 year ago (1 children)

Oracle has a pretty decent free tier.

[–] [email protected] 2 points 1 year ago (1 children)

I'm not sure about Web Hosting. Many of us use a dedicated virtual private server (VPS)

I use https://serverspace.io, I think Lemmy.ml is hosted with https://www.hetzner.com/

These are servers that you access via SSH and can install the instance inside of it. I personally install using docker compose, but there are some other methods that are claimed to be easier. The cost starts at ~$5 / month. Currently I pay about $15 / month. You would then rent the domain name from a domain name registrar (I use namecheap.com) and ask them to point the domain name to your server's IP address.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

I looked into it and gave up after half a day of trying. I can't figure out how this SSH thing works at all.

I'm used to CPanel and uploading files via FTP. I can code some CSS and manage a MySQL server, but this modern era of web development goes over my head. Apparently now you have to pick a Linux distro and install it, instead of it just being ready to go for you. (At least that's how it worked with Oracle).

Thanks for trying to help but I'm too old for this shit now. I don't even know what "docker compose" means. I've read the official documentation and looked at tutorials, but it's all a foreign language to me now. Like I said, in my day you just uploaded the files via FTP, changed some lines in a config file, redirected your .com to your nameservers in CPanel, and you were good to go. Installing an instance is 10x more difficult. Wasted $9 on a domain for nothing... *sigh*