每次识别,实时呈现
新事件几秒内出现,包含访客、external ID 和时间。
即使在无痕模式下或清除了 Cookie,也能识别回访的浏览器,捕获机器人和伪造设备,并在采取行动前在您的服务器上确认每个结果。
查看我们能从此浏览器中获取哪些信息。运行演示会将其信号发送给我们,并在浏览器中存储一个 ID。
您代码使用的 API 中,以及供审核人员查看案例的控制台中。
新事件几秒内出现,包含访客、external ID 和时间。
自动化、无头浏览器、软件渲染、被替换的原生函数以及不匹配的时区。
设备会列出其上出现过的所有 external ID,便于发现多账号。
浏览器只会获得 request ID。您的服务器使用 secret key 获取事件并做出决策。
删除 external ID 后,其所有事件和设备关联都会被移除。
浏览器获得 request ID,您的服务器获得完整信息。
由 api 提供的一个 script 标签,或来自 npm 的类型化 ES 模块。
<script src="https://zenocdn.net/agent.js"></script>
<script>
const agent = FingerprintAgent.start({ endpoint: 'https://zenocdn.net', publicKey: 'pk_...' })
</script>表单打开时启动,用户登录后获取 request ID。
// After a successful login:
const { requestId } = await agent.get({ externalId: user.id })
await fetch('/api/login/verify', { method: 'POST', body: JSON.stringify({ requestId }) })用 secret key 读取事件并做出决策。浏览器永远看不到标记。
const response = await fetch(`https://api.zeno.id/events/${requestId}`, {
headers: { 'Auth-API-Key': process.env.FP_SECRET_KEY },
})
const event = await response.json()
if (event.bot === 'bad' || event.riskScore >= 15) {
throw new Error('Review this login')
}只需一个请求头,即可对 /events、/visitors 和 /external-ids 使用 GET、PATCH 和 DELETE。
带校验和的 pk_ 和 sk_ 前缀;密钥以哈希形式存储,仅显示一次。
按访客、external ID、IP、flag、机器人判定、风险分数和日期筛选。
DELETE /external-ids/{id} 会删除该 ID 的所有事件和设备关联。
是的。agent 是无依赖的纯 ES 模块,可在 React、Svelte、Vue 或无框架环境中运行。不使用打包工具时,加载 /agent.js 并使用全局 FingerprintAgent。
否。相同设备(例如相同系统的同款手机)具有相同的指纹,因此没有已存储 ID 的浏览器可能会与他人的 visitor ID 匹配。请将其视为线索,结合 external ID、flags 和连接信息一起审查。
100多种设备信号:canvas、WebGL、音频、字体、屏幕、硬件、区域设置、插件和自动化痕迹。绝不读取WebRTC网络地址。
识别会静默暂停:代理返回 capped 而非 request ID,因此用户不会看到错误,登录功能继续正常工作。可按天、周或月设置预算,并为每个密钥设置支出上限。其他内容不受速率限制。
您可以拿回您的钱。首次付款账单后的前三个月内如果您不满意,我们将无条件退还该期间内您支付的全部费用。
欧盟内,位于 AWS eu-west-1。事件将保留至您删除为止,若您选择,则保留 1、3 或 5 年。一次 API 调用即可清除您某个用户的所有已存储数据。
按量付费,包含所有信号。