此翻译由机器生成,正在等待审核。 切换到英语
控制台

工程原则

我们所信奉的——以及它如何在产品中体现出来。

这些是运行约束,而非口号。其中每一条都可以针对产品进行验证。如果你发现例外,要么原则有误,要么实现有误;两者都是 bug。

01. 校准优先于判定

由你的反欺诈团队做出最终决定——Noxtica 给他们提供证据。

我们不返回”是”或”否”。我们返回风险等级、置信度指标,以及产生它们的原因。一次拒付不等于一次登录失败。一次新用户注册不等于一个重置了缓存的回访用户。你了解自己的上下文。我们只是给你更好的输入。

你会在哪里看到它

  • 每次验证始终返回风险等级、置信度指标,以及评分背后的原因——绝不会是一个单一的”这是机器人”标记。
  • 运营者控制台按类别展示评分明细,而不仅仅是最终等级。
  • 如果你想在其上构建自己的分类器,底层信号是可访问的。

权衡

你无法把 Noxtica 塞进一行”如果是机器人就拦截”的代码里。你要编写一个策略。策略很短——通常十到二十行——但它归你所有。

02. 可举证的决策

当某个会话在真实客户身上被标记时,你的工程师需要为该决策辩护——向法务、向产品、向客户本人。

每一个检测类别都记录在 /docs/threat-categories 中,每一个阈值都可审计。如果某个结果让你感到意外,它是可追溯的。如果你对某个校准有异议,它是可调整的。

你会在哪里看到它

  • 验证中的原因名称与文档中的名称逐字一致。没有代号,也没有营销式的重新命名。
  • 每个阈值都附有其依据和背后的总体数据。
  • Noxtica 报告的信号是一份有文档记录的约定,而不是随时会变动的目标。

权衡

我们不能悄悄地调整模型。收紧某个阈值意味着写下这个变更、在更新日志中给出理由,并以带版本号的更新形式发布。这比黑盒模型要慢。我们认为这种权衡是值得的。

03. 误报不是可接受的损失

一个被拦截的客户永远不会回来。一个漏掉的机器人是一次你可以申诉的拒付;一个被拦截的真人则是流失——而流失会复利累积。

我们宁愿漏掉一个机器人,也不愿拦截一个使用了不常见但完全合法配置的真实客户。阈值有意偏向放行边界情况。风险等级的存在是为了让你选择自己的权衡,但默认值之所以保守是有原因的。

你会在哪里看到它

  • “观察”和”挑战”等级被刻意拉开距离,使得介于两者之间的群体大多是机器人,而非人类。
  • 已识别的隐私浏览器在设计上以宽松方式处理,而非事后补丁。
  • 我们示例中的默认策略是发起验证挑战,而非拦截——拦截保留给最高等级,而按设计,只有多个信号一致时它才会触发。

权衡

在默认设置下,你的捕获率低于调得更激进的竞争对手。我们认为,在一年的尺度上你会以绝对数量捕获更多机器人,因为你一开始就保留了更多真实客户。

04. 构建即隐私

你的数据保护官睡得更安稳,因为我们是为此设计的。

采集器不采集任何个人数据。默认不存储原始网络地址——只保留国家等粗粒度上下文,派生后即丢弃。验证期间不发生第三方网络调用。我们存储的是经过混淆的单向摘要,绝非原始值,且签名密钥按固定周期轮换。我们无法出售从未采集过的东西。

你会在哪里看到它

  • 采集期间,浏览器恰好发出一个请求:以同源方式将密封的结果发送到你自己的后端。没有第三方遥测,没有分析信标,不从其他地方加载字体。
  • 我们的验证不需要任何额外查询——完整的信息就在结果里,我们无需重新获取任何东西。
  • 数据保留默认值因套餐而异,且应要求的硬删除在存储层强制执行,而非作为软标记。

权衡

我们不能用跨客户数据来丰富模型。在某个客户网站上见过的机器人,不会自动被另一个客户的验证所知悉。我们使用总体级别的聚合数据进行校准,但绝不跨客户关联个体。

各项原则如何组合

这四条原则并非彼此独立——它们相互强化。

  • 校准优先于判定(01)只有在决策可举证(02)的前提下才能成立,因为没有文档化的推理过程,你就无法读懂校准。
  • 可举证的决策(02)使得规避误报(03)可被验证——你可以审计阈值,并证明默认值是保守的。
  • 构建即隐私(04)使得模型清晰可读。我们没有上千个跨客户特征;只有几十个,每一个都与你能在文档中读到的信号相关联。

如果我们要增加第五条原则,它必须强化这四条。如果不能,我们就不会发布它。

延伸阅读