Image 1 — Our new open-source typeface uses OpenType GSUB to poison unauthorized AI training
Image 2 — Our new open-source typeface uses OpenType GSUB to poison unauthorized AI training
▲ 1.2k r/theprimeagen+3 crossposts

Our new open-source typeface uses OpenType GSUB to poison unauthorized AI training

Most mass scrapers collect webpage content through HTML, and there is no widely effective opt-out. Robots.txt, the standard way to signal non-consent, is only a request and is often ignored.

ShieldFont uses word-level ligatures. It replaces words in the source, then uses OpenType GSUB rules to render the text back to normal for human readers.

Scrapers reading the raw HTML collect a different but grammatically coherent version that passes AI quality filters, introducing noise into their datasets. (try it here: shieldfont.org/encoder)

It can be broken in individual attacks, but makes large-scale automated scraping less reliable and more expensive.

The main face is built by Playtype, but you can also generate your own version using a your own typeface and seed.

P.S.: We an accebility feature for screen readers ;)

u/InsanityOnAMachine — 20 days ago
▲ 62 r/teenagersbutcode+1 crossposts

Working on an Anti-AI scraping prevention tool for text

It works by:

A: splitting the text into spans and absolutely positioning them, and shuffling them randomly in the DOM; you can't copy-paste it anymore

B: making some spans overlap. Now, to scrape it, you'd have to backtrack and measure text widths a bit

C: create a custom font where each letter looks like a completely different one, so that even if you manage to get the text, and only the text, you also have to tell what letter maps to whatever letter

Is it foolproof? So far, no, and probably never. Is it worth it to try scraping when there are easier sites to scrape? very very much yes.

If ya wanna test it out / maybe contribute (NO AI CODE), ya can pull it, install the packages, and run ```npm run start``` to test it out!

Suggestions are appreciated!

(For context, this is inspired, and a subproject of, the original Katana, which is in use to protect the images at ungenerated.io - The site recently added a Feed feature and so now it needs text protection)

Still in Beta, I need to format it as a React package and make it more efficient and more controllable; (i.e. *refined* spaghetti code)

github.com
u/InsanityOnAMachine — 1 month ago