SoulsOnly.tff – A font for humans not AI and keyboard firmware to type in it

Posted by billtarbell 1 day ago

Counter49Comment29OpenOriginal

Comments

Comment by blahgeek 1 day ago

Reminds me of an anti-crawl mechanism I encountered some time ago in a financial data provider's website: for all numbers in the table, a special font is used where 0~9 are randomly rendered as different chars (e.g. '0' is rendered as 5, '1' is rendered as 8, etc.). The backend server returns the "encoded" chars, and is then correctly "decoded" by the font. The font changes after each reload. So humans always see the correct numbers, but when some crawler uses the HTML source, the numbers are incorrect.

Comment by rao-v 1 day ago

How would a human copying/pasting a number work?

Comment by rpastuszak 1 day ago

In my experience (PDF contract sent by a house seller), copy paste was broken.

That said, after 15 minutes of gently massaging the PDF with claude, it was pretty easy to drop the substitutions and restore the original text.

Comment by wongarsu 17 hours ago

The proper way would be to set "user-select: none;" to prevent the user from copying. Annoying, but better than copying wrong info

Comment by billtarbell 1 day ago

Everyone rushing to make their content AI-friendly made me want to figure out how to make content AI-unfriendly. Basically human-written words meant for human eyes only.

So I built "SoulsOnly.ttf": a font for humans not AI, and keyboard firmware to type in it.

The implementation of a font can be "hacked" to make what looks like gobbledegook to a computer, render as legible to humans. Copying and pasting text written in the font into AI to summarize is almost impossible. And to avoid AI image analysis, a version of the font can be loaded with the glyphs scattered and require a simple "focus" interaction by the reader to begin reading. Note that a sufficiently prompted AI agent can definitely read this, so it's not meant to be cryptographically sound, more just unfriendly to the common AI reader!

Comment by arplynn 1 day ago

Break search and screw over your disabled readers with this one weird trick! Legal in multiple countries

Comment by billtarbell 1 day ago

Point taken. This really isn't intended for that, more a fun exploration of the difference between human and AI perception. That being said, I updated the project with an analogous audio version.

Comment by pedrogpimenta 1 day ago

I love this! But won't the machine easily pick up on this?

Comment by billtarbell 1 day ago

It's actually not really easy for AI, without the agent doing some actual coding itself to reverse engineer the font file, or to take screenshots at different variable font intervals to zone in on the "focused" version of the variable font. All of that being said, the intention (beyond just having fun creating it) was to make it AI "unfriendly" so AI bots doing broad quick reads of it are going to be left with gobbledegook encoded characters.

Comment by anon291 1 day ago

Most llms can equally engage with text in picture form as text in token form. In fact my initial research on this (later corroborated by actual published papers) indicate that this is a cheap way to save on tokens.

Comment by billtarbell 1 day ago

Oh interesting and good to know on the token savings with this technique. My test with claude had it use vision and then programmatically test different variable font input variables (mimicking the user scrub interaction) until it was able to OCR it.

Comment by anon291 21 hours ago

I mean I can't know for sure but I'm pretty sure that by the time the upper layers of the network are reached the lower level networks have already transformed the image tiles into proper position encoded embeddings of the tokens in the words in the image.

That would be my operating assumption at least.

Comment by billtarbell 13 hours ago

The encoded data and the font file go over the network. The font file is executed locally on the readers machine.

Comment by anon291 4 hours ago

My point is you can just render the file and send to AI...

Comment by cwnyth 1 day ago

As they said in the comment you replied to: "Note that a sufficiently prompted AI agent can definitely read this, so it's not meant to be cryptographically sound, more just unfriendly to the common AI reader!"

Comment by emschwartz 1 day ago

Hilarious. Nice work

Comment by billtarbell 1 day ago

Thanks! Font against the machine! lol

Comment by ncr100 1 day ago

lol

Comment by cwillu 1 day ago

Fuck blind people I guess?

Comment by billtarbell 1 day ago

Certainly no. But point taken. This really isn't intended for use on a website like that, more a fun exploration of the difference between human and AI perception. That being said, I updated the project with an analogous audio experiment version for the unsighted.

Comment by stronglikedan 1 day ago

I don't know why you'd feel so hostile towards the blind, but you do you...

Comment by coreyp_1 1 day ago

They meant that this is a technique that relies on a person's vision, which means that the blind, by definition, are being excluded. They weren't being hostile toward the blind, they were pointing out that the project itself is hostile towards the blind.

Comment by vips7L 1 day ago

Hilarious that Claude was used to make it.

Comment by billtarbell 8 hours ago

LOL yeah, jokes on claude for helping me create something AI-unfriendly i guess!

Comment by john_strinlai 1 day ago

neat idea! it is slightly amusing to find "btarbell and claude committed 2 weeks ago" in an anti-ai project.

Comment by billtarbell 8 hours ago

Thanks and lol yeah regarding using claude for this. Didn't intend to come across as generally anti-AI, I'm just interested in exploring ways where we can connect person to person with a reasonable assumption that AI isn't intermediating our communication.

Comment by ForHackernews 1 day ago

turns out the master's tools will dismantle the master's house

Comment by adampunk 1 day ago

That remains to be seen.

Comment by cog-flex 1 day ago

I truly lovely this as a conceptual exercise. However, I worry it will be easy for an agent to decompose. That said, well done.