執筆
すべてのプラットフォームの透明性レポートを、一つのクエリ言語で
始まりは一つのダッシュボードでした。昨春、指定された25の超大規模オンラインプラットフォーム(VLOP)向けに、EU DSA透明性データの横断ビューを作り、その後9つのレポート表すべてを埋めました。その裏には小さなFastAPIサービスがありました。それから数か月、このサービスの方こそが、いつの間にかより興味深い成果物になっていました――ほかのレポートを次々と流し込んでも、同じクエリインターフェースがそれらを吸収し続けたからです。
いまや20を超える独立した透明性データセットにまたがり、そのすべてが一つのクエリモデルから到達できます。それがまさに狙いです。
問題は「形」であって「不足」ではない
プラットフォームの透明性データは不足しているわけではなく、断片化しているのです。各社がそれぞれの形で公開します。MetaはエンフォースメントのデータをGraphQLフィードで出し、TikTokは累積CSVを落とし、Appleは横に広い疎なスプレッドシートを掲載し、DiscordとSnapはワークブック内のサブ表にラベルを付け、十を超える規制当局がそれぞれ独自のテンプレートを義務づけています。Google、Microsoft、LinkedIn、TikTok、Discordの政府による削除要請を比較したい研究者は、たった一つの問いを立てる前に五つの形式を学ばなければなりません。
比較可能性こそ、透明性レポートが本来もたらすはずでありながら、ほとんど実現できていないものです。だからこのプロジェクトの本当の仕事はWeb UIではありません――それらすべてを一つのtidy-longスキーマに正規化し、その前に一つのクエリ言語を置くことです。
いま含まれているもの
データセットはいくつかの系統に分かれます。
コンテンツモデレーションのレポート。EU DSAの調和テンプレート――25のVLOPに加え、同じ様式で提出する43の非VLOPプラットフォーム――を共通の9表スタースキーマで扱い、あわせて大きな自主的レポートも収録します。Metaのコミュニティ規定エンフォースメントレポート(CSER)と、TikTokのコミュニティガイドラインエンフォースメントレポート(CGER)です。
政府・法的要請のレポート。Google(コンテンツ削除とユーザーデータ要請の両方)、Microsoftの法執行機関要請レポート、LinkedIn、TikTokの政府・法的要請、Discord、Apple、GitHub、Snap――これらの企業が半期ごとに公開する国別の要請と開示のデータです。
各国の透明性法。インドのIT規則に基づく月次コンプライアンスレポート、韓国のNaverとKakaoの提出物(およびネットワーク法の違法コンテンツレポート)、台湾の詐欺防止法データ、トルコの法律第5651号レポート、シンガポールIMDAのオンライン安全コード、日本の新しい情プラ法の統計、テキサス州HB 20とオーストリアのKoPl-G、そして中国の12377・12321ホットラインの数値です。
新興のEU義務と記述的な提出物。テロコンテンツ・オンライン規則、AI法の学習データ透明性サマリー、Googleのインターネット遮断を記録したTraffic & Disruptionsカタログ、Androidのマルウェア率データ――さらに、ニューヨーク州とカリフォルニア州の利用規約法に基づく、全文検索できる散文の提出物も含みます。
一つのクエリ言語、SQLは不要
すべてが同じ方法で到達できます。クエリインターフェースはTikTok Research APIをモデルにしています。テーブルを指定し、フィルタ、グループ化、集計を構造化パラメータとして記述する――呼び出す側がSQLを書くことは一切ありません。サーバーはすべてのフィールドをそのテーブルの固定レジストリと照合し、一つのパラメータ化されたSELECTにコンパイルします。長いクエリは非同期の「202を返してポーリング」パターンで実行され、結果はJSONまたはCSVで返ります。
生のパラメータより使いやすくしている継ぎ目が二つあります。一つは自然言語の「質問」ボックス――LLMが平易な言葉の問いを同じ構造化クエリに翻訳し、それがまったく同じ検証境界を通ります。モデルは提案し、バリデータが可否を決めるのです。もう一つはMCPサーバーで、これによりAIエージェントは、私が手作業でクライアントを組まなくても、テーブルを発見し、クエリを実行し、結果をポーリングできます。
難しいのは注意書きの方
データセットをつなぎ込むのは簡単です。難しいのは、それらで嘘をつかないことです。ほとんどの出典には、素朴な集計が踏みつぶしてしまう脚注が付いています。国家安全保障関連の数値は正確な件数ではなく帯状の範囲で公表されるため、合計できません。プレバレンスやプロアクティブ検知率は分数であり、決して足し合わせてはいけません。DSAテンプレートは内訳の行のすぐ隣に集計の「合計」行を埋め込んでいるため、うかつなSUMは二重計上になります。そして同じテンプレートの行が十を超えるEU言語で届き、それらを一つの正規キーに揃えなければなりません。
私はそうした注意書きを、隠すのではなくガードレールとして符号化しようとしてきました――クエリ層は、率を合計したり次元の固定を忘れたりすると警告し、方法論は前提にせず書き下しています。目的は数字の山を大きくすることではありません。実際に比較し、引用できる数字にすることです。
ライブのダッシュボードとすべてのデータセットページはtransparency.kieranmaynard.comにあり、対話的なAPIドキュメントは/docsにあります。これらと並べて問い合わせたい透明性レポートがあれば、次に取り込むものをいつでも探しています。