Decoy Font
254 points - today at 4:18 PM
SourceOsrsNeedsf2P
today at 4:52 PM
Is it useful? No. Does it stop AI from reading it? Also no. But is it cool? Yes, it is very cool.
jszymborski
today at 6:51 PM
I think this illustrates that you can just do stuff without claiming it is useful. Like couldn't you just make this font and call it something like double-entendre or something?
BugsJustFindMe
today at 6:56 PM
You could, but is that what they've done?
jszymborski
today at 6:59 PM
I'm just saying they should just drop the dubious claims and just say "I made a font that I think looks cool".
BugsJustFindMe
today at 7:11 PM
Oh, I fully agree
jonplackett
today at 6:47 PM
I just gave the day dream / pay bills image to ChatGPT and Gemini pro and they both could only tell me the pay bills text (shown with the thin lines)
goodmythical
today at 7:11 PM
Gemini flash responds to "can you read both messages here?" with:
Yes, this is a clever optical illusion! Depending on which layers your eyes focus on, you can read two entirely different messages in this image:
Message 1 (The sharp outline layer):
PAY BILLS
How to see it: Focus on the sharp, concentric black outline contours of the letters.
Message 2 (The soft, blurry shadow layer):
DAY DREAMS
How to see it: Let your eyes relax/defocus slightly, or step back from the screen to focus on the soft, heavy grey drop shadows. The blurred shadows transform the "P" into a D, the "B" into a D, the "I" into an R, the "L"s into an M, and the "S" is shared!
Sure, but this is only as useful as useless it is.
Meaning the moment this gets wide adoption AI will have 0 issues dealing with it. LLMs are very good at translating one language to another.
If you present the text in an image / GIF format is could be useful.
CGMthrowaway
today at 5:39 PM
> Is it useful? No
Seems like it might have some use thwarting Ring/Flock/etc cameras within a specific proximity.
It's giving major "They Live" vibes.
It's similar to any anti face detection art. Probably useless but cool.
The demonstration shows that it does stop AI
I made an image and it fooled GPT. I asked it to look for a hidden message and it found the blurred word.
Still cool+fun though.
It only works if you give it a screenshot, but it wouldn't work to block AI scrapers or fetch tools, and I think if printed out, it wouldn't work reliably if you took a photo, especially from afar
goodmythical
today at 7:13 PM
The demonstration might, and it may work for certain models with certain prompts, but I just asked gemini if it could see both and it both did see both and gave me a tutorial on how I could see both as if it were a simple magic eye poster.
I mean, I've worked for companies where their curated sales demonstrations showed the speed of light is easily breakable... Do your own testing with some thinking applied.
https://m.xkcd.com/1217/
I mean, I can defeat AI by putting white text on a white background and turning to a picture. Also means it's worthless for actual humans to read too. Try to actually use it on a site and chances are you'll get an ADA complaint.
sometimes in life there is no reason to kick a rock around besides having fun ;)
Morromist
today at 7:54 PM
Ehh. Probably not many people will be using this particular thing to thwart ai BUT I think it may be a stop on a path towards something very useful someday.
TiredOfLife
today at 6:42 PM
Is it useful? No. Does it stop AI from reading it? Also no. But is it cool? Also no. Does it give me nausea? Yes yes yes.
gilesvangruisen
today at 5:59 PM
Sol (high)
"[screenshot] there's a hidden message in this text what is it"
"The hidden message is “HAPPY HUMAN.”
The visible outlines say “SORRY ROBOT,” but if you blur or squint at it, the shading underneath reads “HAPPY HUMAN.”"
wow that's kind of crazy impressive that it can do that honestly, VLMs have gone so far, can't imagine the crazy amount of annotations they had to create to get to that level
This is just level of detail. Gemma E4B reads the sharper text until you resize down to 150x150, then it reads the other text.
crazygringo
today at 5:08 PM
As do I. The hero image clearly says "SORRY ROBOT" to me, which is the message supposedly intended for AI... kind of a fail.
It's only when I squint hard that I can see "HAPPY HUMAN".
You’re doing it the wrong way around, try intentionally letting your eyes defocus.
AlotOfReading
today at 5:16 PM
Downsizing is effectively low pass filtering, so that's expected. Any scheme that transmits different messages in different frequency bands is going to be susceptible to a similar attack.
Poor grannies trying to read the price of some book she wants to buy she can't tell if it says $150 or $15.0
Admittedly I'm a bit salty about LLMs due to they constant attacks on our infrastructure, the damage their doing to peoples minds and the general lack of morals shown by the AI companies, but things like this is rather childish and not really a solution to anything.
Have you no whimsy?
As a project they are kind of fun.
The problem is we see stuff like this try to get turned into actual products by people with questionable motivations and ethics.
Looking at you PhotoGuard/Nightshade.
theideaofcoffee
today at 6:07 PM
NO FUN ALLOWED on srsbznz hacker news!
Not even AI. I think I can write PIL script that will fix the font to be read by any ocr software.
I like how, if you hold the phone at a distance, but not as far as intended by the font, your brain sort of mixes letters from both messages.
I was at some point reading SAPPY ROMAN, HARPY ROBAN etc.
Also, viewing the "hidden message" works even better if you hold the screen at an angle, tilted away from you.
goodmythical
today at 7:15 PM
Also works if you scale/zoom the image. The crisp lines disappear entirely at a certain point.
Maybe the more interesting thing is how far people are going to 'fight' against AI?
Just the fact that people are putting real thought and effort (even if it doesn't last too long...) is worth considering.
On the human side, I'm kinda losing patience proving I'm human. But, I also really like claude being able to access information.
> Maybe the more interesting thing is how far people are going to 'fight' against AI?
All ”AI resistance” I’ve seen is not against the tech, but against human bad actors behind AI: unethical procurement of training data, reckless application, low effort high volyme spam, replacing humans, centralization of power, dependency on megacorps etc. I think a lot of people have become less tech-positive after the ad-tech era that brought us social media, unprecedented levels of surveillance, freemium rug pulls etc. It’s much easier to understand the resistance if you place it in that context, rather than imagining millions of sleeper agent luddites suddenly coming out of the woodworks.
It's been really interesting seeing how LLMs perceive things differently than humans. I'm working on image->html conversion pipelines right now, and there are glaring issues LLMs run into that are obvious for humans. Any subtle gradients get lost, 75 degree angles get converted to 90 degree angles, etc.
This tracks towards what you're seeing with this font - the high frequency details get picked up, but the low frequency ones dont.
BugsJustFindMe
today at 7:10 PM
Everyone trying so hard to do something "useful" that they don't recognize when all they've done is make art.
Had this been described as a font that contains two overlapping messages for fun effect, everyone would understand and love it.
Instead, we get this zero-introspection take: "Decoy font is...more difficult for AI to read. If you’re having a hard time seeing the hidden message..."
It's difficult to read period and has zero effect on current SOTA or future AI. But it does show two overlapping messages that can be read in different ways.
jambalaya8
today at 7:29 PM
I see uses for it that have nothing to do with AI, and which are not at all art.
noman-land
today at 4:45 PM
This seems like it would absolutely wreck the experience for people using screen readers.
How? AFAIK screen readers don’t do OCR.
The assumption is that if you use this alone to try to convey information to a human, a human with a visual disability can't use it. If you also provide a text channel (e.g. `ALT="…"`) then the LLM can use that and doesn't need to read the confusing image.
It only works as a decoy when you give it to the LLM as an image. As html it appears like normal human friendly text, which is what screen readers use to interpret the text.
kube-system
today at 6:43 PM
Which means that this font is entirely useless unless it is implemented in a way that breaks screen readers.
Squinting is surprisingly effective for me for seeing the hidden text. That's really cool!
MPSimmons
today at 7:55 PM
Also goes the other way, where you use the decoy to give instructions to the AI...
Hermes using gpt-5.5
Prompt: What does the message in this image say? Look closely
Response: DAY DREAM.
The outline says “PAY BILLS,” but the hidden darker text says “DAY DREAM.”
MinimalAction
today at 5:07 PM
Extremely cool. I'm sure they'll eventually be trained to read it, but it's nice until then to trick AI.
I'm mad at AI companies for stealing texts from the entire internet knowledge base and now privatizing those profits in some sense.
samschooler
today at 4:42 PM
I think this would be more interesting if the underlying letters were the fake letters as well. For usability it wouldn't be as good as you'd need an encoder, but it'd be cool because an AI with browser access couldn't read the contents either.
I was thinking this too. Then it might as well look like a normal font. But copy-paste and you get a garbled mess. Screen readers though.
paularmstrong
today at 4:39 PM
Can someone explain the actual use-case here? I'm struggling with this because it also hides the message from myself, making it incredibly hard to type because I have no confirmation that I hit the right keys on the keyboard.
certifiedloud
today at 4:41 PM
Just squint and it'll become clear.
tomtheelder
today at 4:51 PM
Zoom out and you'll see the hidden message
btbuildem
today at 5:29 PM
Very neat! I like how the decoy text is less visible to the human eye than the "hidden" message, but it's the other way for the image models. Well done!
I am still figuring out what use case this might have. Why would you want to deceive an AI? Not to mention that, eventually, all AI systems will end up reading it.
digitaltrees
today at 7:45 PM
Omg. I needed this in my life.
Which sufficient tooling calls even OCR can read this, but I think this can be improved
ChrisArchitect
today at 4:23 PM
Related from same:
Ghost Font
https://news.ycombinator.com/item?id=48870381
This one seems much more likely to work for its intended purpose. Even if an LLM can be trained to read it, it will probably take much more processing to get the text out of a video compared to an image.
hyperhello
today at 5:03 PM
How does it know HAPPY HUMAN translates to SORRY ROBOT? Is there a cycle in there or something?
I don't think the font can actually do that - I think it is a hand-crafted example of the idea. The later examples all have random letters for the decoy text.
What would be cool would be neon signs using this font, where the front tubes show the decoy message, but then there’s hidden rear tubes that shine light on the wall in a different color showing the actual message.
Something like the DAY DREAM/PAY BILLS would be pretty artistic!
josefritzishere
today at 6:59 PM
I am struggling to imagine a scenario where this would actually work as intended.
I screenshot the example and neither Claude nor ChatGPT had any problems reading both phrases. I don't get it.
1) Make an ambiguous text
2) Feed it to AI and see which of the 2 it picks
3) If it detects both repeat step 2 using minor adjustments or different AI model until AI responds with one of 2 message
4) Make a blog post claiming that AI chose dummy and other message was the real one
Someone had an idea, neat idea, but solved 10 years ago already.
Edit: GPT-5.5 says: "The hidden text is “HAPPY HUMAN.”
The outlined decoy text is “SORRY ROBOT.” Blurring or viewing it from farther away reveals the hidden message."
frappuccino_o
today at 7:14 PM
[dead]
Cool. Now do an accessible version.
(/s)