anonymize-paper

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Anonymize Paper

论文匿名化工具

Make a LaTeX submission genuinely double-blind — then undo it cleanly after acceptance. Anonymization leaks are documented desk-reject grounds (CHI and NeurIPS state this explicitly, including leaks in supplementary material and linked repos), and de-anonymization done by hand routinely leaves placeholder authors or dead
anonymous.4open.science
links in the published PDF. This skill runs the deep sweep in both directions and records every change so the reversal is mechanical, not archaeological.
让LaTeX提交内容真正实现双盲匿名——录用后可干净地撤销所有修改。身份信息泄露是被直接拒稿的明确理由(CHI和NeurIPS均明确说明,包括补充材料和关联仓库中的泄露),而手动去匿名化往往会在已发表的PDF中留下占位作者或失效的
anonymous.4open.science
链接。本工具可双向执行深度扫描,并记录所有修改,使撤销操作完全自动化,无需手动追溯。

When to use

使用场景

  • "Anonymize my paper for NeurIPS / CHI / ICML / KDD ..." / "blind this"
  • "Did I leak my identity anywhere?" / "double-blind check" before submission
  • "Rewrite my self-citations in third person"
  • "My code/data links identify me — what do I do?"
  • After acceptance: "de-anonymize", "restore the authors", "prepare the camera-ready author block"
  • Called from
    tailor-to-venue
    (anonymization sweep step) or before
    preflight-check
    (final gate).
  • “为NeurIPS / CHI / ICML / KDD……匿名化我的论文” / “将此内容匿名化”
  • “我是否在任何地方泄露了身份?” / 提交前进行“双盲检查”
  • “将我的自引内容改写为第三人称”
  • “我的代码/数据链接会暴露我的身份——该怎么办?”
  • 录用后:“去匿名化”、“恢复作者信息”、“准备终稿作者模块”
  • tailor-to-venue
    (匿名化扫描步骤)调用,或在
    preflight-check
    (最终检查)前调用。

Inputs

输入内容

  1. The main
    .tex
    file (with
    \documentclass
    );
    \input
    /
    \include
    files are followed automatically.
  2. The venue profile
    venues/conferences/<venue>-<year>.yml
    (schema in
    venues/schema.yml
    ) — supplies the blind level (single/double/triple) and the
    cfp_url
    . No profile? Ask the user for the blind level or create a profile with
    parse-cfp
    .
  3. Optional but recommended: the compiled PDF (metadata check), the supplementary directory, and the author/institution names to grep for.
  1. .tex
    文件(包含
    \documentclass
    );
    \input
    /
    \include
    文件会被自动追踪。
  2. 会议配置文件
    venues/conferences/<venue>-<year>.yml
    (配置格式见
    venues/schema.yml
    )——提供盲审级别(单盲/双盲/三盲)和
    cfp_url
    。若无配置文件?请用户提供盲审级别,或使用
    parse-cfp
    创建配置文件。
  3. 可选但推荐:编译后的PDF(用于元数据检查)、补充材料目录,以及需要搜索的作者/机构名称。

Process — anonymize (submission)

流程——匿名化(提交阶段)

  1. Resolve the blind level, then re-verify it live — mandatory. Read the venue profile; fetch the
    cfp_url
    and confirm the blind level and the venue's anonymization policy wording (what counts as a violation, whether acknowledgments must be removed, whether anonymized artifact links are allowed). Single-blind venues (e.g. SIGSPATIAL) need no anonymization — tell the user and stop instead of mangling a fine paper.
  2. Run the deep scan:
    python3 scripts/scan_anonymization.py paper.tex \
        --venue venues/conferences/<venue>-<year>.yml \
        --supplementary <supp-dir> --names "Jane Doe,Example University"
    Flags:
    --blind double
    (no profile),
    --pdf paper.pdf
    (explicit PDF),
    --no-pdf
    ,
    --json
    ,
    --strict
    (warnings also fail),
    --force
    (scan at single-blind venues anyway),
    --no-inputs
    . Exit codes: 0 clean, 1 leaks found, 2 bad arguments. The scanner covers: author/affiliation/email/ ORCID/
    \thanks
    blocks, acknowledgments, funding/grant ids, identifying links, bare emails, first-person self-citations, institutional self-references,
    pdfauthor
    , LaTeX comments,
    .bib
    files, home-directory paths, compiled-PDF metadata bytes, and the supplementary tree.
  3. Fix findings with reversible edits. Work through ERRORs first, then WARNs (each is a judgment call — discuss, don't bulk-delete). For the fix recipe per leak class — author block, acknowledgments, self-citations, repo/dataset links, metadata, supplementary — follow references/leak-catalog.md. Two rules:
    • Prefer the
      \ifanon
      toggle so the camera-ready flip is one line; fall back to a
      submission-anon
      git branch when source will be uploaded (arXiv, supplementary zips) — toggles leak the real names in source.
    • Rewrite self-citations in third person ("Doe et al. [12] showed"), never as "Anonymous [12]" — unless the cited work is itself unpublished.
  4. Record the reversal manifest. For every change write one line into
    anonymization-manifest.md
    (kept OUT of the submission zip): what was removed/rewritten, file:line, and the exact original text (grant numbers, acknowledgment paragraph, real repo URL). Format in references/camera-ready-reversal.md.
  5. Sweep the supplementary material. Re-run step 2 with
    --supplementary
    after fixes. Ship code as a clean export (no
    .git
    ), clear notebook outputs/metadata, remove LICENSE/AUTHORS copyright names, and host artifacts on an anonymized mirror (anonymous.4open.science) — never Drive/ Dropbox/GitHub links that expose the account.
  6. Verify the compiled PDF. Recompile, re-run the scan so the PDF metadata check runs on the fresh PDF, and do the manual pass the scanner cannot: figures with lab logos or terminal screenshots showing usernames, dataset descriptions that name the institution, watermarks.
  7. Re-run until clean, then gate. Iterate scan → fix → scan to exit 0. Then run the full
    preflight-check
    (it validates the documentclass invocation and the rest of the desk-reject surface).
  1. 确定盲审级别并实时重新验证——强制要求。 读取会议配置文件;获取
    cfp_url
    并确认盲审级别和会议的匿名化政策细则(哪些属于违规、是否必须移除致谢部分、是否允许使用匿名化成果链接)。单盲会议(如SIGSPATIAL)无需匿名化——告知用户并停止操作,避免破坏正常的论文内容。
  2. 执行深度扫描:
    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
    (不检查PDF)、
    --json
    (输出JSON格式结果)、
    --strict
    (警告也视为检查失败)、
    --force
    (即使是单盲会议也强制扫描)、
    --no-inputs
    (不追踪输入文件)。退出码:0表示无问题,1表示发现泄露,2表示参数错误。扫描器覆盖范围包括:作者/机构/邮箱/ORCID/
    \thanks
    模块、致谢部分、资助/编号、识别性链接、明文邮箱、第一人称自引、机构自指、
    pdfauthor
    属性、LaTeX注释、
    .bib
    文件、主目录路径、编译后PDF元数据字节,以及补充材料目录。
  3. 通过可逆编辑修复问题。 优先修复ERROR级问题,再处理WARN级问题(每个WARN都是需要判断的情况——需与用户讨论,不要批量删除)。针对不同类型的泄露(作者模块、致谢、自引、仓库/数据集链接、元数据、补充材料)的修复方法,请参考references/leak-catalog.md。两条规则:
    • 优先使用
      \ifanon
      切换开关,这样终稿阶段只需修改一行即可恢复;当源代码需要上传(arXiv、补充材料压缩包)时,退而使用
      submission-anon
      git分支——切换开关会在源代码中暴露真实姓名。
    • 将自引内容改写为第三人称(如“Doe等人[12]指出”),绝不要写成“匿名作者[12]”——除非被引用的成果本身未发表。
  4. 记录恢复清单。 每一处修改都要在
    anonymization-manifest.md
    (不包含在提交压缩包中)中写入一行:移除/改写的内容、文件:行号,以及准确的原始文本(资助编号、致谢段落、真实仓库URL)。格式参考references/camera-ready-reversal.md
  5. 扫描补充材料。 修复后重新执行步骤2并加上
    --supplementary
    参数。代码需以干净的导出形式提交(无
    .git
    目录),清除笔记本文件的输出/元数据,移除LICENSE/AUTHORS文件中的版权名称,并将成果托管在匿名镜像站(anonymous.4open.science)——绝不要使用会暴露账户的Drive/Dropbox/GitHub链接。
  6. 验证编译后的PDF。 重新编译,重新执行扫描以检查新PDF的元数据,同时进行扫描器无法完成的手动检查:包含实验室标志的图片、显示用户名的终端截图、提及机构的数据集描述、水印。
  7. 反复扫描直至无问题,再进行最终检查。 重复扫描→修复→扫描的流程直至退出码为0。然后执行完整的
    preflight-check
    (它会验证文档类调用和其他可能导致直接拒稿的内容)。

Process — de-anonymize (camera-ready)

流程——去匿名化(终稿阶段)

  1. After acceptance, reverse using the manifest plus:
    python3 scripts/scan_anonymization.py paper.tex --mode camera-ready
    This flags the leftovers: placeholder/empty author blocks, lingering
    anonymous.4open.science
    links,
    [review,anonymous]
    class options,
    neurips_<year>
    without
    [final]
    ,
    \anontrue
    toggles, "omitted for review" wording, and missing acknowledgments. Restore the author block so it matches the copyright form (ACM eRights / IEEE eCF) EXACTLY — walk references/camera-ready-reversal.md — then hand off to
    prepare-camera-ready
    for the venue rail.
  1. 论文录用后,结合清单执行以下命令进行恢复:
    python3 scripts/scan_anonymization.py paper.tex --mode camera-ready
    该命令会标记残留内容:占位/空作者模块、遗留的
    anonymous.4open.science
    链接、
    [review,anonymous]
    类选项、未添加
    [final]
    neurips_<year>
    \anontrue
    切换开关、“为评审省略”字样,以及缺失的致谢部分。恢复作者模块时需确保其与版权表单(ACM eRights / IEEE eCF)完全一致——参考references/camera-ready-reversal.md——然后将内容移交至
    prepare-camera-ready
    以适配会议要求。

Output

输出内容

  • A findings report (text or
    --json
    ) with severity, check id,
    file:line
    .
  • The edited
    .tex
    /supplementary files (with the user's approval, one leak class at a time) plus
    anonymization-manifest.md
    for the reversal.
  • At camera-ready: a leftover report and the restored sources.
  • 检查结果报告(文本或
    --json
    格式),包含严重程度、检查ID、
    file:line
  • 编辑后的
    .tex
    /补充材料文件(需获得用户批准,按泄露类型逐一处理),以及用于恢复的
    anonymization-manifest.md
  • 终稿阶段:残留内容报告和恢复后的源代码。

Relationship to preflight-check

与preflight-check的关系

preflight-check
runs the same source-level anonymization checks (shared check ids,
anonymization/*
) as one gate among many; this skill is the deep variant — comments,
.bib
, PDF bytes, supplementary trees, name grep — plus the fix workflow and the camera-ready reversal. Quick gate → preflight; full sweep or de-anonymization → this skill.
preflight-check
会执行相同的源代码级匿名化检查(共享检查ID,
anonymization/*
),作为众多检查环节之一;本工具是深度版本——覆盖注释、
.bib
文件、PDF字节、补充材料目录、名称搜索——同时包含修复工作流和终稿恢复功能。快速检查→使用preflight;深度扫描或去匿名化→使用本工具。

Adapt to your discipline

适配你的学科

The leak patterns are field-agnostic; the policies are not. Fork and swap the venue profiles for your field's journals (many use single-blind — the scan then auto-skips), and extend
--names
conventions for institutional review boards or clinical-trial registry ids that identify groups in your field.
泄露模式是跨学科通用的,但政策并非如此。你可以fork项目并替换会议配置文件以适配所在领域的期刊(许多期刊使用单盲——此时扫描器会自动跳过),并扩展
--names
规则以适配所在领域中会识别出团队的机构审查委员会或临床试验注册ID。

Guardrails

注意事项

  • Never claim the paper "is anonymous" — say "no machine-detectable identity leaks remain"; writing style, self-datasets, and niche topics can still identify authors, and reviewers actively search.
  • Never delete scholarly content to anonymize (e.g. dropping a self-citation entirely is misconduct-adjacent); rewrite in third person instead. Citation integrity questions route through
    verify-citations
    .
  • Re-verify the blind level and anonymization policy against the live
    cfp_url
    before editing — a wrong blind level mangles a correct paper.
  • Never submit to any system on the user's behalf; stop at the report/edits.
  • Quote at most the flagged line in reports; never paste large paper portions into outputs.
  • 绝不要声称论文“已完全匿名”——应表述为“已无机器可检测到的身份泄露”;写作风格、自有数据集、小众主题仍可能暴露作者身份,审稿人也会主动搜索。
  • 绝不要为了匿名化而删除学术内容(例如完全删除自引内容属于不当行为);应改为第三人称表述。引用完整性问题请转至
    verify-citations
    处理。
  • 编辑前需根据实时的
    cfp_url
    重新验证盲审级别和匿名化政策——错误的盲审级别会破坏正常的论文内容。
  • 绝不要代表用户向任何系统提交内容;仅生成报告/编辑结果即停止操作。
  • 报告中最多引用被标记的行;绝不要将论文的大段内容粘贴到输出中。