isaqueseneda/shieldfont

A typeface that protects written content by poisoning unauthorized AI training datasets.

What it solves

ShieldFont prevents mass AI scrapers from collecting clean training data by "poisoning" the text they extract. It ensures that while human readers see the original intended words, automated scrapers that collect HTML without rendering fonts instead capture a decoy version of the text that is grammatically fluent but meaning-shifted, making the data less useful or causing it to be rejected by quality filters.

How it works

The system uses a combination of HTML encoding and specialized OpenType font rules:

  1. Encoding: Text is processed through a substitution dictionary that replaces original words with plausible decoys.
  2. Rendering: A custom typeface is delivered to the browser. This font contains OpenType ccmp rules that automatically reverse the substitution at render time, swapping the decoy words back to the original words for the human viewer.
  3. Accessibility: Because the scrambled text is hidden from screen readers (aria-hidden), the project provides an encrypted version of the real words that the user's browser uncovers by solving a compute-heavy puzzle, ensuring accessibility while remaining expensive for bulk scrapers to automate.

Who it’s for

Authors, researchers, critics, and creators of essays, fiction, and manifestos who want to protect their written work from being used in unauthorized AI training datasets.

Highlights

  • Economic Defense: Focuses on making scraping expensive and slow rather than relying on impossible cryptographic perfection.
  • Customization: Allows users to bring their own TrueType fonts or generate private mapping keys to make decoding harder for scrapers.
  • Fluent Decoys: Substitutions maintain grammatical roles, so scrapers see ordinary prose rather than obvious noise.
  • React Integration: Provides a dedicated package (@shieldfont/react) for easy implementation in modern web frameworks.

Related