vigil-redaction
职责(ADR 0002 §D1):纯函数,输入任意 serde_json::Value,输出脱敏后的 Value
与一个可供 FTS5 检索的摘要字符串。无 IO、无全局状态。
I01 实装最小规则集(仅以下指纹在本迭代内承诺覆盖):
- 服务 API key 指纹:AWS access key id、GitHub token 家族(
ghp_/gho_/ghu_/ghs_/ghr_)、 Anthropic(sk-ant-*)、OpenAI(sk-*其它)。顺序敏感:anthropic 必须先于 openai。 - JWT 三段式 base64url
- PEM 私钥块(任何
-----BEGIN ... PRIVATE KEY-----开头) - JSON object-key 启发:当 key 名含
secret|token|password|api_key|auth时, 整个字符串值被替换为[REDACTED len=N by_key=...] - 自由文本
.env风格键值对:[A-Z_]+(KEY|TOKEN|SECRET|PASSWORD|AUTH|...)=value和... : value两种形态,即使 value 不匹配任何服务指纹也整段脱敏(规则名env_assignment) - email 列表
- 内部 IPv4(10/8、172.16/12、192.168/16、127/8)
不在 I01 范围:Slack / Stripe / GCP service account key / SSH host key / OAuth client_secret / 通用 40-hex GitHub classic OAuth token / Google API key 等 由 I02 与 I09(浏览器扩展)扩展。