《合规护栏》把所有 PII 落点接到同一套脱敏引擎后这个引擎就成了全系统的统一依赖——它的形态、加载方式、启动依赖、故障行为直接决定防护层会不会成为新的单点故障。核心论点引擎的可用性是一组结构性选择规则即数据 薄引擎 三级规则来源 双层级降级——让中央规则源退化为纯新鲜度提供者任何时刻挂掉都不影响可用性只影响规则更新速度。引擎形态规则即数据 薄引擎库是语言绑定的Python 库只能在 Python 进程import跨语言Go/Java/Node要么重写规则→ 规则漂移正是要消灭的要么嵌运行时丑。所以库不是跨语言的单一真相源。正确形态规则即数据YAML/JSON/Rego 表达正则/字典/字段规格 各语言薄引擎只做加载同一份规则文件并匹配。规则不重写只重写简单的匹配逻辑OPA/Rego 思路。部署形态适用特点进程内薄引擎import单语言本项目全 Python/FastAPI零额外跳热路径不吃延迟OTel Collector redaction/transform processor跨语言 / 遥测管道OTel Collector 是 Go、Langfuse exporter 非 Python 可控现成 sidecar 模式调同一份规则文件命门是规则文件唯一来源不是库还是 sidecar两类引擎都加载同一份中央规则数据否则各服务 pin 不同版本 → 规则漂移等于换皮的处处补丁。最强形态采集即 token 化——边缘把 PII 换 token下游只存 token原始 PII 只在最边缘存在与《LLM流量网关设计》靠强制不靠约定一脉相承。规则加载本地缓存 异步刷新选项热路径联网源挂了每请求实时拉规则✅ 塞了网络依赖请求失败明明有合法本地规则本地缓存 异步刷新❌ 零联网照常跑用 last-known-good把两个目标拆开新鲜度规则改了多快生效靠 watch/短刷新 源 HA可用性源挂了还能跑靠本地缓存数据源高可用只保新鲜度可靠性不保热路径可用性——可用性来自本地缓存。每请求同步拉规则 在热路径塞网络依赖把防护层变成新的同步单点。启动依赖三级规则来源启动永不阻塞若启动时同步拉源、拉不到就起不来重启风暴时批量重启/扩容所有实例同时打源服务恢复能力被规则源绑架且与运行中源挂了照跑不自洽——进程重启不该改变依赖关系。正确顺序① 本地磁盘快照运行期每次刷新成功后落盘的 last-known-good重启首选 ↓ 不可得 ② 构建期内置基线规则快照打进镜像/包冷启动兜底 ↓ 启动后立即触发 ③ 中央源异步刷新只做新鲜度补偿不阻塞启动绝不允许零规则启动——静默 fail-open 比起不来更危险。基线随构建产物存在结构上排除了这种可能。基线可能滞后暴露当前规则版本 距源滞后度指标 超阈值告警补偿接《系统健康监控巡检》告警节而非用同步依赖消灭滞后。故障隔离与降级绝不二选一放行/拦截脱敏引擎在每请求热路径里若 fail-closed默认拦截且引擎故障会连锁拖垮所有走它的服务若把中央策略源做成每请求网络调用规则服务才是真 SPOF§2/§3 已从结构上排除。双层级检测降级先丢贵的层层实现成本降级行为确定性层正则/字典身份证/手机号/邮箱纯本地极低、不会挂永远在线语义层模型判定模糊 PII依赖外部贵引擎降级时先丢这一层仍能挡 90% 硬 PII降级阶梯按引擎健康度等级状态行为健康两层全开完整防护降级可达但慢/部分失败熔断语义层、只跑本地正则、硬超时如 5ms跳过语义全挂引擎不可用按路由敏感度分级决策全挂时的分级决策路由敏感度fail-mode处置高敏身份/金额fail-closed拦截 告警低敏fail-open放行 强告警 人工回溯出口平面落点日志/trace/缓存的 redaction 必须在异步导出管道做OTel processor 本就异步引擎挂了绝不阻塞用户请求最坏只是遥测未脱净、告警让人处理。降级阶梯健康阈值约定常量常量默认值含义RULE_REFRESH_TIMEOUT_SEC2.0后台刷新超时上限超此值视为源不可达RULE_REFRESH_FAILURE_BUDGET5连续刷新失败达此次数由 degraded 降为 down降级判定由 governance hook 读取实现引擎不自发计数熔断。规则变更安全版本化 last-known-good 灰度坏规则推送本身是故障模式一条写崩的正则能让所有引擎同时崩溃或全量误拦——比引擎故障更致命因为它同时命中所有实例。处置作用规则版本化每次推送带版本号哈希标识可追溯last-known-good 回滚加载失败/校验不过自动回退上一版灰度推送先小流量实例验证再全网决策源 HA 挡不住内容错误——高可用地推送一条坏规则只会挂得更快。变更安全靠版本化 灰度不靠 HA。核心要点防护层自身不能成为新单点靠五条结构性选择规则即数据 薄引擎跨语言不漂移本地缓存 异步刷新热路径零联网三级规则来源启动永不阻塞、绝不零规则启动双层级降级确定性层永远在线全挂按敏感度分级 fail-open/closed版本化 灰度坏规则不全网生效中央规则源被降格为纯新鲜度提供者任何时刻挂掉都不影响可用性只影响规则更新速度——这才配得上不引入 SPOF。