Bawat identification, live
Lumalabas ang mga bagong event sa loob ng ilang segundo, kasama ang visitor, external ID, at oras.
Kilalanin ang bumalik na browser kahit sa incognito o kapag na-clear ang cookies, tuklasin ang mga bot at peke na device, at kumpirmahin ang bawat resulta sa iyong server bago kumilos.
Tingnan kung ano ang masasabi namin tungkol sa browser na ito. Kapag pinatakbo ang demo, ipinapadala nito ang mga signal nito sa amin at nag-iimbak ng ID dito.
Sa API para sa iyong code, at sa dashboard para sa nagrerepaso ng kaso.
Lumalabas ang mga bagong event sa loob ng ilang segundo, kasama ang visitor, external ID, at oras.
Automation, headless browser, software rendering, pinalitang na natives, at hindi tugmang time zone.
Ipinapakita ng device ang bawat external ID na nakita dito, para madaling makita ang multi account.
Request ID lang ang natatanggap ng browser. Kinukuha ng server mo ang event gamit ang secret key nito at siya ang magpapasya.
Burahin ang external ID at mawawala na ang lahat ng event at device link nito.
Walang plano o commitment. Pagkatapos ng bawat billing cycle, babayaran mo ang mga identification na nagamit, bawat isa may lahat ng signal, server API, at dashboard.
Tingnan ang mga plano at lahat ng presyo →Hindi kasama sa ipinapakitang presyo ang mga naaangkop na buwis o bayarin (hal. VAT).
Nakakakuha ang browser ng request ID, nakukuha ng iyong server ang buong detalye.
Isang script tag mula sa api, o typed na ES module mula sa npm.
<script src="https://zenocdn.net/agent.js"></script>
<script>
const agent = FingerprintAgent.start({ endpoint: 'https://zenocdn.net', publicKey: 'pk_...' })
</script>Simulan ito kapag nagbukas ang form, kumuha ng request ID kapag nag-log in ang user.
// After a successful login:
const { requestId } = await agent.get({ externalId: user.id })
await fetch('/api/login/verify', { method: 'POST', body: JSON.stringify({ requestId }) })Basahin ang event gamit ang secret key at magdesisyon. Hindi kailanman nakikita ng browser ang flag.
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')
}GET, PATCH at DELETE sa /events, /visitors at /external-ids, gamit ang isang header.
Mga prefix na pk_ at sk_ na may checksum; naka-hash ang secret key at ipinapakita nang isang beses lang.
I-filter ayon sa visitor, external ID, IP, flag, bot verdict, risk score, at petsa.
Tinatanggal ng DELETE /external-ids/{id} ang lahat ng event at device link ng ID na iyon.
Oo. Ang agent ay simpleng ES module na walang dependencies, kaya gumagana ito sa React, Svelte, Vue o kahit walang framework. Kung walang bundler, i-load ang /agent.js at gamitin ang global na FingerprintAgent.
Hindi. Ang magkakaparehong device, tulad ng parehong modelo ng telepono sa parehong OS, ay may parehong fingerprint, kaya maaaring tumugma ang browser na walang naka-save na ID sa visitor ID ng iba. Ituring ito bilang lead na suriin kasama ng external IDs, flags, at connection.
Mahigit 100 device signal: canvas, WebGL, audio, fonts, screen, hardware, locale, plugins at bakas ng automation. Hindi ito kailanman bumabasa ng WebRTC network address.
Tahimik na humihinto ang identification: ibinabalik ng agent ang capped sa halip na request ID, kaya hindi nakikita ng iyong mga user ang error at patuloy na gumagana ang login mo. Magtakda ng budget bawat araw, linggo, o buwan, at limitasyon sa gastos bawat key. Walang ibang may rate limit.
Ibabalik namin ang pera mo. Hindi ka nasiyahan sa unang tatlong buwan pagkatapos ng unang nabayarang bill? Ibabalik namin ang lahat ng binayaran mo sa panahong iyon, walang tanong.
Sa EU, sa AWS eu-west-1. Naka-imbak ang mga event hanggang burahin mo ang mga ito, o sa loob ng 1, 3 o 5 taon kung pipiliin mo iyon, at isang API call lang ang magbubura ng lahat ng nakaimbak para sa isa sa iyong mga user.
Magbayad habang gumagamit, kasama ang bawat signal.