anonymize-paper について
anonymize-paperは、LaTeX論文や補足資料に含まれる識別情報を投稿前に検出・処理し、採択後に著者情報を戻すためのスキルです。変更内容を記録し、カメラレディ版への復元を支援します。
主な機能
- 01ソース、文献、PDFメタデータのスキャン
- 02補足資料と識別可能なリンクの確認
- 03場所と重要度を含む検出結果の提示
- 04元の内容を含む可逆編集の記録
- 05カメラレディ版の残存プレースホルダー確認
活用シーン
- 01ダブルブラインド投稿の識別情報チェック
- 02論文と補足資料の匿名化
- 03採択後の著者情報と謝辞の復元
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ shaishavmaisuria/ research-paper-lifecycle-skills --skill anonymize-paperインストール後、Claude Code で/anonymize-paperを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/camera-ready-reversal.mdleak-catalog.mdscripts/scan_anonymization.py詳細
論文の匿名化
LaTeX の投稿原稿を確実にダブルブラインド化し、採択後はきれいに元に戻します。匿名化の漏れは、編集者による投稿拒否の根拠として記録されています(CHI と NeurIPS は、補足資料やリンク先のリポジトリでの漏れも含め、これを明示しています)。また、手作業で匿名化を解除すると、公開 PDF に仮の著者名やリンク切れの anonymous.4open.science が残ることがよくあります。このスキルは双方向に徹底的なチェックを行い、すべての変更を記録するため、元に戻す作業は考古学的な調査ではなく、機械的に行えます。
使用するタイミング
- 「NeurIPS/CHI/ICML/KDD などへの投稿用に論文を匿名化して」/「ブラインド化して」
- 「どこかで自分の身元を漏らしていないか確認して」/投稿前の「ダブルブラインドチェック」
- 「自分の論文の引用を三人称に書き換えて」
- 「コードやデータのリンクから身元が分かってしまう。どうすればいい?」
- 採択後:「匿名化を解除して」/「著者情報を復元して」/「カメラレディ版の著者欄を準備して」
tailor-to-venueから呼び出す場合(匿名化チェックのステップ)、またはpreflight-checkの前(最終チェック)。
入力
- メインの
.texファイル(\documentclassを含む)。\input/\includeファイルも自動的にたどります。 - 会場プロフィール
venues/conferences/<venue>-<year>.yml(スキーマはvenues/schema.yml)—ブラインドのレベル(シングル/ダブル/トリプル)とcfp_urlを指定します。プロフィールがない場合は、ユーザーにブラインドのレベルを尋ねるか、parse-cfpでプロフィールを作成します。 - 任意ですが、推奨されるもの:コンパイル済み PDF(メタデータの確認用)、補足資料のディレクトリ、検索対象となる著者名/所属機関名。
Process — 匿名化(投稿時)
-
ブラインドレベルを確認し、実際に取得して再確認します — 必須です。 会場のプロフィールを読み、
cfp_urlを取得して、ブラインドレベルと会場の匿名化ポリシーの文言(何が違反にあたるか、謝辞を削除する必要があるか、匿名化された成果物のリンクが許可されているか)を確認します。シングルブラインドの会場(例:SIGSPATIAL)では匿名化は不要です。完成度の高い論文を台無しにするのではなく、その旨をユーザーに伝えて終了してください。 -
詳細スキャンを実行します。
python3 scripts/scan_anonymization.py paper.tex \ --venue venues/conferences/<venue>-<year>.yml \ --supplementary <supp-dir> --names "Jane Doe,Example University"フラグ:
--blind double(プロフィールなし)、--pdf paper.pdf(PDFを明示)、--no-pdf、--json、--strict(警告も失敗として扱う)、--force(シングルブラインドの会場でもスキャン)、--no-inputs。終了コード:0は問題なし、1は漏洩が見つかった、2は引数が不正です。スキャナーは、著者名/所属/メールアドレス/ORCID/\thanksブロック、謝辞、資金提供/助成金 ID、個人を特定できるリンク、単独のメールアドレス、一人称の自己引用、所属機関に関する自己言及、pdfauthor、LaTeX コメント、.bibファイル、ホームディレクトリのパス、コンパイル済み PDF のメタデータバイト、補足資料ツリーを対象にします。 -
元に戻せる編集で指摘箇所を修正します。 まず ERROR を修正し、次に WARN を確認します(それぞれ判断が必要です。まとめて削除せず、相談してください)。漏洩の種類ごとの修正手順(著者ブロック、謝辞、自己引用、リポジトリ/データセットのリンク、メタデータ、補足資料)については、references/leak-catalog.md を参照してください。次の2つのルールに従います。
\ifanonトグルを優先し、カメラレディ版への切り替えを1行で済ませます。ソースをアップロードする場合(arXiv、補足資料の ZIP)は、代わりにsubmission-anongit ブランチを使用します。トグルを使うと、ソース内に実名が残ります。- 自己引用は三人称(「Doe et al. [12] showed」)に書き換えます。「Anonymous [12]」とは書きません。ただし、引用した研究自体が未発表の場合は除きます。
-
復元マニフェストを記録します。 変更ごとに、
anonymization-manifest.md(投稿用 ZIP には含めません)へ1行記入します。削除/書き換えた内容、ファイル名と行番号、元のテキストを正確に記載します(助成金番号、謝辞の段落、実際のリポジトリ URL など)。形式については、references/camera-ready-reversal.md を参照してください。 -
補足資料を確認します。 修正後に
--supplementaryを付けて手順2を再実行します。コードはクリーンなエクスポートとして用意し(.gitは含めない)、ノートブックの出力/メタデータを消去し、著作権者名を含む LICENSE/AUTHORS を削除し、成果物は匿名化されたミラー(anonymous.4open.science)でホストします。アカウントが公開される Drive/Dropbox/GitHub のリンクは使わないでください。 -
コンパイル済み PDF を確認します。 再コンパイルし、スキャナーが新しい PDF のメタデータを確認できるよう、スキャンを再実行します。また、スキャナーでは確認できない項目も手動でチェックします。研究室のロゴやユーザー名が表示されたターミナル画面を含む図、所属機関名が記載されたデータセットの説明、透かしなどが対象です。
-
問題がなくなるまで再実行し、その後ゲートを実行します。 スキャン → 修正 → スキャンを、終了コードが0になるまで繰り返します。その後、完全な
preflight-checkを実行します(documentclass の呼び出しと、デスクリジェクトにつながるその他の項目を検証します)。
Process — 匿名化解除(カメラレディ版)
-
採択後、マニフェストを使って元に戻し、さらに次を実行します。
python3 scripts/scan_anonymization.py paper.tex --mode camera-readyこれにより、残っている項目にフラグが付けられます。プレースホルダー/空の著者ブロック、残存する
anonymous.4open.scienceリンク、[review,anonymous]クラスオプション、[final]のないneurips_<year>、\anontrueトグル、「omitted for review」という文言、謝辞の欠落です。著作権フォーム(ACM eRights / IEEE eCF)と完全に一致するように著者ブロックを復元します。references/camera-ready-reversal.md を順に確認してから、会場の手順に沿ってprepare-camera-readyに引き継ぎます。
出力
- 重大度、チェック ID、
file:lineを含む指摘レポート(テキストまたは--json)。 - 編集済みの
.tex/補足資料ファイル(ユーザーの承認を得て、漏洩の種類ごとに1つずつ)と、復元用のanonymization-manifest.md。 - カメラレディ版では、残存項目のレポートと復元済みのソース。
preflight-check との関係
preflight-check は、同じソースレベルの匿名化チェック(共通のチェック ID、anonymization/*)を複数あるゲートのうちの 1 つとして実行します。このスキルはその詳細版で、コメント、.bib、PDF のバイト列、補足資料のディレクトリツリー、名前の grep に加え、修正ワークフローとカメラレディ版への差し戻しにも対応します。簡易チェックゲートには preflight、全件チェックまたは匿名化解除にはこのスキルを使います。
専門分野に合わせた調整
漏えいのパターンは分野を問わず共通ですが、ポリシーは異なります。ご自身の分野のジャーナルに合わせて会議のプロファイルを差し替え、フォークしてください(単盲検を採用しているものが多く、その場合スキャンは自動的にスキップされます)。また、ご自身の分野でグループを特定できる機関審査委員会や臨床試験登録 ID に対応するよう、--names の規約を拡張してください。
ガードレール
- 論文が「匿名である」と決して断言せず、「機械で検出可能な識別情報の漏えいは残っていません」と伝えてください。文体、著者自身のデータセット、ニッチなトピックから著者を特定できる場合があり、査読者も積極的に調査します。
- 匿名化のために学術的な内容を削除しないでください(たとえば、著者自身の文献引用を丸ごと削除することは不正行為に近い行為です)。代わりに三人称で書き換えてください。引用の整合性に関する問題は
verify-citationsに引き継いでください。 - 編集前に、実際の
cfp_urlを確認して、ダブルブラインドのレベルと匿名化ポリシーを再確認してください。ブラインドレベルを誤ると、正しい論文を台無しにするおそれがあります。 - ユーザーに代わってシステムに投稿してはいけません。レポートと編集までで作業を止めてください。
- レポートに引用するのは、フラグが付いた行だけにしてください。論文の大部分を出力に貼り付けてはいけません。