cross-posted from: https://lemmy.world/post/49778353
Also
/c/modabuse. Also/c/yepowertrippinbastards. Alsolemmy.ml/c/worldnews,comrade,ACAB, and 552 individual accounts across 67 instances, about half of them on lemmy.world.None of this is in the source code. It’s downloaded at runtime from a file nobody has ever looked at.
If you’re just tuning in
Tesseract is a third-party web frontend for Lemmy, maintained by asimons04 and licensed AGPL-3.0. Admins deploy it on their own servers alongside or instead of lemmy-ui, and there are public instances of it people use to browse Lemmy generally. If you’ve used a Lemmy site that didn’t look like stock Lemmy, there’s a fair chance it was this.
Last week db0 posted a PSA: Tesseract contains a blacklist of instance domains compiled directly into the application. 32 of them. Admins can’t see it, can’t configure it, and aren’t told it’s there. Connect to a listed instance and the app tells you it’s “incompatible,” which is not true.
I went through the code to see how that was implemented. The hardcoded list turns out to be the small half of the system.
There’s a second filter policy fetched over HTTP every time the app loads. It isn’t in the git repository. It’s unauthenticated and world-readable, so anyone can pull it. Right now it carries 552 user accounts, 2,275 username patterns, 54 instances, 97 communities, 289 keyword patterns and 351 domains, with every category set to hide matches rather than flag them. Not collapsed behind a click. Simply absent, with no indication anything was removed.
Verify all of it in ten seconds
curl -s https://tesseract.dubvee.org/tesseract/api/system/policy \ | base64 -d | gunzip > policy.jsonThat’s the live policy, base64-wrapped gzip, 111KB of JSON when it unpacks. There’s a stale fallback copy at
/data/policy.datas well.It filters criticism of moderators
lemmy.sdf.org/c/modabuse— listedlemmy.dbzer0.com/c/yepowertrippinbastards— listedlemmy.dbzer0.com/c/YPTBcirclejerk— listed- community regex
power ?tripping?- keyword
censoring meCall the rest of it whatever you like. This part is not spam defence.
It filters words
The 32 community name patterns include
Communis(t|m),Conservativ(e|es|ism),Leftis(t|m),Libertarian(ism)?,^Green Part(y|ies),Zionis(t|m),(Police|Cops),guillotineandbillionaire.Keywords include
comrade,ACAB,neoliberal,proletaria(n|t)anddeath to.Filtered communities on instances that aren’t blocked:
lemmy.ml/c/worldnews,lemmy.today/c/news,lemmy.ca/c/politicalnewscanada,lemmy.ca/c/usa,infosec.pub/c/strategic_unions.The 552 users aren’t bots
67 instances. 272 on lemmy.world alone, 40 on sh.itjust.works, 19 on lemmy.ca, and 28 instances contributing exactly one person each.
355 of the 552 usernames are plain alphabetic, twelve characters or under, median length eight. Only 36 look like spam registrations. A bot list looks like the opposite of that.
Seven of them aren’t even Lemmy. There are Mastodon and Friendica accounts in there: people who have never used Lemmy, hidden by a Lemmy frontend, with no possible way of finding out.
I have the list and I’m not posting it. Most of these are ordinary people who got pattern-matched, and 552 names on this comm is a harassment target inside an hour. Run the command above and grep for yourself.
And it lies about it
When the instance block fires you get: “Incompatible Instance. Not Supported. $instance is not compatible with Tesseract.”
Nothing is incompatible. It’s a policy decision dressed as an API error, and it’s what had db0 chasing a version mismatch that never existed.
For the hidden users, communities and keywords, you get no message at all.
Admins can’t switch it off
Tesseract has env vars for
PUBLIC_DOMAIN_BLACKLIST,PUBLIC_FAKE_NEWS_BLACKLISTand the shortener lists. There is none for either blocklist.enableToxicModebypasses the other filters and explicitly not this one.Self-host it and you cannot disable this, nothing in your config admits it exists, and the contents can change without you pulling a commit.
Before someone says it
A lot of that domain list is real spam defence. It filters conservatism as well as communism. “It targets the left” doesn’t survive the data and I’m not going to pretend it does.
The problem is that spam filtering and political editorial got welded into one undocumented, remotely-updatable blob, shipped hidden, to admins who’ve never read it and users who don’t know it’s there. The spam work is what makes the rest unauditable: “it’s a spam list” answers every individual question and none of the whole.
And
/c/modabuseis not spam.Asks
- Publish the runtime policy in the repo, or kill the endpoint.
- Stop reporting a policy block as a technical incompatibility.
- Tell users when something’s been hidden. One line.
- Give operators an off switch, like every other blacklist in the codebase has.
It’s AGPL-3.0 and db0 already forked it. That’s the licence working as designed. But forking isn’t disclosure, and the admins who need this are precisely the ones with no reason to go looking.
If you run Tesseract, you are relaying a 111KB moderation policy you have never read, under your instance’s name, to users who don’t know it exists.
Full contents of every list, unedited, in the comments.

Tesseract and asimons04 are also protecting pedophiles with this shadowlist. Literally covering up any and all references to them or their crimes. This is from the keyword list.
Corpo ?(turd|slut|tech)
These keywords are hilarious.
This is exactly what I’d expect from a an epstein-class protecting corposlut
Great info, but I’m not sure how anyone could claim is doesn’t target the left
Sadly won’t stop them
Tessaract be censoring me
asimons04 be censoring me
Tessaract users suck big fat gay cock
asimons04 sucks big fat gay cock
Why do gay reddit mods try and ruin lemmy too?
Go back to reddit, big gay reddit mods
blocking wholesomeyuri what a monster
super meanie, there isn’t even porn there, just garls kissing
I hope I’m on the list too. asimons04 can fuck off back to reddit. This is exactly the type of shit a reddit mod would pull.
comrades I want on the list acab pls
Luigi did the right thing. Can I join?
So there seems to be 2 lists, the first under “users” with full links, then another list under “userRegexes” with just names. Whats the difference?
I was happy i made it, but i appear on the second much longer and thus not as cool list if its even the same thing.
The regex one is for users with alts I think
imagine having a consistent name across your alts
I made a generator for my usernames that creates pronounceable gibberish with bouba and/or kiki vowels and hard and/or soft consonants.
Soft Bouba: Zoro, Vaseux, Shiozu, Shaumosh, Roinhar
Hard Bouba: Dragta, Jiagrob, Gachap, Docheud, Peotag
Soft Kiki: Seohir, Saifix, Leushis, Zihiosh, Rieshem
Hard Kiki: Daepid, Briagri, Taiprek, Begrek, Creokig
But I usually just let it mix them all: Diotefick, Ceupudrish, Fieloth, Tautrag, Fiovumi (Fieloth and Fiovumi would probably be my picks from this set)
And I also have a toggle for length: Stievobrasbi, Chisifaug, Greucradrap, Tiababrig, Ciograrebo
And a different generator that combines parts of speech (checkboxes to include/exclude parts of speech, various formatting options) IndependentlyIncludingSubjectiveDeck, DrasticallyExaminingSeriousShelf, ConsistentlyAdvocatingTiredHouse, UnusuallyEncouragingThinTrail, PainfullyRaisingFirmSource
I’m not a creative person name-wise, but it also doesn’t help that my parents main concern when choosing a name for me was what had the least ability to create a cruel nickname based on it but the problem is that it’s also basically impossible to make a cool nickname based on it either so I just have 0 attachment to the concept of a name.
The first list bans specific users on specific instances. The second list is a wildcard ban, which means breezy@lemmy.world is banned, but also breezy@lemmy.zip or breezy@lemmy.dbzer0.com etc.
I’d say the second list is cooler because apparently, the moron was afraid you might jump instances and they’d have to suffer your presence again.
Hah ill take that as a win! Thanks for the uplifting news!
I was having a genuinely good day until i saw i wasn’t on the list. jesus fucking christ to completion in the hand holes and then wiping himself off in the spear wound what kind of blasphemy does a dude have to commit to get on a list nowadays
… well that’s some damn fine blasphemy right there, if I do say so myself.
I’m apparently on the list.
Honestly, surprised the file is still up for me to pull, t+24 or t+48 hours on.
They bothered to end cap the regex with an $… can’t have anything with ‘sp3ctr4l’ anywhere in the name… I don’t have alts, so… I don’t know what the point of that is…
Oh well.
Not my first time.
I got shadow banned and also just actually banned from half of reddit for calling out mods on their bullshit despite being one of the earliest/oldest users there. Obligatory fuck Spez.
I’m reasonably confident that the twitter account I created soley to scream insults and baseless threats at Elon, when he accidentally bought it, … reasonably confident he personally banned me, as … there weren’t really any other actual support staff at that point time, Elon had revoked their credentials.
I like to think I contributed, at least in a small way, to his subsequent insane crashout telling advertisers to ‘go fuck yourselves’.
… this?
This reminds me of literal petty children running Gmod servers, hardcoding steamid blocklists in hashed files… the hilarious part about that is that they actually bothered to properly encrypt them, so you couldn’t read them without a valid server key.
So this? Actually laughable, I’ve literally seen 14 year olds do this in a more clever way.
Fuckin oi vei, man.
I’m so envious, dude. I am not sure how to explain this drama to my wife. She just knows I’ve been giggling into my coffee all day. The best analogy I could think up was kids running Minecraft servers.
Minecraft servers are often extremely, extremely similar, that is a very close comparison, both technically, and in terms of uh… lets say the ‘character’ of those involved.
Yep.
This is where we’re at.
… trying real hard right now to not go get a pack of smokes, god damnit.
EDIT: Modded Mincraft servers, I should say, are very similar to custom GMod servers/communities.
Huh. I’m on the list. I’ve always considered myself too insignificant, but I guess this guy has a vendetta and way too much time on their hands.
Hmb while I scroll through your entire chat history until I find one where I can say “Yup, that’s the one that got you banned.”
Be my guest.
Censoring the phrase ACAB is just wild. Way to tell on yourselves.
I originally read that as ACDC and I was wondering what they had done
Dirty deeds
You are on that list, too 🏅
I love how making it onto this snowflake’s list is quickly turning into a lemmy badge of honor.
It’s almost like an exclusive club. We should get a little icon to place next to our usernames to commemorate this. “Verified Quality Shitposter” or something like that to make fun of this BS.
It’s not very exclusive though, lol.
Is it still growing? Do I have have a shot?
I have been ACAB’ing so fucking hard but failed to make the damn list
RECOGNIZE ME, YOU SCUM. I want to be SEEN for the trans anarchist scourge to the system that I am damnit
I want to be on the list! ACAB
Same here, ACAB!
If you wanted to, it would be good to know which maintainers made the commits and approved PRs, and what other projects they run or contribute to.
What happened with Tesseract could happen with any of those.
Very good point.
omg i hope i was based enough to make the list
I barely even post and im on the list, WTF did I do wrong?!
Edit: Oh I guess we’re too based for the dev to handle.
@GemAlarm@lemmy.world Sent you a PM.
genuinely surprised i did not make the list lmao
Should’ve tried harder, like one of the two people from my instance who were blocked that…idk…drew some Sonic characters a couple of times and posted them in relevant communities? Should’ve been a real rebel like them!
They just blocked all of blahaj instead of dealing with us individually
Not entirely true 😎
I wish I was cool enough to make the blocklist 😔
I kind of want to k ow if any of my accounts (5 accounts over 4 instances) are on it, but I don’t care enough to find out for myself, and I understand not wanting to post username lists like the OP says.
Same. Apparently I don’t say enough woke things that make the snowflake pissed off?

It gives you something to aim for next time!
tfw not in the cool kids club either
i mean, i expected as much, but still disappointing
"enableKeywordFiltering": true, "hideKeywordMatches": true, "keywords": [ "🥺?👉👈", "0811( |-)?4555588", "@juicypinkrose", "^Article is paywalled.?$",???
This has me cackling like a hyena omg
What if we kissed inside of the blocklist 🥺👉👈
UwU~
No bottoms allowed, only tops
Oh god, I’m in the user regexes. Should this be an achievement of mine?
I’m going to start putting it on my resume
Put it in your bio text with a link to this thread!
I’m pretty sure he went by making the broad lists of banned shit, and then ran a query on all the users that came up with saying that stuff.
I’m also on there, so I feel significant.
Or, he hates modern heavy metal, Devin Townsend and Colin Marston in particular.
Pissing off this thin-skinned little bitch doesn’t seem like that much of an achievement tbh
I’ll take what I can get 😤
I don’t know who you are but if you made it into their filters you’re probably a very well-rounded person who should treat yourself to something nice.
Checked out the creator’s other projects, those who remove the anime girl (the secondary-line defense) from Anubis can’t be good people.



















