mcpField
A
anonymization-alternative

anonymization-alternative

github.com/mukul975安全32345 次安装32 周前更新
代码仓库

关于 anonymization-alternative

用于判断匿名化能否替代删除,并评估数据是否真正匿名而非假名化。内容涵盖匿名化方法、重新识别风险检查及持续风险复核。

主要功能

  1. 01匿名化与假名化的区别
  2. 02随机化和泛化方法
  3. 03数据抑制技术
  4. 04重新识别风险评估
  5. 05持续风险监测

适用场景

  1. 01保留超过期限的汇总数据
  2. 02为统计分析准备数据集
  3. 03审查研究数据的重新识别风险

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/privacy-data-protection-skills --skill anonymization-alternative

安装后在 Claude Code 中输入/anonymization-alternative确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
template.md
references/
standards.md
workflows.md
scripts/
process.py

详细介绍

将匿名化作为保留数据的替代方案

概述

匿名化会将个人数据转换为无法识别自然人,或无法合理地用于识别自然人的形式。根据 GDPR 序言第 26 条,真正匿名化的数据不在该法规的适用范围内,这意味着可以无限期保留此类数据,无需法律依据,不适用数据主体权利,也不计入保留期限义务。不过,要实现真正的匿名化——而非仅仅假名化——必须严格应用经过验证、能够应对重新识别风险的技术。本技能提供评估框架、实施技术和验证方法,以便在保留汇总数据或统计数据具有正当目的时,将匿名化用作删除数据的替代方案。

法律依据

GDPR 序言第 26 条——匿名化数据不在 GDPR 适用范围内

“因此,数据保护原则不应适用于匿名信息,即与已识别或可识别的自然人无关的信息,或以数据主体无法或不再能够被识别的方式匿名化的个人数据。因此,本条例不涉及对此类匿名信息的处理,包括出于统计或研究目的进行的处理。”

关键判定标准:考虑控制者或“任何其他人”可能合理采用的“所有手段”,判断数据主体是否可被识别。

第 29 条工作组关于匿名化技术的第 05/2014 号意见(WP216)

该意见于 2014 年 4 月 10 日通过,规定有效匿名化必须防止:

  1. 单独识别:从数据集中分离出部分或全部可识别个人的记录。
  2. 可关联性:关联至少两条涉及同一数据主体的记录(在同一数据集内或在两个独立数据集之间)。
  3. 推断:根据一组其他属性的取值,以较高概率推断出某一属性的取值。

该意见根据这三种风险评估随机化和泛化技术。

ICO 匿名化实践守则(更新版指南)

ICO 提供匿名化指南,强调“动机明确的入侵者”测试:一个具备合理能力的人,能否利用互联网、公共图书馆和公共记录等资源,重新识别数据集中的个人?

匿名化与假名化

特征匿名化假名化
GDPR 状态不在 GDPR 适用范围内(序言第 26 条)仍属于个人数据(第 4(5) 条)
可逆性不可逆——没有重新识别的手段可逆——借助其他信息可以重新识别
保留期限可以无限期保留受保留期限安排约束
数据主体权利不适用完全适用
法律依据无需提供必须提供
失效风险如果匿名化被破解,数据会追溯性地恢复为个人数据状态不适用——始终属于个人数据
技术随机化、泛化、抑制、数据掩码(不可逆)令牌化、加密、基于密钥的替换(可逆)

WP29 匿名化技术

技术 1:随机化

随机化会改变数据的真实性,以断开数据与个人之间的关联:

方法描述单独识别可链接性推断适用场景
添加噪声在数值中添加随机噪声(例如,年龄 ± 3 年,薪资 ± 5%)部分缓解部分缓解缓解精确值并非关键的统计分析
置换在数据集中打乱属性值,使其不再与正确的记录关联部分缓解缓解部分缓解必须保留属性分布但打破关联的数据集
差分隐私向查询结果添加经过校准的噪声,确保纳入或排除任意单条记录都不会显著改变输出缓解缓解缓解聚合分析、机器学习训练数据
技术 2:泛化

泛化会降低数据的粒度,以防止识别:

方法描述单独识别可链接性推断适用场景
聚合将单个值替换为汇总统计数据(平均值、中位数、计数)缓解缓解部分缓解报告、趋势分析
K-匿名性确保每种准标识符组合至少出现在 k 条记录中缓解(当 k 足够大时)部分缓解无法缓解发布用于研究的微观数据
L-多样性确保每个等价类(K-匿名组)中的敏感属性至少有 l 个不同值缓解部分缓解部分缓解包含敏感属性的数据集
T-接近性确保每个等价类中敏感属性的分布接近整体分布(距离 ≤ t)缓解部分缓解缓解属性分布敏感的数据集
顶部/底部编码将极端值替换为阈值(例如,年龄 >90 替换为“90+”)部分缓解部分缓解部分缓解保护数值数据中的离群值
数据掩蔽不可逆地替换字符(例如,将邮政编码“SW1A 1AA”替换为“SW1A ***”)缓解(针对已掩蔽字段)部分缓解部分缓解降低准标识符的粒度
技术 3:抑制
方法描述有效性
记录抑制删除唯一或准唯一的整条记录消除被抑制记录的单独识别风险
属性抑制删除充当标识符或准标识符的整列消除通过被抑制属性进行的关联
单元格抑制将导致重新识别风险的特定单元格值替换为空值有针对性地缓解单独识别风险

匿名化评估工作流

步骤 1:确定匿名化是否合适
[Data Approaching Retention Expiry]
         │
         ▼
[Is there a legitimate purpose for retaining the data in anonymized form?]
   │
   ├── Statistical analysis / reporting ──► Proceed
   ├── Research purposes (Art. 89) ──► Proceed
   ├── Training ML models ──► Proceed (with separate legal basis assessment)
   ├── Historical archiving ──► Proceed
   ├── No legitimate purpose ──► DELETE (do not anonymize for no reason)
   │
   ▼
[Can the purpose be achieved with anonymized data?]
   │
   ├── Yes ──► Proceed to anonymization
   └── No ──► Consider pseudonymization with extended retention (separate assessment)
步骤 2:选择匿名化技术

根据数据类型和预期用途:

数据类型推荐的主要技术次要技术验证方法
结构化数值(年龄、薪资、金额)泛化(聚合)+ 添加噪声对异常值进行顶部/底部编码K-匿名性(k ≥ 5)
结构化类别数据(性别、地区、职称)泛化(基于层级)+ 抑制罕见值置换L-多样性(l ≥ 3)
自由文本(支持工单、备注)完全抑制个人标识符 + 泛化准标识符移除命名实体 + 文本泛化人工抽样审查 + 自动 NER 验证
交易数据(购买历史、使用日志)聚合至群组级别 + 添加噪声时间泛化(天 → 周 → 月)T-接近性(t ≤ 0.15)+ K-匿名性(k ≥ 10)
位置数据空间泛化(精确坐标 → 地区/城市)区域隐藏(最小覆盖面积内含 k 名个体)K-匿名性(位置数据 k ≥ 20)
步骤 3:实施匿名化

对于 Orion Data Vault Corp,标准匿名化流程为:

[Source Data — Personal Data Under Retention]
         │
         ▼
[Step 1: Identifier Removal]
   - Remove all direct identifiers: name, email, phone, address, NI number,
     account number, IP address, device ID
   - Remove any unique IDs that could be cross-referenced with other datasets
         │
         ▼
[Step 2: Quasi-Identifier Generalization]
   - Age: Generalize to 10-year bands (18-27, 28-37, 38-47, ...)
   - Postcode: Truncate to outward code only (SW1A 1AA → SW1A)
   - Date of birth: Remove — use age band only
   - Job title: Generalize to job function category
   - Transaction date: Generalize to month-year
         │
         ▼
[Step 3: Apply K-Anonymity]
   - Ensure each combination of quasi-identifiers appears in ≥ k records
   - Target: k ≥ 5 for standard data; k ≥ 10 for sensitive data
   - Suppress records that cannot achieve k threshold
         │
         ▼
[Step 4: Apply L-Diversity (if sensitive attributes present)]
   - Within each equivalence class, ensure ≥ l distinct values for
     each sensitive attribute
   - Target: l ≥ 3
         │
         ▼
[Step 5: Add Noise (for numerical attributes)]
   - Apply calibrated noise (Laplace mechanism for differential privacy)
   - Epsilon (ε) parameter: ε ≤ 1.0 for standard data; ε ≤ 0.1 for sensitive data
         │
         ▼
[Step 6: Validation]
   - Run re-identification risk assessment (see below)
   - If risk > threshold: iterate with stronger parameters
   - If risk ≤ threshold: approve anonymized dataset
         │
         ▼
[Anonymized Dataset — Outside GDPR Scope]
   - Delete source personal data per retention schedule
   - Retain anonymized dataset without retention period constraint
   - Document anonymization process in anonymization register
步骤 4:验证匿名化效果
重新识别风险评估
测试方法阈值未通过时采取的措施
个体识别使用所有可用准标识符尝试识别唯一记录识别任何个体的概率 < 0.05(5%)提高 K-匿名性参数;抑制唯一记录
可关联性将匿名化数据集与可用外部数据集(如公共记录、社交媒体)交叉参照测试样本中未能成功关联(n ≥ 100)移除更多准标识符;提高泛化程度
推断尝试根据等价类中的准标识符推断敏感属性值无法以 > 80% 的置信度推断任何属性提高 L-多样性;应用 T-接近性
动机入侵者测试(ICO)模拟一名可访问公共资源的动机个体发起攻击入侵者无法通过合理努力识别任何个体加强技术参数;考虑完全抑制
K-匿名性验证标准
数据集大小最小 k 值原因
< 1,000 条记录k ≥ 10小型数据集更容易受到个体识别攻击
1,000 — 100,000 条记录k ≥ 5标准保护级别
> 100,000 条记录k ≥ 3(最低);k ≥ 5(推荐)较大的数据集具有固有保护作用
特殊类别数据(任何大小)k ≥ 10敏感数据被重新识别的风险较高
位置数据(任何大小)k ≥ 20位置数据很容易被重新识别(Montjoye 等人,2013 年:4 个时空点足以唯一识别 95% 的个体)

匿名化登记册

Orion Data Vault Corp 会登记所有匿名化操作:

ANONYMIZATION REGISTER — Orion Data Vault Corp
(Extract as of 2026-03-14)

┌──────────────┬─────────────────┬────────────┬───────────────┬──────────┬──────────────────┬─────────────┐
│ Anon Ref     │ Source Category  │ Records    │ Technique     │ k-value  │ Re-ID Risk       │ Date        │
├──────────────┼─────────────────┼────────────┼───────────────┼──────────┼──────────────────┼─────────────┤
│ ANON-2025-041│ CAT-005 Web     │ 2.3M       │ Aggregation + │ k=15     │ < 0.01%          │ 2025-12-01  │
│              │ Analytics       │            │ noise addition│          │                  │             │
├──────────────┼─────────────────┼────────────┼───────────────┼──────────┼──────────────────┼─────────────┤
│ ANON-2026-008│ CAT-003 Trans.  │ 450K       │ Generalization│ k=8      │ < 0.02%          │ 2026-02-15  │
│              │ Records         │            │ + l-diversity │ l=4      │                  │             │
├──────────────┼─────────────────┼────────────┼───────────────┼──────────┼──────────────────┼─────────────┤
│ ANON-2026-012│ CAT-009 Support │ 28K        │ Text redaction│ k=5      │ < 0.05%          │ 2026-03-01  │
│              │ Records         │            │ + generalizn. │          │ (manual review   │             │
│              │                 │            │               │          │  validated)      │             │
└──────────────┴─────────────────┴────────────┴───────────────┴──────────┴──────────────────┴─────────────┘

持续监控

年度重新识别风险审查

匿名化数据集必须每年审查一次,原因如下:

  1. 新数据源:新出现的外部数据集可能使原先无法实施的关联攻击成为可能。
  2. 技术进步:计算能力和 AI 能力的提升可能会随着时间推移降低匿名化技术的有效性。
  3. 背景变化:数据所代表人群的变化可能会使先前匿名的记录变得可识别。

如果审查确定匿名化已不再有效,组织必须:

  • 应用额外的匿名化技术以恢复其有效性,或
  • 将数据集视为个人数据,并全面遵守 GDPR(法律依据、保留期限表、数据主体权利)。

评论

支持 Markdown