H3.14.4PII redaction in error reports设计研究

上报数据涉及用户内容时需要脱敏处理

别名: 脱敏 · PII redaction · 上报隐私

概念解释

错误载荷很容易把字段值、文件名、消息正文、地址一并带走,因为这些往往就在出问题的那一行。涉及用户内容必须脱敏:默认不采集原文,必要的形态用类别或哈希代替,人能复现任务,读不到秘密。没有这一层,自动上报会从恢复工具变成一次静默的内容外泄。这条管载荷里的内容,不管发不发、路径全不全。

机制

异常对象、URL、日志插值和「把当前表单状态打出来」都是原文入口。原文对修复几乎没有额外价值:需要的是「这是邮箱字段、长度超出」,不是那串地址。一旦原文进了日志栈,访问控制、保留期、分包商都会看到一份本不该离开设备的副本。脱敏要在离开设备之前做:类别化(邮箱 / 电话 / 自由文本)、截断、对标识符做不可逆哈希。事后在仓库里删,补不回已经同步到别处的副本。用户若看不到上报里有自己的内容,退出诊断的决定也做不成。

怎么研究

对含有典型字段的失败做一次上报,审查载荷。比较未脱敏、字段级类别化、禁止自由文本。

自变量:是否在客户端剥离原文、URL 查询串是否保留、附件是否上传。 因变量:能复现的比例、载荷中可识别个人数据的条数、审查人员是否能读出内容。

不要在真实用户流量上做「先采再看有没有 PII」的实验。用夹具数据。

边界

用户主动点「附加截图或日志」并看到将发送的内容时,可以发送更富的材料,那是明示同意,不是默认上报。崩溃时内存转储往往含原文,默认关闭或只在选择加入的诊断包里。监管要求更长保留的审计日志与错误上报分开,不要用「审计」当未脱敏上报的借口。内部员工工具仍要脱敏,内部不等于无隐私。

怎么落地

  • 默认上报白名单:界面 ID、动作类型、错误码、版本、经过类别化的字段类型;字段值、消息正文、文件内容、精确坐标不在名单上。
  • 客户端在发送前扫 URL、异常 message、自定义上下文里的邮箱、电话、证件号模式并剥离。
  • 设置里用一句人话说明会上报什么,并给看最近一条已脱敏样本的入口。
  • 验证:用含真实格式的假个人数据走失败路径,打开发出的载荷。能读出那串假数据,脱敏就还没发生在离开设备之前。

延伸

  • 同组H3.14.1 客户端错误需要自动上报以便发现用户未主动反馈的问题 · H3.14.2 上报内容需要包含复现路径而非仅错误堆栈 · H3.14.3 上报频率异常升高本身就是需要告警的信号
  • 相邻H3.03 错误文案的语气 · H4.04 权限的可撤回 · H1.08 草稿自动保存
  • 站内检索PII redaction · error telemetry privacy · diagnostic opt-out

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/H3.14.4