文档
DataMask
在不丢失引用完整性的情况下将生产数据脱敏到 dev/staging。KMS 派生的确定性种子(HKDF 回退)、基于 ML 的 PII 检测、dry-run 预览、k-anonymity 验证和 Ed25519 签名的审计握手。
它是什么
一个 workspace + engine,从 source 到 target 运行 LGPD 级脱敏作业。敏感字段通过 3 信号分类器(regex + 启发式 + ML)检测,然后用确定性函数(HKDF 派生每字段)转换,使相同的 source 值始终映射到相同的脱敏值 — collections 间引用完整性得以保留。
何时使用
在从生产刷新 dev / staging 之前运行。任何有权访问脱敏目标的人都获得与生产相同的 schema 和统计分布,但每个 PII 列都被替换 — DPO / ANPD / 外部开发团队可以使用数据,不会发生 LGPD 违规。
如何打开
- 在 NoSqlStudio 桌面应用中,打开 Tools 菜单 → Migrate and Diff → Data Mask,或按 Ctrl+Alt+K。
- workspace tab 打开,顶部为 source / target 选择器,中心为字段 policy 编辑器,右侧为 dry-run 预览。
- 选择 source 和 target 连接,然后选择要脱敏的数据库和 collections。
构建脱敏计划
- Scanner — 点击 "Scan source" 在样本上运行 PII 检测器。输出是每字段分类:not_sensitive / personal_low / personal_medium / personal_high / checksum_match。
- Policy — 对于每个标记的字段,engine 提议一个 transform(hash / shuffle / format-preserving / nullify / leave)。您可以按字段覆盖。
- 审计握手 — 对于需要的 tiers,engine 触发 license-server 签名的握手(Ed25519)。签名 token 嵌入每个审计行,以便外部审计员可以加密验证运行。
- Dry-run — 点击 "Preview" 在内存中脱敏 100 个样本文档并并排渲染 before/after。尚未写入 target。
- k-anonymity — 设置最小 k。如果任何 quasi-identifiers 组合(zipcode + age + gender)产生小于 k 的组,engine 拒绝应用脱敏。
- 理由 — 对于敏感字段,engine 需要存储在审计日志中的自由文本理由。
- Apply — 点击 "Start mask"。engine 将脱敏文档写入 target,内置 progress bar、吞吐量和 resume-on-failure。审计日志记录 policy 指纹、target namespaces 和 outcome。
KMS 派生的种子
对于确定性脱敏,每个字段使用通过 HKDF 从根 secret 派生的每字段种子。根 secret 可以位于 HashiCorp Vault、AWS KMS、Azure Key Vault 或 GCP KMS — 在工作站上配置一次。没有 KMS,engine 回退到本地 HKDF 种子(仍然是确定性的,但轮换需要手动密钥替换)。
Right-to-be-Forgotten 执行器
LGPD Art. 18 删除请求的单独子工作流。完整流程请参阅 RTBF Wizard 文档 — DataMask engine 是实际执行擦除的底层。
限制(v1)
- KMS 提供商可选。没有的话,本地 HKDF 种子位于 userData,轮换是手动的。Tier-gated。
- Schema-drift 检测仅捕获自上次快照以来的更改。如果 source schema 在 scan 和 apply 之间更改,engine 警告;不会自动演变 policy。
- k-anonymity 检查基于样本(默认 10k 文档)。要获得铁定的保证,将 k 设高并审查每 bucket 的报告。