# GitHub 解封 — 行业 OS 提炼

> Phase 2 synthesis from 6-track research (271 sources, 94.5% first-hand).

## 1. 心智模型

### 1.1 平台不是你的家 — 你是租户不是业主

GitHub 是私人平台, 不是公共基础设施。你的账号、代码、issues、stars 全部存储在别人的服务器上, 受 ToS 约束。平台有权在任何时候、以任何理由封禁你的账号, 且没有法律义务给你恢复访问权。这不是道德判断, 是法律事实: CDA §230 赋予平台极大的内容审核自由裁量权 (evidence: [T04-S035, T04-S036, T06-S006])。

> (figures: Cory Doctorow / Lawrence Lessig / Daphne Keller)

**应用方式**: 在使用 GitHub 的第一天就建立多平台冗余 + 本地备份习惯, 而不是等到被封了才想起来。把 GitHub 当作「便利的协作层」, 不当作「唯一的代码仓库」。

**evidence**: [T01-S018, T01-S019, T04-S023, T06-S006, T03-S034]

**局限**: 这个模型容易被推向极端 — 不是说 GitHub 不值得用, 而是说不要 100% 依赖单一平台 (业内估)。大多数开发者不会被封, 过度防御反而浪费时间。

### 1.2 代码即法律 — 平台架构决定你的权利边界

Lawrence Lessig 的 "Code is Law" 理论直接适用: GitHub 的技术架构 (谁能 clone、谁能 fork、封号后 API token 是否立即失效) 决定了你在封号事件中能做什么、不能做什么, 比任何法律条文都直接 (evidence: [T04-S023, T01-S015, T01-S016])。

> (figures: Lawrence Lessig / Kate Klonick / Jack Balkin)

**应用方式**: 诊断封号时, 先搞清楚平台的技术限制 (suspension vs restriction vs flagging 各自的技术后果完全不同), 再决定申诉策略。技术事实 > 法律理论。

**evidence**: [T01-S015, T01-S016, T01-S017, T04-S023, T06-S001]

**局限**: "代码即法律" 不意味着法律无用 — EU DSA 正在重新定义平台义务, DMCA counter-notice 是真正有约束力的法律工具。代码是第一层, 法律是第二层。

### 1.3 封号是诊断问题不是情绪问题 — 症状→原因→策略的临床思维

被封号的第一反应是恐慌和愤怒, 但有效应对需要临床式诊断: 先识别症状 (403? 限制提示? 2FA 锁?), 再定位原因 (spam 误判? 制裁误标? 真违规? 2FA 丢失?), 最后选择对应策略 (申诉? 提供位置证明? 承认改进? 走 2FA 恢复?) (evidence: [T03-S001, T03-S009, T03-S022])。

> (figures: Erich Ferrari / Nat Friedman / Thomas Dohmke)

**应用方式**: 严格走分诊 SOP (WF1→WF3), 不要跳步。错误诊断 → 错误策略 → 浪费申诉机会。特别注意: 2FA 锁号 ≠ 封号, 这是最常见的误判。

**evidence**: [T03-S001, T03-S009, T03-S011, T06-S001, T06-S005]

**局限**: 临床诊断假设原因是可识别的, 但 GitHub 经常不给封号原因。「无原因封号」需要全面排查, 诊断效率大幅下降。

### 1.4 申诉是说服工程不是权利主张 — 写给忙碌的审核员看

GitHub T&S 团队每天处理大量 ticket。你的申诉信是在竞争他们有限的注意力。有效申诉 = 让审核员在 2 分钟内理解你的情况 + 判断你是误伤。不是写法律文书, 不是发泄情绪, 是简洁、有证据、有诚意的说服 (evidence: [T03-S001, T03-S009, T03-S011])。

> (figures: Erich Ferrari / Kate Klonick / Daphne Keller)

**应用方式**: 申诉信控制在 500 词以内; 用 5 段结构 (自我介绍→账号历史→针对原因回应→证据→承诺); 永远用英文; 永远不要撒谎 (T&S 能看到你的操作日志)。

**evidence**: [T03-S001, T03-S009, T03-S011, T01-S010, T01-S012]

**局限**: 再好的申诉信也不能保证成功。真违规的恢复率约 3% (业内估, 基于社区汇报, 非官方数据), 误伤的恢复率约 79% (业内估)。申诉质量只影响审核效率, 不改变事实判定。

### 1.5 制裁是地理问题不是身份问题 — OFAC 看 IP 不看国籍

GitHub 执行美国 OFAC 制裁时, 主要依据 IP 地址和支付信息判定地理位置, 而非用户国籍。中国大陆不是美国制裁区 (evidence: [T04-S014, T06-S014])。中国开发者被标 sanctioned region 几乎都是 VPN 出口 IP 落在制裁区 (伊朗/克里米亚/古巴/朝鲜) 导致的 (evidence: [T03-S002, T03-S024, T04-S004])。

> (figures: Erich Ferrari / Nat Friedman / Thomas Dohmke)

**应用方式**: 制裁误标的申诉核心 = 提供位置证明 (身份证 + 地址证明 + 自拍) + 解释 VPN 使用原因 + 承诺停用问题 VPN。不需要证明你不是坏人, 只需要证明你不在制裁区。

**evidence**: [T04-S004, T04-S014, T03-S002, T03-S024, T06-S014, T06-S017]

**局限**: 制裁名单 (SDN) 上有同名者的情况下, 仅提供位置证明可能不够 — 需要额外证明身份不同 (可能需要律师)。极端情况下, 即使你不在制裁区, 如果与 SDN 实体有商业往来, 也可能受 OFAC 50% Rule 影响 (约 100 个实体, 业内估)。

### 1.6 ban evasion 是把临时封硬化成永封的自杀按钮

开新号是被封后最直觉的反应, 也是最致命的错误。GitHub 能通过设备指纹、IP、邮箱关联、SSH key 等多种方式检测 ban evasion。一旦被检测到, 临时封变永久封, 新号也一起封, 申诉窗口可能直接关闭 (evidence: [T03-S022, T06-S001, T04-S002])。

> (figures: Thomas Dohmke / Kate Klonick / Tarleton Gillespie)

**应用方式**: 被封后的第一条铁律: 不要开新号。即使你觉得原号一定申诉不回来, 开新号的风险/收益比也是极差的。唯一例外: GitHub 明确告知你可以创建新账号 (极罕见)。

**evidence**: [T03-S022, T06-S001, T04-S002, T04-S048]

**局限**: 这个模型假设 GitHub 的 ban evasion 检测是有效的 — 实际上可能存在未被检测的案例, 但赌检测失败是极不理智的: 一旦被发现, 后果是不可逆的。

### 1.7 6 个月窗口是硬性截止不是参考建议

GitHub 的 Appeal and Reinstatement 政策明确规定: 申诉窗口为自 GitHub 做出决定之日起 6 个月 (约 180 天)。超过这个窗口, 标准申诉路径关闭 (evidence: [T04-S003, T03-S001])。这不是软性建议, 是硬性截止。

> (figures: Erich Ferrari / Daphne Keller)

**应用方式**: 发现封号的第一分钟就开始计时。即使你还在收集证据、犹豫要不要申诉, 也要在窗口关闭前至少提交一次初步申诉, 保留后续沟通的可能。

**evidence**: [T04-S003, T03-S001, T06-S001]

**局限**: 6 个月是公开政策, 但 GitHub 是否严格执行、是否有例外通道, 没有公开数据。部分社区反馈显示超期后仍有成功案例, 但这不可预期、不可依赖。

---

## 2. 标准 Playbook

1. **如果收到封号通知 (或发现 profile 404)**: 立即停下所有操作, 不要开新号, 不要在社交媒体发泄, 先启动分诊 SOP (WF1)。案例: pilot2254 (2024) 在发现 profile 404 后冷静记录症状, 最终 40 天后成功恢复 (evidence: [T03-S009, T03-S001])

2. **如果判定是制裁误标 (中国开发者 VPN 导致)**: 准备位置证明三件套 (身份证 + 地址证明 + 自拍), 在申诉信中明确声明 "China (PRC) is not a US-sanctioned country", 解释 VPN 使用原因, 承诺改用非制裁区 IP。案例: lyc8503 (2024) 中国开发者因 VPN 被标, 提供位置证明后约 2 周解封 (evidence: [T03-S010, T03-S002, T03-S024])

3. **如果判定是 spam/abuse 误判**: 在申诉信中提供账号历史 (注册时间 + 贡献数) + 解释被误判的行为 (如自动化脚本超过 rate limit), 承诺调整行为。案例: student reinstatement (2024) 学生用户因大量 fork 课程仓库被标 spam, 提供学校证明后约 2 个月恢复 (evidence: [T03-S011, T03-S022])

4. **如果判定是真违规 (确实做了 spam/abuse 行为)**: 承认违规 + 说明已采取的改正措施 + 承诺不再违反, 走 reinstatement 而非 appeal 路径。不要否认, 不要撒谎 — GitHub T&S 能看到你的操作日志。案例: 约 3% 的真违规恢复率 (业内估, 基于社区汇报) 主要来自真诚悔改 + 具体改正措施, 而非巧辩 (evidence: [T03-S001, T06-S001])

5. **如果 2FA 丢失 (不是封号)**: 按优先级尝试恢复: Recovery Codes → Passkey/硬件钥匙 → GitHub Mobile → SSH key → email OTP → 联系支持。注意: 这不是封号, 走恢复流程而非申诉流程。案例: GitHub 官方声明 "if you lose your 2FA credentials and have no backup, we cannot restore access" (evidence: [T03-S003, T03-S026])

6. **如果申诉超过 14 天无回复**: 按升级阶梯走 — 7 天催一次原 ticket → 21 天 Community Discussions 发帖 → 30 天 Twitter/X @github @githubsupport → 必要时联系 EFF/SFC (仅限权利侵犯情况)。不要开新 ticket (可能被标 spam)。案例: pilot2254 等了 27 天才收到首次人工回复 (evidence: [T03-S009, T03-S001])

7. **如果涉及 DMCA takedown**: 区分 DMCA 和账号封禁 — DMCA 有独立的 counter-notice 流程 (17 U.S.C. §512(g)), 10-14 天等待期后若对方不起诉则自动恢复。准备原创性证据, 必要时请律师审阅 counter-notice (含 perjury 声明)。案例: youtube-dl (2020) GitHub 初始执行 DMCA 后在 EFF 法律支持下撤回 takedown (evidence: [T04-S008, T04-S009, T03-S006])

8. **如果申诉失败且无法律途径**: 接受结果, 启动迁移 SOP (WF9)。选择替代平台 (GitLab 功能最完整 / Codeberg 非营利开源 / 自建 Forgejo 完全自主), 迁移代码 + issues + CI/CD, 通知社区, 更新所有引用。案例: 大量伊朗开发者 2019 年被封期间迁移到 GitLab, 后因 OFAC license 恢复而回迁 (evidence: [T03-S015, T03-S032, T01-S044])

9. **如果尚未被封 (预防模式)**: 立即执行安全加固 — 硬件安全钥匙 + recovery codes 离线存储 + 定期 git clone --mirror 自动备份 + 至少一个平台做 mirror。一次约 2 小时的投入, 可以在封号事件中节约数周的恢复时间。案例: "GitHub is not your backup" (2024-2025 社区共识) (evidence: [T03-S013, T03-S034, T03-S016])

10. **如果是组织 (org) 而非个人被封**: 立即让其他 org admin 备份 (如果仍有访问权); 申诉时提供组织注册信息; 注意: 因单个成员违规导致全组织封禁的情况需要说明其他成员无关。案例: 开源团队因公开 issue 区人身攻击导致全组织封禁 (匿名 aggregate) (evidence: [T03-S022, T03-S035])

---

## 3. 工具栈

### 3.1 必备工具 (6 件, 约 90% 处理封号事件的开发者都会用到)

1. **GitHub Support 申诉表单** (support.github.com/contact/reinstatement + /contact/cannot_sign_in) — 所有正式申诉的唯一入口, 没有替代方案 (evidence: [T03-S004, T03-S005])
2. **git clone --mirror** — 基础数据抢救命令, 保留所有分支/标签/refs, 任何 Git 用户都能执行 (evidence: [T03-S013])
3. **GitHub CLI (gh)** — 导出 issues/PRs/discussions 等非 Git 数据 (`gh issue list --json`, `gh pr list --json`), 封号前/后都有用 (evidence: [T02-S009])
4. **OFAC SDN List Search** (sanctionssearch.ofac.treas.gov) — 制裁自查工具, 免费, 官方, 确认自己不在制裁名单上 (evidence: [T03-S018, T06-S015])
5. **TOTP 认证器** (Authy / 1Password / Aegis) — 2FA 基础设施, 防止因 2FA 丢失导致锁号 (evidence: [T03-S016])
6. **Recovery Codes 离线存储** (纸质打印 + 密码管理器) — 2FA 最后防线, 没有它且丢失 2FA 设备 = 永久锁号 (evidence: [T03-S003, T03-S026])

### 3.2 场景特化工具 (7 类, 按封号原因和处理阶段选择)

1. **数据抢救工具**: ghorg (批量 clone 整个用户/组织), github-backup (Python CLI), gh2md (issues→markdown) — 封号后紧急使用 (evidence: [T02-S011, T02-S013, T02-S010])
2. **替代平台**: GitLab.com (功能最全 + 内置 GitHub 导入器) / Codeberg (非营利 Forgejo + 完全免费) / 自建 Forgejo/Gitea (完全自主) — 申诉失败后迁移 (evidence: [T02-S016, T02-S018, T02-S020])
3. **中国开发者替代**: Gitee (gitee.com, 中国最大, 但有内容审查) / JihuLab (jihulab.com, GitLab 中国区) — 国内访问优化 (evidence: [T02-S023, T02-S024])
4. **制裁合规查询**: CSL (trade.gov, 合并 7 个制裁名单) / OpenSanctions (opensanctions.org, 开源) — 深度排查 SDN/Entity List (evidence: [T02-S030, T02-S032])
5. **DMCA 处理**: EFF DMCA counter-notice 模板 + Lumen Database (takedown 透明度) — DMCA 相关封号专用 (evidence: [T03-S027, T05-S043])
6. **法律服务**: Ferrari & Associates (OFAC 制裁专项) / Gibson Dunn/Hogan Lovells (出口管制) / EFF (数字权利) / SFC (开源法律) — 复杂案件或法律途径 (evidence: [T02-S037, T02-S038, T02-S040, T02-S041])
7. **硬件安全钥匙**: YubiKey 5 系列 / Google Titan — 抗钓鱼 2FA, 预防级工具 (evidence: [T02-S035])

### 3.3 新兴工具 (4 件, 近 12-24 个月出现或显著变化)

1. **Passkeys/WebAuthn** — GitHub 2024 原生支持, 同时满足密码+2FA, 可能在 2-3 年内替代传统 TOTP (evidence: [T03-S017, T06-S010])
2. **Radicle** (radicle.xyz) — P2P 去中心化代码协作, 抗审查, 但生态极不成熟, 仅适合极端场景 (evidence: [T02-S027])
3. **Software Heritage** (softwareheritage.org) — 自动归档公开 GitHub 仓库, 封号后可能有你代码的副本 (evidence: [T03-S031])
4. **OpenSanctions** (opensanctions.org) — 开源制裁名单聚合, 比官方 SDN Search 覆盖更广但非官方 (evidence: [T02-S032])

---

## 4. 工作流

### 1. 封禁发现与快速分诊

**入门 SOP**:
1. 确认症状类型: profile 404 = suspension; 功能受限 = restriction; 需要 SMS 验证 = flagging; 收到邮件 → 保存完整邮件含 ticket ID (evidence: [T03-S009])
2. 判断严重度: suspension > restriction > flagging, 各自的技术后果完全不同 (evidence: [T06-S001])
3. 按邮件/提示关键词快速分类: "trade controls/sanctions" → WF6; "two-factor" → WF7; "spam/abuse" → WF3; "DMCA" → WF3 DMCA 分支; 无说明 → WF3 全面诊断 (evidence: [T03-S001])
4. 评估紧急度: 有代码仅存于该账号? → 立即 WF2; 有运行中 CI/CD? → 记录受影响服务清单
5. 启动 6 个月计时器 (约 180 天) (evidence: [T04-S003])

**资深路径**: 跳过症状确认 (直接看 profile 404 vs 限制提示判断); 优化分类 (检查最近 IP 变动 + VPN 记录可 5 分钟内锁定原因); 额外: 组织账号立即检查其他 admin 权限并让其代为备份

### 2. 紧急数据抢救

**入门 SOP**:
1. 盘点本地已有的 git clone — 每个 .git 都是完整历史的备份
2. 让信任的人用非你 IP 执行 `git clone --mirror` 抢救公开仓库 (evidence: [T03-S013])
3. 如果有 collaborator 仍有私有仓库访问权, 请他们 clone --mirror
4. 如果有存活的 PAT/SSH key, 用 `gh api` 导出 issues/PRs/discussions
5. 检查 Software Heritage 是否有归档 (evidence: [T03-S031])
6. 在申诉信中要求数据导出权 (EU 用户引用 GDPR)

**资深路径**: 跳过手动逐个 clone (用 `ghorg clone USERNAME` 批量); 优化非 Git 数据 (用 GitHub Migration API 一次性归档); 额外: 检查 npm registry / Container Registry 镜像是否仍可拉取

### 3. 封号原因深度诊断

**入门 SOP**:
1. 审查封号通知每个关键词 (spam/abuse/trade controls/malware/impersonation/DMCA) (evidence: [T03-S022])
2. 回溯近 30 天行为: mass fork? 互 star? API 超 rate limit? (evidence: [T03-S035])
3. 检查 VPN 出口 IP 是否落在制裁区 (evidence: [T03-S024])
4. 确认 2FA 状态 (锁号 ≠ 封号)
5. OFAC SDN 自查 (sanctionssearch.ofac.treas.gov) (evidence: [T03-S018])
6. DMCA 检查 (github.com/github/dmca) (evidence: [T03-S028])
7. 第三方 OAuth/GitHub App 审计 (evidence: [T03-S009])
8. 形成结构化诊断文档 → 直接成为申诉信核心素材

**资深路径**: 跳过逐项检查 (经验判断直接锁定原因); 优化 SDN 自查 (用 OpenSanctions API 批量查); 额外: 检查 GitHub Transparency Center 当前严打趋势

### 4. 申诉信撰写

**入门 SOP**:
1. 确定 Appeal (我没违规) vs Reinstatement (我改了) — 策略完全不同 (evidence: [T03-S001])
2. 5 段结构: 自我介绍→账号历史→针对原因回应→证据→承诺
3. 英文撰写, 专业平和, ≤ 500 词 (evidence: [T03-S009])
4. 制裁误标特殊: 声明 "China is not a US-sanctioned country" + VPN 解释 + 位置证明 (evidence: [T03-S002])
5. 准备附件: 身份证件 + selfie + 安全日志 + commit 历史截图
6. 内部审查: 有无不实陈述? 英文语法清晰? 过长?

**资深路径**: 跳过模板 (直接针对具体原因定制); 优化证据 (结构化表格 > 截图); 额外: 涉及法律问题 (DMCA/制裁) 让律师审阅后再提交

### 5. 申诉提交与跟进

**入门 SOP**:
1. 选渠道: 能登录 → reinstatement form; 不能 → cannot_sign_in form (evidence: [T03-S004, T03-S005])
2. 用被封账号绑定的邮箱提交, 记录 ticket ID
3. 等待预期: 自动回复数小时 → 人工审查 1-8 周 (evidence: [T03-S009])
4. 跟进阶梯: 7 天催原 ticket → 14 天再催 → 21 天 Community Discussions → 30 天 Twitter @github
5. 升级路径: ticket → Community → Twitter → 邮箱 → 法律框架 → EFF/SFC
6. 记录所有沟通

**资深路径**: 跳过逐级升级 (有内部联系可直接联系但不绕过正式流程); 优化等待期 (并行 WF2 数据抢救 + WF9 迁移准备); 额外: EU 用户援引 DSA 第 20 条增加合规压力

### 6. 制裁误标专项处理

**入门 SOP**:
1. 确认是制裁相关 (关键词: trade controls / sanctions / restricted region) (evidence: [T03-S002])
2. 判断实际状况: 中国 → 不是制裁区 (VPN 误标); 伊朗 → 有 GL D-2 全部服务可用; 克里米亚/古巴/朝鲜 → 仅公开仓库
3. 位置证明三件套: 身份证/护照 + 自拍 + 地址证明 (evidence: [T03-S002])
4. VPN 说明: 使用原因 + 出口 IP 可能在制裁区是无意的 + 承诺改用非制裁区节点
5. 提交专项申诉, 标注 trade controls 相关
6. 附上 SDN 自查截图

**资深路径**: 跳过 SDN 自查 (明确与制裁无关时直接备位置证明); 优化: 中国开发者信首直接声明 "China (PRC) is not subject to comprehensive US sanctions" (evidence: [T04-S014]); 额外: 组织账号提供公司注册文件

### 7. 2FA 丢失恢复

**入门 SOP**:
1. 按优先级尝试: Recovery Codes → Passkey/硬件钥匙 → GitHub Mobile → SSH key/PAT → email OTP (evidence: [T03-S003])
2. 完全丧失所有恢复手段 → GitHub 官方声明无法恢复 (evidence: [T03-S003])
3. 最后手段: 解绑邮箱 + 绑定新账号 (commit 历史跟邮箱)
4. 恢复后立即重新配置 2FA + 生成新 recovery codes

**资深路径**: 跳过逐级尝试 (判断手头有哪些凭据直接走最快路径); 优化: SSH key 验证 (`ssh -T git@github.com` 测试识别); 额外: 多设备注册 passkey 做冗余

### 8. 申诉成功后的恢复操作

**入门 SOP**:
1. 检查 profile 正常显示 + 贡献图完整 (evidence: [T03-S009])
2. 逐一核对仓库列表 — pilot2254 案例显示约 800 个 contribution 永久丢失 (业内估)
3. 检查 CI/CD / GitHub Actions / Pages / Secrets 状态
4. 检查 npm/Container Registry 包状态
5. 安全加固: 改密码 + 重配 2FA + 撤销/重新生成所有 token + 移除可疑 SSH key
6. 通知协作者和社区

**资深路径**: 跳过逐仓库检查 (用 `gh repo list` 批量导出与封前列表 diff); 优化安全加固 (一次性脚本处理); 额外: 建立预防性备份习惯 (转 WF10)

### 9. 申诉失败后的迁移

**入门 SOP**:
1. 评估法律途径: EU DSA / DMCA counter-notice / OFAC 律师 (evidence: [T03-S001, T03-S006])
2. 选替代平台: GitLab (最成熟导入器) / Codeberg (非营利) / self-hosted Forgejo (完全自主) (evidence: [T03-S015])
3. 迁移代码: `git push --mirror` 到新平台
4. 迁移非 Git 数据: issues/PRs/wikis (GitLab 导入器可自动)
5. CI/CD 迁移: GitHub Actions → GitLab CI (需改写)
6. 更新所有引用 (package.json / go.mod / README 中的 URL)
7. 社区通知与过渡

**资深路径**: 跳过平台选型犹豫 (GitLab.com 导入器最成熟); 优化 CI/CD (用 Drone/Woodpecker 做过渡); 额外: 设 GitHub→新平台 webhook/mirror 留后路

### 10. 预防性安全加固

**入门 SOP**:
1. 2FA 层级: 硬件钥匙 > Passkey > TOTP > SMS (不推荐 SMS, 不支持 +86/+852) (evidence: [T03-S016, T03-S029])
2. Recovery Codes 纸质打印 + 密码管理器双存
3. 注册 ≥ 2 种不同 2FA 方式 + ≥ 2 个设备
4. 自动备份 cron: `git clone --mirror` + `gh api` 导出 metadata (evidence: [T03-S034])
5. 多平台 mirror (GitLab pull mirror 每 5 分钟同步) (evidence: [T03-S015])
6. 避免 star exchange / 短时间 mass fork/star / 可疑 OAuth App (evidence: [T03-S022])
7. VPN: 确保出口 IP 不在制裁区 (推荐日本/新加坡/美国/EU 节点) (evidence: [T03-S024])

**资深路径**: 跳过基础设置 (直接硬件钥匙 + passkey 双因子); 优化备份 (IaC: backup.sh + launchd/systemd + 压缩加密 + S3); 额外: GitHub Webhooks 监控关键事件 (repo deleted / visibility changed) + 定期审计 OAuth App 列表

---

## 5. 表达 DNA

### 5.1 行业高频用语

- **suspension / suspended** — 完全封禁, profile 404
- **restriction / restricted** — 部分限制, 仍可登录
- **flagged** — 被标记审查, 可能需要验证
- **reinstatement** — 正式恢复 (承认问题后)
- **appeal** — 申诉 (否认违规)
- **T&S / Trust and Safety** — GitHub 审核团队
- **ban evasion** — 开新号规避封禁 (= 永封)
- **sanctions mis-flag / mis-flagged** — 制裁误标
- **trade controls** — GitHub 对制裁的委婉说法
- **GL D-2** — OFAC 伊朗互联网通信许可
- **SDN** — 特别指定国民名单
- **counter-notice** — DMCA 反通知
- **recovery codes** — 2FA 恢复码
- **6-month window** — 申诉截止期
- **profile 404** — 账号被 suspend 的典型症状

### 5.2 Register 差异

- **内部讨论 (T&S 视角)**: 精确法律用语, 引用 AUP 具体条款, 不用 "banned" 用 "suspended", 不用 "unban" 用 "reinstatement"
- **社区讨论 (开发者视角)**: 直接说 "I got banned", "my account was nuked", "GitHub screwed me", 情绪化但信号密度低
- **学术讨论 (治理学者视角)**: "content moderation", "intermediary liability", "platform governance", "over-compliance with sanctions", 抽象但准确
- **法律讨论 (律师视角)**: "OFAC SDN delisting", "General License D-2", "17 U.S.C. §512(g)", "perjury under penalty of law", 精确到条款号

### 5.3 外行破绽 (Outsider Tells)

- 说 "banned" 而不是 "suspended" — GitHub 官方用 suspended
- 混淆 DMCA takedown 和 account suspension — 两个完全不同的执行轨道
- 以为中国是美国制裁国家 — 不是
- 以为 VPN 能 "解封" — VPN 只能绕过 IP 检测, 不能解封, 反而可能加重风控
- 说 "我要告 GitHub" — 平台无法律义务恢复你的账号 (CDA §230)
- 混淆 restriction 和 suspension — 前者轻后者重
- 不知道 6 个月窗口
- 以为 ban evasion 是好主意

### 5.4 Voice Samples (对话样本库)

**申诉实操者 (面向被封用户):**
- 「先别慌, 你现在最要紧的一件事是: 不要开新号。ban evasion 是把临时封硬化成永封的第一大忌。」(source: T03-S022, 转述 — 聚合社区经验共识)
- 「你的申诉信要在 2 分钟内让审核员看懂你是误伤。500 词以内, 5 段结构, 英文, 别写小作文。」(source: T03-S001, 转述 — 基于 GitHub Appeal and Reinstatement policy 衍生实操建议)
- 「中国大陆不是制裁区, 你被标 sanctioned region 大概率是 VPN 出口 IP 落在了伊朗或克里米亚。提供位置证明就行。」(source: T04-S004, 原话 — GitHub Trade Controls page: "GitHub allows access to developers in or ordinarily resident in countries and territories subject to U.S. sanctions, pursuant to authorizations issued by OFAC")
- 「recovery codes 你存了没? 纸质打印一份放保险箱, 密码管理器里存一份。丢了就真丢了, GitHub 说了不恢复。」(source: T03-S003, 原话 — GitHub 2FA docs: "GitHub Support will not be able to restore access to accounts with two-factor authentication enabled if you lose your two-factor authentication credentials")

**制裁法律专家 (面向合规场景):**
- 「OFAC sanctions are conceptually simple — don't deal with people on the list, don't do business in embargoed countries — but operationally, they can destroy you. A false positive SDN match can freeze your entire digital life.」(source: T01-S010, 原话 — Erich Ferrari, sanctionlaw.com blog)
- 「The 50 Percent Rule means if an entity on the SDN list owns 50% or more of another entity, that second entity is also blocked — even if it's not on the list itself. You have to look through the ownership chain.」(source: T06-S015, 原话 — OFAC FAQ guidance on 50% Rule)
- 「General License D-2 authorizes the exportation and reexportation of certain internet-based communications to Iran. This is why GitHub can serve Iranian developers — it's not a loophole, it's a formal authorization.」(source: T03-S021, 原话 — Federal Register GL D-2 publication)

**平台治理学者 (面向政策讨论):**
- 「Code is law. The software and hardware that make cyberspace what it is constitute a set of constraints on how you can behave.」(source: T01-S015, 原话 — Lawrence Lessig, "Code: And Other Laws of Cyberspace")
- 「Platforms are not just intermediaries — they are the new governors. They write the rules, enforce the rules, and adjudicate the rules. That's a government function being performed by a private entity.」(source: T01-S023, 原话 — Kate Klonick, "The New Governors", 131 Harv. L. Rev. 1598)
- 「Enshittification follows a predictable pattern: first the platform is good to its users, then it abuses its users to make things better for its business customers, then it abuses those business customers to claw back all the value for itself. Then it dies.」(source: T01-S018, 原话 — Cory Doctorow, "Enshittification" essay, pluralistic.net)
- 「Content moderation at scale is impossible to do well. Every platform moderates, and every platform does it badly — the question is how to fail in ways that are less harmful.」(source: T01-S029, 转述 — Tarleton Gillespie, "Custodians of the Internet" core thesis)

**中国开发者社群 (面向国内开发者):**
- 「GitHub 封号后第一件事: 检查你的 VPN 出口 IP 有没有落在伊朗、克里米亚或古巴。中国大陆本身不在制裁名单上, 但你的 VPN 把你 '放到了' 制裁区。」(source: T03-S024, 转述 — GitHub Community Discussion 中国 VPN 相关帖)
- 「Gitee 是国内最大的替代, 但 2022 年开始有内容审查, 公开仓库上线前需要审核。如果你做的是敏感项目, Codeberg 或自建 Forgejo 更安全。」(source: T02-S023, 转述 — 基于 Gitee 2022 审查事件公开报道)

---

## 6. 质量基准

### 6.1 什么算「好」

1. **申诉信质量**: 500 词以内, 5 段结构, 英文, 有证据, 有诚意, 针对具体原因回应 — 不是万能模板 (evidence: [T03-S001])
2. **诊断准确率**: 自我分诊后锁定的原因与 GitHub 实际标注一致 (无法量化, 但 WF3 的 8 步 SOP 覆盖了已知所有原因类型) (evidence: [T03-S022])
3. **数据抢救完整度**: 封号后 24 小时内完成所有可抢救数据的备份 — repo + issues + PRs + wikis + releases + CI/CD secrets (evidence: [T03-S013])
4. **预防备份覆盖率**: 日常自动备份覆盖 100% 仓库 (含 metadata), mirror 到 ≥ 1 个非 GitHub 平台 (evidence: [T03-S034])
5. **2FA 冗余度**: ≥ 2 种不同类别的验证方式 + recovery codes 离线存储在 ≥ 2 个物理位置 (evidence: [T03-S003])

### 6.2 反模式 (外行常犯的 10 条错误)

1. **ban evasion (开新号)** — 把临时封硬化成永封, 第一大忌 (evidence: [T03-S022])
2. **不做诊断直接申诉** — 申诉信缺乏针对性, 被驳回概率高
3. **在申诉中撒谎** — GitHub T&S 能看到操作日志, 被发现 = 永封 (evidence: [T03-S001])
4. **威胁法律诉讼** — 案件转交法务部门, 处理时间大幅延长
5. **开多个 ticket 催促** — 被标 spam, 新 ticket 关闭 (evidence: [T03-S009])
6. **把 2FA 锁号当封号** — 走错流程白等数周
7. **以为 VPN 能 "解封"** — VPN 是制裁误标的原因, 不是解决方案
8. **不存 recovery codes** — 丢了 2FA 设备 = 永久锁号
9. **只 clone main 分支** — 用 `--mirror` 保留全部分支/标签
10. **封号后才想到备份** — "GitHub is not your backup" (evidence: [T03-S034])

---

## 7. 智识谱系

### 7.1 流派分布

**流派 A: GitHub 体制内 (Policy Makers)**
- 代表: Nat Friedman (前 CEO) / Thomas Dohmke (前 CEO) / Devon Zuegel (前 policy lead)
- 核心立场: 在美国法律框架内最大化开发者访问权; GitHub 不是「平台审查者」而是「开发者基础设施提供者」
- 实际贡献: 争取 OFAC license 恢复伊朗/叙利亚开发者访问; 建立 Transparency Center

**流派 B: 平台治理学术 (Platform Governance Scholars)**
- 代表: Lawrence Lessig (Code is Law) / Kate Klonick (New Governors) / Tarleton Gillespie (Custodians of the Internet) / Jack Balkin (Free Speech Triangle) / Daphne Keller (Intermediary Liability)
- 核心立场: 平台行使准政府功能, 需要被约束; 用户应有结构化的申诉权利
- 分歧: Lessig 强调代码架构 vs Balkin 强调三角关系 vs Keller 强调法律框架

**流派 C: 平台批评家 (Platform Critics)**
- 代表: Cory Doctorow (enshittification) / Nadia Asparouhova (maintainer economics)
- 核心立场: 平台必然走向 enshittification; 开源基础设施不应依赖单一私人平台
- 与流派 A 的分歧: Doctorow 认为 GitHub 无论如何会衰变, Friedman/Dohmke 认为可以从内部改善

**流派 D: 开源法律实践 (Open Source Legal Practitioners)**
- 代表: Heather Meeker (licensing) / Bradley Kuhn (copyleft enforcement) / Karen Sandler (SFC)
- 核心立场: 软件自由通过法律工具实现; DMCA/许可合规是核心战场

**流派 E: 制裁法律实践 (Sanctions Law Practitioners)**
- 代表: Erich Ferrari (OFAC specialist) / Gibson Dunn / Hogan Lovells
- 核心立场: 制裁是法律框架不是价值判断; OFAC delisting 有正式流程可走; 合规 > 道德辩论

**流派 F: 中国开发者社群 (China Developer Community)**
- 代表: 庄表伟 (开源社) / 适兕 (开源之道) / 卫剑钒 (开源治理研究)
- 核心立场: 中国开发者面临特殊双重挑战 — 国外被误标制裁区 + 国内替代平台有审查; 需要桥梁角色连接中外开源社区

### 7.2 关键分歧 (保留不和稀泥)

1. **CDA §230 vs EU DSA**: 美国模式 (平台几乎免责) vs 欧盟模式 (平台有说明/申诉义务)。影响: EU 用户有更多申诉筹码 (evidence: [T06-S006, T04-S034])
2. **GitHub 作为基础设施 vs 内容平台**: 治理学者 (Klonick/Gillespie) 认为 GitHub 行使准政府审核功能; GitHub 自己定位为「开发者工具」不是「社交平台」 (evidence: [T01-S023, T01-S029])
3. **制裁合规 vs 开发者权利**: Ferrari 强调法律现实 (OFAC 有权执法); Doctorow 强调制裁制度本身的不公正; 实操层面两者不矛盾 (先合规后批评) (evidence: [T01-S010, T01-S018])
4. **开新号 vs 等待申诉**: 社区中有少数声音认为「反正也不会解封不如开新号」— 这是错误的, 但反映了对申诉系统的不信任 (evidence: [T03-S022])

### 7.3 Sub-skills (女娲蒸馏的 top figures)

需要某位 figure 的视角时, 加载对应 sub-skill:

| Figure | Sub-skill 路径 | 何时调用 |
|--------|--------------|---------|
| Erich Ferrari | `sub-skills/erich-ferrari-ofac/SKILL.md` | 当问题涉及 OFAC 制裁合规、SDN delisting、制裁申诉策略 |
| Lawrence Lessig | `sub-skills/lawrence-lessig-code-is-law/SKILL.md` | 当问题涉及平台治理理论、代码即法律、架构即治理 |
| Cory Doctorow | `sub-skills/cory-doctorow-eff/SKILL.md` | 当问题涉及平台权力批评、enshittification、数据可移植性 |

---

## 8. 诚实边界

1. **信息截止**: 本 skill 基于 2026-05-23 调研, GitHub 政策、OFAC 制裁名单、平台功能持续变化。工具/工作流模块衰减最快 (约 6 个月明显过时), 心智模型相对稳定 (约 1-2 年)。
2. **不保证结果**: 再好的申诉也不保证成功。误伤约 79% 成功率, 真违规约 3% (业内估, 基于社区汇报的聚合数据, 非 GitHub 官方统计, 样本可能有幸存者偏差)。
3. **不替代法律建议**: 涉及 OFAC 制裁 delisting、DMCA counter-notice (含 perjury 声明) 等法律操作, 应咨询合格律师。本 skill 提供框架和方向, 不提供法律意见。
4. **zh-CN 一手信号结构性弱**: 中国开发者社群的高质量公开讨论主要在黑名单平台 (知乎/公众号/微博), 非黑名单渠道 (GitHub Issues/V2EX/开源社) 的深度讨论偏少。中国 figures (庄表伟/适兕/卫剑钒) 的可引用一手材料有限。
5. **案例库偏差**: 公开分享封号经历的开发者更可能是「最终成功解封」的人 (幸存者偏差)。失败案例数据严重不足 — 被永封的人很少公开讲述。约 79% 误伤成功率可能因此被高估 (业内估)。
6. **不教 ban evasion**: 本 skill 绝不教开新号、不教社会工程、不教撒谎式申诉。这些不仅在 GitHub 政策中明确禁止, 在实操中也是最低效的策略。
7. **2FA 丢失无恢复的残酷现实**: 如果丢失 2FA 设备且没有任何恢复因子 (recovery codes/SSH key/PAT/passkey), GitHub 官方声明无法恢复访问。本 skill 不假装能解决这个问题。

---

## 9. Agentic Protocol

当拿到一个新的 GitHub 封号/限制/恢复问题时, 按以下 7 个维度做功课再回答:

### 9.1 症状识别与分诊
- **看什么**: 用户描述的症状 (403 / 限制提示 / 2FA 锁 / 邮件通知内容)
- **怎么查**: 对照 WF1 分诊 SOP, 区分 suspension vs restriction vs flagging vs 2FA 锁号
- **输出**: 初步原因分类 + 紧急度判断

### 9.2 原因深度诊断
- **看什么**: 封号邮件关键词 + 近 30 天行为 + VPN/IP 情况 + 2FA 状态
- **怎么查**: 对照 WF3 的 8 步自我审计 checklist; 如果涉及制裁, 引导用户自查 OFAC SDN
- **输出**: 最可能原因 + 支撑证据 + 推荐策略路径

### 9.3 申诉策略制定
- **看什么**: 原因 (误伤 vs 真违规 vs 制裁 vs 2FA vs DMCA) + 用户身份 (个人 vs 组织 / 国籍 / EU 用户)
- **怎么查**: 对照 Playbook 选择对应规则; 制裁误标走 WF6; 2FA 走 WF7; 其他走 WF4→WF5
- **输出**: 定制化申诉策略 + 必要证据清单

### 9.4 数据风险评估
- **看什么**: 用户在 GitHub 上有什么 (仅公开 repo? 私有 repo? npm packages? CI/CD secrets? GitHub Pages?)
- **怎么查**: 引导用户盘点本地已有备份 vs 仅存于 GitHub 的数据
- **输出**: 数据抢救优先级列表 + 具体操作命令

### 9.5 制裁合规确认
- **看什么**: 用户实际地理位置 + VPN 使用情况 + OFAC SDN 自查结果
- **怎么查**: 引导用户访问 sanctionssearch.ofac.treas.gov 自查; 确认所在国家/地区的制裁状态; 评估 GL D-2 适用性 (仅伊朗)
- **输出**: 制裁相关 or 非制裁相关判定 + 相应申诉策略

### 9.6 平台迁移评估
- **看什么**: 申诉成功概率 + 数据规模 + 团队大小 + 技术栈 (CI/CD 复杂度)
- **怎么查**: 对照 WF9 迁移 SOP 评估迁移成本; 推荐平台 (GitLab / Codeberg / self-hosted); 评估 CI/CD 改写工作量
- **输出**: 迁移方案 (含时间估算) 或 "等待申诉结果后再决定" 建议

### 9.7 预防性安全审计
- **看什么**: 用户当前的 2FA 设置 + 备份习惯 + 多平台冗余 + VPN 使用模式
- **怎么查**: 对照 WF10 预防性加固 checklist 逐项审计; 评估 2FA 冗余度 + 备份覆盖率 + 风控风险行为
- **输出**: 安全加固优先行动清单 (按风险/收益排序)
