Welcome to the hell of being a lemmy admin. There’s a reason why lemmy admins are fed up with the developers.
For context, there’s a lot that goes on behind the scenes when it comes to lemmy admin stuff especially in the matrix channels. There is a significant frustration and lack of confidence in the lemmy developers at this point. Even those who try to contribute to the project get eventually feeling pushed out.
That sucks. As a 3rd party Lemmy app developer, I’ve only had positive interactions with the Lemmy devs. They’re even being proactive in communications.
Are they open to these discussions?
Try submitting a pull request for something in one of the core repos.
They behave as if every line of code in your commit is a sentence proclaiming “Why yes, your wife is a whore, your dog doesn’t love you, AND your baby is ugly.”
I’m not kidding, there’s no hyperbole in that statement. Go read some of their declined pull requests threads for some entertainment.
That’s kind of the impression I got but thought maybe I was just mistaken because I haven’t actually been hands-on with this project. That’s unfortunate to hear.
Even those who try to contribute to the project get eventually feeling pushed out.
Submitting a pull request to one of their repos on Github was really an experience, and I can tell you that I will never submit another one to the Lemmy project while they’re still the lead devs based on that experience.
Better to publish such issues on a public website than let it get buried in matrix. People other than devs & instance admins need to be aware of the risks that they’re taking when using Lemmy.
Based on what I’ve seen on the public facing part of the developer side, I get the feeling this isn’t the kind of group that can build the kind of organization required to make this sustainable in the long run.
I’m just waiting for when Beehaw releases that they’ve given up on Lemmy and have created a new tech stack.
In terms of new tech stack currently theres sublinks being made by devs/admins of a bunch of instances (discuss.online, lemmy.world, programming.dev, etc.)
Anything public yet and are they sticking to Rust?
Java spring for backend, Go for federation, Next.js for frontend
demo.sublinks.org has the backend with the lemmy-ui frontend to show api compatibility
Task list and progress is public on the github org https://github.com/orgs/sublinks/projects/1
Matrix space where all the devs talk is also public and you can see progress talked about in them
Not really a substantial opinion, but I have little hope that replacing a fairly well established Rust codebase with a brand new Java one will do much in terms of increasing contribution.
I wouldn’t shortchange how much making the barrier to entry lower can help. You have to fight Rust a lot to build anything complex, and that can have a chilling effect on contributions. This is not a dig at Rust; it has to force you to build things in a particular way because it has to guarantee memory safety at compile time. That isn’t to say that Rust’s approach is the only way to be sure your code is safe, mind you, just that Rust’s insistence on memory safety at compile time is constraining.
To be frank, this isn’t necessary most of the time, and Rust will force you to spend ages worrying about problems that may not apply to your project. Java gets a bad rap but it’s second only to Python in ease-of-use. When you’re working on an API-driven webapp, you really don’t need Rust’s efficiency as much as you need a well-defined architecture that people can easily contribute to.
I doubt it’ll magically fix everything on its own, but a combo of good contribution policies and a more approachable codebase might.
Perhaps there’s starting to be a Lemmy clone/alternative? I think it’s named Sublinks
Not sure I understand. How could there possibly be a solution? Isn’t this an inherent problem with federation? You can’t un-share information
But you can delete your copy, ask others nicely to delete theirs, and refuse to accept more copies of the same thing.
I’m not sure if Lemmy supports any of this, but it seems pretty important for e.g. child porn.
How can you refuse to accept more copies of the same thing, when you deleted all the version it can compare itself to?
When you get a deletion request, hash the bytes and store the hash.
There could be a legally binding contract stating that any deletion request must be forwarded to all parties it was send to, and that upon receiving such a request the data must be deleted. I do not think this would be unreasonable to ask to servers, especially as this deletion receipt could be fully automated.
Or there could be a delay of one minute before posts get federated, giving the user the option to quickly delete a comment or post.
That’s a great idea :) Maybe you can submit a feature request for this on GitHub?
The images aren’t federated afaik. They live on your home instance. If somebody else views them, they’re loaded directly from there.
However there’s no link between the images and your account. You can’t delete them yourself because Lemmy doesn’t store the “delete token”. They’re effectively orphaned.
So what have they been doing to nuke the csam images, editing the database directly?
Often just nuking all image uploads made during a certain time period. Which is why old image threads in Lemmy have time periods littered with broken images.
I don’t understand why Lemmy needs to have a built-in image server at all. Reddit didn’t have one for the longest time and it was fine. Sure, I don’t think anyone would be particularly happy with going back to Imgur etc., but it doesn’t seem worth the trouble.
It’s a trade off for us.
You risk CSAM, and have to shoulder the storage costs.
But you also help to reduce link rot, as the images are kept on the site, rather than an external image host that might explode/go VC one day.
Some instances do just disable the image server part (I think lemm.ee used to and still only allows small images?)
I mean I don’t know why we need images at all, this stuff worked fine when it was just a BBS
Uphill both ways.
They definitely should remove it, at least until moderation tools are available.
Yes
Often they delete all images during the time frame of a CSAM attack, as that has been the only real feasible way to ensure images weren’t left behind. Though I think a few images have started using AI detection methods to remove images like that automatically (read up on that here and here), also Pict-rs now has a Log linking uploaded images to the user, so now images can be purged with the users.
Admins can purge posts manually which actually deletes them. Or use tools like db0’s lemmy-safety that tries to automatically search for CSAM and wipe it.
I think the problem here is the user didn’t finish their post which means the photo was uploaded but not associated with a post and therefore not purgeable that way.
So when I accidentally uploaded those Death Star plans…
Don’t worry. There was some little minor thing about a vent but is reported as fixed since it was discovered.
I’m on the side of the Death Star engineers. Nowhere in the spec was it required that Death Stars be Jedi-proof.
How exactly does Lemmy remain in compliance with laws regarding, for example, a user’s right to have all data associated with their account deleted (right to erasure, etc), or ensure that it is only kept for a time period reasonable while the user is actively using your services (data protection retention periods, etc)?
It’s not a big deal for me, just strange to think Lemmy of all places would be built to be so anti user’s data rights. The user is ultimately the one that decides what is done with their information/property, after all.
Lemmy is not a singular software or website, every instance on its own need to ensure compliance with their respective laws where they are domiciled.
But if instance A is domiciled in the EU, and the content mirrored to instance B in Zimbabwe, where no right to be forgotten exists, then a user of instance A can’t invoke any laws beyond what the local admin can control.
That’s amazing for high availability of content - it’s essentially mirrored in perpetuity - but a nightmare for privacy advocates. AFAIK there haven’t been any court cases related to deletion requests, so that’s still virgin territory.
Instances located in Zimbabwe still have to comply with the GDPR, as the law applies to any entity that processes EU citizen’s personal data, regardless of where this happens. Instance B would also have to comply with a deletion request, or whatever EU member state the citizen is from will impose a fine and seize assets if necessary.
This is the stupidest claim GDPR makes. It’s completely unenforceable and it’s attempting to enforce EU law in countries outside of the EU, which goes completely against any norms in international relations.
It absolutely is enforceable, and the EU has already enforced it several times.
The EU can of course try to seize assets, but in many cases they have signed a treaty with other countries stating they have the right to enforce the GDPR within their borders. Think a bit in the sense of an extradition treaty. For the US, this is the EU-US Data Privacy Framework for example.
This means the EU absolutely can, will and has the means to enforce the GDPR abroad.
I don’t see how it could be enforced without this. If you are operating internationally, comply or block your service from regions you cannot legally operate in.
Personally I don’t think Lemmy should comply. It’s an ad free community service with zero PII obligation besides an email and whatever IP you choose to connect from. No one has to be on Lemmy for any common social obligations.
If you want to be forgotten then leave!
If you are operating internationally, comply or block your service from regions you cannot legally operate in.
Couple of problems with this. First, it’s putting the onus on a company that does not operate in Europe to figure out what European law is and to try to comply with it. Why should they have to do that? If you’re not operating in an area, you should not have to ever give any consideration whatsoever to the laws of that area.
The second is that, unless I’m misinformed, the EU claims its law applies to any EU citizen, regardless of location. Which means if a Dutch person moves to Australia and uses Australian companies’ services, the EU says “hey, Australian company, you gotta do what this Dutch person says with their data”. Which is utterly ridiculous.
redacted
Uhuh, suuureeeee. Tell that to any number of fines that has yearly been issued by my country’s GDPR oversight agency on ordinary citizens.
GDPR only applies when people file reports and when there are lawsuits. There’s literally no shortage of articles of people fined for GDPR violations, all people need to do is search for them.
When someone files the inevitable court case, please let me know. I have some admin behavior bullshit I will be willing to personally get in contact with the lawyers about that I think could help it.
deleted by creator
You confuse things. Just read: https://www.compliancejunction.com/gdpr-guideline-for-companies-with-less-than-250-employees/
If you think that your company can simply ignore the introduction of the GDPR and continue as before, well, think again. Any company that is found not to be complying with regulations of GDPR can be penalized with heavy fines, or a company may have to suspend or stop processing personal data. In fact, many companies are not yet ready for GDPR because they figure this legislation will not influence their company.
DPR compliance is as important for companies with less than 250 employees as it is for large multi-national corporations. Consequently, many companies have chosen to appoint a Data Protection Officer (DPO) to address to the GDPR requirements or appoint a consultancy company to get their GDPR preparations started before delegating the role to an existing employee. For further information about this option, please refer to our article “Do Small Companies Need to Appoint a DPO under GDPR?”
Not sure how you think individual people can get fined under the GDPR but companies with less than 250 employees can’t. This is just about the only exemption:
Article 30 of GDPR is about a data inventory record and provides one potential exception for Organisations with less than 250 employees. This is a limited exemption which states that Organisations with less than 250 employees may be exempt from maintaining a data Inventory or record of processing activities. This Exemption is a minor exemption and only applies for Organisations with less than 250 employees in certain circumstances where there is no processing that is likely to result in a risk to the rights and freedoms of data subjects, the processing is only occasional, excludes special categories of personal data and personal data related to criminal convictions. The Full text of Article 30 is below. This limited exemption should in no means be interpreted by Organisations with less than 250 employees as an authorisation to ignore overall GDPR Compliance.
suck my balls
… At this point, you realize you are just grasping at straws, right? And ones you are seriously misunderstanding, given your previous less than 250 employees statement.
It’s not much, but I would advice you to read the second answer here, https://law.stackexchange.com/questions/29052/do-web-applications-as-hobby-projects-need-to-comply-with-the-gdpr , and seriously think about whether a site with many more users and much more personal data, specially those receiving revenue streams in the form of donations and with a team made up of more than one person https://team.lemmy.world/ , would be more or less likely to be accountable to the GDPR under a court of law than a personal blog.
Ruud should probably be getting in contact with https://autoriteitpersoonsgegevens.nl/contact/informatie-en-meldpunt-privacy-imp or on the telephone Monday to Thursday from 10 a.m. to 12 noon on 088-1805250 if he hasn’t already.
Doesn’t matter. Lemmy instances are technically “entities” so the law applies to them. You don’t have to be a business, just “anything that processes EU citizen’s personal data”.
citizen
Actually I believe it’s “residents”. You don’t need to be a citizen.
suck my balls
deleted by creator
Because Federation is a terrible idea
But think of Reddit, they can delete a post but a bunch of archived websites will still have it. That doesn’t make Reddit non-compliant
Or do.
What exactly is a KYC selfie? Is it a photo of an ID card? I figured out WUI is WebUI. The author uses some strange acronyms I never heard before.
It’s very American that they can steal your identity with just one photo. My European state issued ID has data on both sides, so if someone would take a photo of it won’t be enough for anything. Also if you loose it you just get a new one and noone can use the old one for anything.
KYC is Business/Finance lingo - “Know Your Client”.
Yeah the fact that exposing one number/piece of information puts you at risk to a significant amount of other information about you being exposed is peak USA.
KYC is “Know Your Customer” aka identity verification. Usually it would be something like a selfie of you holding your ID, proving you are the person on the card. If you think getting your identity stolen from one picture is bad, wait until you learn about social security numbers. It’s a 9 digit number based on publicly available information about you that is incredibly easy to figure out, and are used as like the defacto way of verifying your identity in the US, when that was never its intended purpose.
KYC = Know Your Customer, a team I just learned recently. It’s primarily related to financial transactions, to make crimes like money laundering or terrorism financing harder. Up until relatively recently this was something that primarily happened face-to-face, and it doesn’t seem like good controls have been developed for online use.
I think some ID cards are single-sided, some are double-sided. One of the big problems is most Americans only have a state-issued ID, not a federal one, and the standards vary from state to state. They’ve tried to address this some with minimum standards for state IDs (mainly driver’s licenses) under a program called Real ID (enacted after 9/11 hijackers got state-issued IDs for false identities), but it was still optional for certain purposes, at least until recently. In my state for a long time when renewing your driver’s license it was optional to do the extra paperwork for a Real ID, but then there would be a note on the top that it was not valid for federal identification purposes, such as accessing certain government facilities or boarding an airplane. Since I have a passport I’ve never bothered with it, but it looks like this year getting a Real ID is mandatory when getting or renewing a driver’s license in my state.
Minnesota just extended it to 2025 again. I can’t get into federally secure buildings, but I can board a plane.
And until I can’t, I’m not going to. Part of me likes to think they haven’t mandated it yet because I’m holding out.
Which is really because of pure laziness than actual protest
It’s mostly a religious thing. The “left behind” Christians believe a federal ID is the “Mark of the Beast”.
deleted by creator
Probably “know your customer” selfie. Might be a picture of their ID, a picture of themselves, or a picture with both them and ID.
Author here. A “KYC Selfie” is a selfie photo where you hold-up a State-issued photo-identity document next to your face. This is not a US-specific thing; it’s also used in the EU.
I used to work for a bank in Europe where we used KYC seflies for authentication of customers opening new accounts (or recovering accounts from lost credentials), including European customers. Most KYC Selfies are taken with a passport (where all the information is on one-side), but if your ID has data on both sides then the entity asking you for the KYC seflie may require you to take two photos: showing both sides.
Some countries in the EU have cryptographic authentication with eIDs. The example I linked-to in the article is Estonia, who has made auth-by-State-issued-private-key mandatory for over a decade. Currently MEPs are deciding on an eID standard, which is targeting making eIDs a requirement for all EU Member States by 2016.
I recommend the Please Identify Yourself! talk at 37c3 about the state of eID legislation as of Dec 2023 (and how to learn from India, who did eID horribly wrong):
Dear aussie.zone users,
I can delete photos. Just give me the url of the photo you need killed and I’ll happily delete it for you. But also, don’t (accidentally) upload a nude.
Assuming it’s not a joke that flew over my head, how could any individual instance remove the images once replicated? Is the removal from the original instance cascaded?
It is my understanding that images are never federated and always reference from the source instance… But, the text is fully federated.
That’s not true, images are also copied over. This is also for efficiency reasons and to spread the load of the image out to the servers. Sometimes you’ll see images not being copied to your own instance, but that might be because your instance has a lower image size limit than the instance it was uploaded to originally.
But won’t answer DMs about an instance bug where being temp banned from one community functions as an instance wide ban
Huh.
You are correct - there is a message in my inbox from you. I honestly didn’t realise/see it. I’ll reply privately.
I hate to use it, but this is why I still find imgur useful. It works.
Some stuff on Lemmy just doesn’t have a robust feature set yet. Especially around content moderation.
Image previews will still be cached, i believe.
Not sure what quality lemmy would cache them at, i presume its configurable
This got me curious on how many images are on all Lemmy instances combined and how much storage it all takes up.
Holy fucking shit balls. I contemplated seeing up an instance on a £5 VPS. Hmmmm, I think my scale is a bit off.
If it’s just a private instance, your storage needs will be way less. We use object storage, so it’s actually pretty cheap (like $5-10 a month iirc). We’re not storing that all on the server disk.
I’ve been considering a private instance myself so that’s good to know.
If you’re federating with everything by default, would that not also federate all the images and take up space that way? Or are images always just referenced from their origin instance?
Images come from their origin, but I think thumbnails are cached on your instance.
I’m running a quite small instance and currently the full media storage is 234GB. That being said I pay $3 per month for the storage on Cloudflare R2 so that’s fine. You could get more for cheaper probably with a service like Backblaze B2.
The main database (non-media) currently takes up 36GB.
Huh, less than I expected.
I was wondering about this very thing recently and how bad I should feel every time I upload an image.
At least object storage is an option.
I’m a developer of a Lemmy client. When you upload an image to a Lemmy instance, the instance returns a “delete token”. Later, you can ask the instance to delete the image attached to the delete token. So as long as you keep hold of the delete token for a specific image, you’re able to delete it later.
Lemmy-ui (the official frontend) will give you the option to delete an image again shortly after uploading it. However, it’s not possible to remove the image after actually creating the post, as the delete token associated with that post isn’t remembered anywhere on the Lemmy backend.
As for other Lemmy clients, YMMV. The client I work on (Mlem) deletes images if you remove them from a post before posting it, but has the same pitfall as Lemmy-ui in that it won’t delete the image if you’ve already created the post.
It would be possible to locally save the delete tokens of every image you upload, so that you can request that they be removed later. I don’t know of any clients that can do this yet, though (if someone knows of one, feel free to mention it).
Edit: clarity
It would be possible to locally save the delete tokens of every image you upload, so that you can request that they be removed later. I don’t know of any clients that can do this yet, though (if someone knows of one, feel free to mention it).
@sjmarf@sh.itjust.works I’m told Boost does this.
You can consider almost anything publicly posted to Lemmy as permanent. As I keep saying, please be careful.
I do think a way to automatically store the uploaded image urls and associated delete keys under your user is a necessary feature.
For personal image hosting I use postimage, but any external host that lets you modify/remove images under your account will do.
What happens when you share a link to an image? Does Lemmy just save the link or does it make a copy of the image?
The link. It only saves the image if you upload it directly, since converting it to a link, and embedding the link is how Lemmy handles image uploads.
If you upload an image from your browser, there’s a little popup in the corner for a few seconds that allows you to delete it again. No such thing exists in the apps though and if you miss the popup, that’s it.
Damnit. I wish I known that an hour ago. I guess my butthole pic will live on with the internet for an eternity.
It really is a nice butthole
Great, now you made me want to check their profile to see if they did indeed uploaded a picture of their butthole.
I am saved by my ultra slow internet and going to have to take your word for it.
“That’s America’s butthole.”
Yea i remember coming across this issue on git the devs were being angry at the poor lad.
How dare you make us follow the rules!
What ?
He was telling the devs to follow the gdpr and they said “nah it’s not a priority”.
Oh yeah i remember that too in the end the devs seem to be bullying him and just assigned him on the project and i don’t think the guy even knows tge language he needs to write (forgot which one ruby or rust is my guess).