Fiecare identificare, live
Evenimentele noi apar în câteva secunde, cu vizitatorul, external ID și momentul.
Recunoaște un browser care revine chiar în incognito sau cu cookie-urile șterse, detectează boții și dispozitivele falsificate și confirmă fiecare rezultat pe serverul tău înainte să acționezi.
Vezi ce putem afla despre acest browser. Rularea demo-ului trimite semnalele sale către noi și stochează un ID în el.
În API-ul pentru codul tău și în dashboard pentru cel care analizează cazul.
Evenimentele noi apar în câteva secunde, cu vizitatorul, external ID și momentul.
Automatizare, browsere headless, randare software, funcții native înlocuite și fusuri orare care nu se potrivesc.
Un dispozitiv listează fiecare external ID văzut pe el, astfel încât conturile multiple se remarcă.
Browserul primește doar un request ID. Serverul tău preia evenimentul cu secret key și decide.
Ștergeți un external ID și toate evenimentele și legăturile de dispozitiv ale acestuia dispar.
Fără planuri sau angajamente. După fiecare ciclu de facturare plătești pentru identificările folosite, fiecare cu toate semnalele, API-ul de server și dashboardul.
Vezi planurile și toate prețurile →Prețurile afișate nu includ taxele sau comisioanele aplicabile (ex. TVA).
Browserul primește un request ID, serverul tău primește toate detaliile.
Un tag script servit de api sau un modul ES tipizat din npm.
<script src="https://zenocdn.net/agent.js"></script>
<script>
const agent = FingerprintAgent.start({ endpoint: 'https://zenocdn.net', publicKey: 'pk_...' })
</script>Pornește-l când se deschide formularul, primești un request ID după autentificarea utilizatorului.
// After a successful login:
const { requestId } = await agent.get({ externalId: user.id })
await fetch('/api/login/verify', { method: 'POST', body: JSON.stringify({ requestId }) })Citește evenimentul cu secret key și decide. Browserul nu vede niciodată un 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 și DELETE pe /events, /visitors și /external-ids, cu un singur header.
Prefixe pk_ și sk_ cu checksum; cheile secrete sunt stocate ca hash și afișate o singură dată.
Filtrează după visitor, external ID, IP, flag, bot verdict, risk score și dată.
DELETE /external-ids/{id} șterge toate evenimentele și legăturile de dispozitiv ale acelui ID.
Da. Agentul este un modul ES simplu, fără dependențe, deci rulează în React, Svelte, Vue sau fără framework. Fără bundler, încarcă /agent.js și folosește FingerprintAgent global.
Nu. Dispozitivele identice, precum același model de telefon cu același OS, au aceeași amprentă, deci un browser fără ID-ul stocat poate fi asociat cu visitor ID-ul altuia. Tratați-l ca un lead de verificat împreună cu external IDs, flags și conexiunea.
Peste 100 de semnale de dispozitiv: canvas, WebGL, audio, fonturi, ecran, hardware, locale, pluginuri și urme de automatizare. Nu citește niciodată adresele de rețea WebRTC.
Identificarea se oprește discret: agentul returnează capped în loc de un request ID, astfel încât utilizatorii nu văd nicio eroare, iar autentificarea continuă să funcționeze. Setați bugete pe zi, săptămână sau lună și o limită de cheltuieli pe cheie. Nimic altceva nu are limită de rată.
Îți recuperezi banii. Nu ești mulțumit în primele trei luni după prima factură plătită? Îți rambursăm tot ce ai plătit în acea perioadă, fără întrebări.
În UE, în AWS eu-west-1. Evenimentele sunt păstrate până le ștergeți sau timp de 1, 3 ori 5 ani, dacă alegeți asta, iar un singur apel API șterge tot ce este stocat pentru unul dintre utilizatorii dvs.
Plătești pe măsură ce folosești, toate semnalele incluse.