How much control/access does my instance owner haver over my account?
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
Just to correct the people who say they can't see your password - this is only true if they're running a stock copy of lemmy, which hashes passwords in the database.
They're free to modify their instance however they want, including storing unencrypted passwords or emailing your password on registration to a bot farm.
Always use a unique password for every site you use.
Before people get worried about this, this is how literally any online service works. If you have an account anywhere, you trusted that service to not record your password.
Only exception is oauth, which actually might be a good idea for Lemmy.
An instance owner having access to the database can surely change the password to access the account and then change it back. If you're the server owner, you can do anything you want directly on the database.
The passwords are hashed (AFAIK), but the instance admin has effectively full control of any and all data originating on their instance, right down to the database level.
There has to be some level of guaranteed trust for any instance to work. And in some capacity there is inherent trust across the entire Fediverse that instances federating content are to be trustworthy. It's no different than any other forum from the old web days- there's zero guarantees and there's no way around it.
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.
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
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.
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.
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?
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.
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.
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.
as instance admins, they have access to the database, so they straight up can edit any data.
only thing they can't do is view your password (hashed), but they can replace the hash by one of a known pw.
so you must have some trust in your instance owner, again whats good with the fediverse is that you can just start your own instance, and then the best they can do is defederate from you or ban you.
It's important to note that your password has to be stored someway, no matter what, no matter where. How it's stored can be varied, from hashed (think encrypted) to cleartext. I'm assuming lemmy is using hashed passwords, so if you're concerned about your password being available to an instance owner, admin, or potential attackers, then you'll need to follow safe password guidelines. Changing the concept from passwords to passphrases is a great start.
Always keep in mind, if the data isn't stored on your device, you do not technically own that data. You have to trust the owners to be good data custodians and treat the data you give them as if it were their own private data.
I'll leave this now internet-ancient sacred image for future passphrase converts.
Just to be clear, you're talking about Lemmy. There are authentication mechanisms in which the instance never has access to your password, in any form.
I wish I could upvote your comment multiple times for the XKCD comic on this. And to anyone curious, there are many tools which will generate XKCD passwords for you. One's called "correcthorse", and there's another called "correctpony". A github search for "xkcd password" should turn up several.
A lot of people here mentioned that passwords are hashed, but unless I missed it no one pointed out the following:
The admin of your instance controls your login form and they can pull your password when you log in. So, as others mentioned: always use unique passwords, never ever reuse them.
In general a server admin can do anything they want on their own instance.
Federation wise I'd say if your home instance is the bad actor you are screwed, if it's another instance then their capabilities for mischief hare probably (hopefully?) more limited. And any such action would likely cause a swift defederation of the malicious instance
Just want to add some detail to what everyone is saying about passwords. From what I understand, by default, Lemmy uses the bcrypt hashing function to store passwords. This is a fantastic choice. The great thing about hashing a password is that there is no way to go from the hash back to the password. It's mathematically impossible, since the process loses information. This is different from encryption where there is a mathematical way to recover the original data from the ciphertext.
So great, no recovering passwords! Well...Not exactly. While there is no way to calculate the password from the hash, the neat thing about hashing algorithms is that the same input, run through the same function, will always produce the same output. And since we know Lemmy uses bcrypt, and a sufficiently motivated attacker could look at the code and figure out all the variables that goes into the bcrypt function in Lemmy, an attacker can know exactly how your password was hashed. They can make a guess at your password, run it through the function and see if that matches the hash stored in the database (this is actually how you are authenticated when logging in). If they do that a lot of times, they might be able to guess your password this way. This is basic brute forcing of a password. and there are pre-built tools to do this.
Extending that brute force attack further. People are bad at picking passwords. Most peoples' passwords follow similar patterns and have similar words in them. If you get such a list of words and use it to make up the guesses using common patterns, this can greatly speed up the guessing of passwords. And, wouldn't you know it, this also has pre-built lists and tools to do. It's dead simple. Take a class on hacking and you'll likely be doing this on day 1. Day 2 if the instructor eats up a lot of time going over the syllabus.
So, what's the defense against this? Well, two things:
Unique passwords - and not just a common password with an easy to guess change. Having "Password1" here and "Password2" over there isn't smart, no matter how smart your version of "Password" is. I mean real, complex, unique passwords. Give up memorizing them, or even knowing what they are. Get a good password vault (e.g. KeePass or BitWarden), and use that to both generate and store passwords. Protect that with a long passphrase (a sentence, with capitalization and punctuation) which you can remember.
Multi-factor authentication (MFA) - This can be limited to stuff which you really care about. If someone hacks your PornHub account, you probably don't care. If someone hacks your bank account, you probably do care. There's a whole discussion on MFA and what types are better; but, if you can enable it on a site you don't want compromised, use what's offered.
That's a fair critique. However, I find the advice "Make a secure [unique] password and you won’t have any problem" is often given, without any explanation as to "why" that advice is given. As someone who likes to know the "why" behind things like this, I like to give that detail as well.
I think this post has do be upvoted to be seen by everyone on the All page. This is something I didn’t know. I find it quite concerning that instance owners can just use your account as they please and I believe I’m not the only one who didn’t know.