Show HN: OpenTrust – 面向AI时代的浏览器信任信号工具
OpenTrust 是一个开源的 SDK,用于收集隐私保护型浏览器信号,帮助开发者评估浏览器交互的信任度。它提供自动化检测、摄像头完整性、被动活体分析等功能,所有处理均在客户端完成,不上传原始媒体数据。
OpenTrust 是一款注重隐私的开源 SDK,旨在为现代 Web 应用提供浏览器端的信任信号。它通过收集一系列隐私保护的浏览器信号,帮助开发者评估用户交互的可信度。与传统的“人类/机器人”二元判断不同,OpenTrust 返回的是置信度分数,需要与后端认证、设备信誉和服务器端验证系统结合使用。
核心功能
OpenTrust 通过简洁的 TypeScript API 暴露以下浏览器端信任信号:
- 浏览器自动化检测:检测 WebDriver 标志、无头浏览器和异常属性。
- 摄像头完整性检查:检测虚拟摄像头、静态或重放视频分析。
- 被动活体分析:检测人脸存在、运动以及眨眼动作。
- 麦克风完整性:检测虚拟麦克风和音频信号分析。
所有处理均在客户端本地执行,原始帧或音频数据永远不会离开用户设备。
适用场景
OpenTrust 适用于欺诈预防工作流、风险评分与信任评估、机器人缓解系统、浏览器完整性检查、研究实验以及开发者工具和原型。然而,它不能替代 KYC(了解你的客户)、身份验证、企业级活体检测、设备证明或服务器端欺诈检测。
设计理念
安全性依赖于多层架构。OpenTrust 专注于浏览器端的信任信号,必须与服务器端验证和认证系统协同工作。SDK 返回的是置信度信号,而不是“人类/机器人”的二元判定。
快速上手
通过 npm 安装 opentrust-sdk:
npm install opentrust-sdk然后调用 OpenTrust.verify() 方法:
import { OpenTrust } from 'opentrust-sdk';
const result = await OpenTrust.verify({ camera: true });
console.log(result.trustScore); // 0.85
console.log(result.signals);返回的对象包含 trustScore(0.0-1.0)、详细信号(如 faceDetected、livenessScore、virtualCameraDetected 等)以及时间戳。
此外,还提供了 React Hook useOpenTrust,以及通过 CDN 引入的方式。开发者可以克隆 GitHub 仓库运行本地 demo,或访问 Vercel 上的在线演示。
隐私与许可
OpenTrust 绝对不会上传原始摄像头帧或麦克风音频。所有处理均在客户端完成。项目采用 MIT 许可,欢迎社区贡献。