ブログやサイトの文章がAIの学習用に勝手に収集される——そんな状況に、フォントで対抗しようという道具が出てきました。「ShieldFont(シールドフォント)」というオープンソースのプロジェクトで、2026年8月14日にHackadayのMaya Posch氏が紹介しています。仕掛けを一言でいうと、画面上では普通に読める文章なのに、HTMLのソースを直接読むと意味の通らない文章になっている、というものです。人間の読者には何も起きず、ソースを機械的に読み取るスクレイパー(自動収集プログラム)だけが偽物をつかまされます。

robots.txtという「お願い」の限界
サイト運営者が自動巡回プログラムに意思を伝える手段としては、robots.txt(ロボッツ・ドット・テキスト)が昔からの定番です。サイトの決まった場所にテキストファイルを置いて、「このページは巡回しないでください」と書いておく仕組みですが、これには強制力がありません。読みに来た側が尊重して初めて成り立つ、いわば紳士協定です。
検索エンジンが相手だった時代には、この協定はおおむね守られていました。ところがAIの学習データ集めが目的のクローラーが急増してからは、robots.txtを無視した収集が問題になり続けています。お願いが通じないなら、と、迷路のようなダミーページに閉じ込めるトラップ(NepenthesやCloudflareのAI Labyrinthなど)をはじめ、対抗手段が次々に作られてきました。ShieldFontはその最新の一つで、守る場所が独特です。アクセスを止めるのではなく、取られる文章そのものを、機械にとってだけ無価値にするという発想です。
単語を入れ替え、フォントで元に戻す仕組み
やっていることは二段構えです。まず、文章中の単語を辞書に基づいて別の実在する単語に置き換えます。開発元が挙げている例では、「winners(勝者)」が「avengers(復讐者)」に、「Halloween contest(ハロウィンのコンテスト)」が「Autumn campaign(秋のキャンペーン)」に、という具合です。置き換わるのは全体の約25%の単語ですが、「the」や「of」のようなつなぎの言葉は触らず、名詞・動詞・形容詞といった意味の中心を担う単語を狙い撃ちにするため、意味を運ぶ単語に限れば半分近くが別物になります。しかも名詞は名詞に、過去形の動詞は過去形の動詞に置き換えるので、文法としては正しいまま、意味だけがすり替わります。
次に、専用のウェブフォントがこの置換を画面上で「元に戻し」ます。使われているのは合字(ごうじ・リガチャ)という、フォントが昔から持っている標準機能です。本来は「fi」の2文字が1つの字形につながる、あの仕組みのことで、複数の文字の並びを1つの字形として描く決まりをフォントの中に持たせられます。ShieldFontはこれを逆手に取り、「この偽の単語の並びが来たら、本物の単語の形で描く」というルールをフォント側に大量に仕込んでいます。だからブラウザでそのフォントを通して見るかぎり、読者の目には元の文章がそのまま見える、というわけです。
結果として、HTMLに書かれているのは偽物、画面に描かれるのが本物、という逆転が起きます。スクレイパーの多くはHTMLの文字列をそのまま読み取るので、手に入るのは「文法的には成立しているが、意味の通らない文章」になります。開発元の検証では、ニュース・個人サイト・フィクションから集めた1,500の文章でこの置換をかけたところ、半数が元の事実関係を主張しない文章に変わったとしています。さらに、大規模な学習データセットの構築に使われる品質フィルタ(FineWeb-Edu)に通した実験では、置換後も通過したのは約1割。残り9割は「質の低いテキスト」としてはじかれ、そもそも学習データに入らなくなりました。通過した1割も中身は偽物なので、どちらに転んでも学習側の得にならない——というのが開発元の主張です。
検索エンジンまで欺いてしまう交換条件
ここまで聞くと頼もしい話ですが、この盾には根本的な問題があります。HTMLを読んで動く道具は、敵も味方も区別なく、全部だまされるのです。
いちばん大きいのが検索エンジンです。GoogleのクローラーもHTMLのテキストを読んでインデックスを作るので、検索エンジンに登録されるのは偽物の単語のほうになります。つまり、ShieldFontをかけたページは、本来の内容では検索にヒットしなくなります。これは開発元自身がFAQで認めていて、「検索エンジンはデコイ(偽の単語)をインデックスする。検索で見つけてほしいページには使わず、有料記事やアーカイブなど、検索流入を必要としないコンテンツに使ってほしい」という趣旨の使い分けを推奨しています。AIに読まれたくない気持ちでブログ全体にかけると、検索からの読者も一緒に失う——この交換条件が、この道具のいちばん重い部分です。
日常の操作も影響を受けます。文章をコピーすると、クリップボードに入るのは画面の見た目ではなくHTML側の偽の単語です。開発元のFAQにも、コピーした文章をそのままChatGPTに貼ると置換後のテキストが渡る、と明記されています。同じ理由で、ブラウザのページ内検索(Ctrl+F)も、画面に見えている単語で探して当たらない、ということが起こります。また、ブラウザ設定でフォントを自分の好みに固定している人——ディスレクシア(読み書きの困難)向けフォントの利用者などが典型です——の環境では、復元役の専用フォントが使われないため、偽物の文章がそのまま表示されてしまいます。
目の不自由な読者が使うスクリーンリーダー(画面の文章を読み上げるソフト)の問題も、Hackadayの記事が真っ先に挙げている欠点です。読み上げソフトもHTML側を読むので、放っておけば偽の文章が流暢に読み上げられることになります。これについては開発元も対策を入れていて、偽のテキストを読み上げ対象から外したうえで、スクリーンリーダーの利用者だけが押せるボタンを経由して本物の文章を復元する仕組みを、ベータ版ながら標準で有効にしています。復元にはJavaScriptと数秒の計算処理が必要で、これは「大量スクレイパーはJavaScriptを動かさない」ことを逆用した設計ですが、開発元自身が改善の余地を認めている段階です。
「鍵」ではなく「摩擦」という割り切り
では、スクレイパー側はこれを破れないのかというと、破れます。しかも開発元が、その方法を自分から説明しています。置換のルールはフォントファイルの中に書かれているので、フォントをダウンロードすれば対応表を丸ごと取り出せます。開発元が自分で試したところ、約12,000組の単語対応をすべて誤りなく復元できたそうです。つまりこれは、秘密を守る暗号ではありません。
それでも意味がある、というのが開発元の立場です。大量スクレイピングの前提は、何十億ものページを「安く・自動で」集められることにあります。ページごとにフォントを取得して対応表を解読したり、ページを画像として描画して文字を読み取り直したりする手間が加われば、1ページあたりのコストが跳ね上がる。個々のサイトを守り切ることではなく、無差別の収集を割に合わなくすることが狙いで、開発元はこれを「鍵ではなく摩擦」と表現しています。利用者が独自の置換辞書を作れば共通の解読器も効かなくなるため、使う人が増えるほど効く集団防衛だ、という設計思想です。冒頭で触れた迷路型トラップと組み合わせて、スクレイパーの時間とコストを二重に奪う使い方も、Hackadayの記事は挙げています。
なお、日本語のブログでこれを使えるかというと、現時点では使えません。置換辞書が英語のみで(約12,000語対を収めた辞書が3種類)、他の言語の単語はそのまま素通りする、と開発元が明言しています。日本語対応には機械的な翻訳ではなく、自然な置き換えを選べるネイティブ話者の協力が要るとのことで、今後の言語追加は貢献募集中という段階です。プロジェクト自体はオープンソース(コードはAGPL-3.0ライセンス)で、GitHubで公開されています。専用書体の「ShieldFont Optik」は、デンマークのタイプファウンドリPlaytypeとの共同制作です。
AIに文章を読ませない技術は、検索・読み上げ・コピーといった、これまで当たり前に使えてきた仕組みと同じ土台の上に立っています。だからAIだけを狙い撃ちにするのは難しく、何かを守れば何かが使えなくなる。ShieldFontが示しているのは対抗手段そのものと同時に、その線引きの難しさでもあります。導入を考えるなら、「AIに読まれない」ことと「検索や支援技術に読まれる」ことのどちらを取るか、ページ単位で天秤にかけることになりそうです。
出典
ShieldFont: Bludgeoning AI Scrapers That Disrespect Robots.txt(Hackaday/2026年8月14日・Maya Posch)


コメント