Elke identificatie, live
Nieuwe events verschijnen binnen seconden, met de bezoeker, de external ID en het tijdstip.
Herken een terugkerende browser zelfs in incognito of met gewiste cookies, detecteer bots en vervalste apparaten, en bevestig elk resultaat op je server voordat je actie onderneemt.
Bekijk wat wij over deze browser kunnen zien. Het uitvoeren van de demo stuurt de signalen naar ons en slaat een ID op.
In de API voor je code en in het dashboard voor wie de zaak beoordeelt.
Nieuwe events verschijnen binnen seconden, met de bezoeker, de external ID en het tijdstip.
Automatisering, headless browsers, software rendering, vervangen natives en tijdzones die niet overeenkomen.
Een apparaat toont elke external ID die erop is gezien, zodat multi-accounts opvallen.
De browser krijgt alleen een request ID. Je server haalt het event op met zijn secret key en beslist.
Verwijder een external ID en alle bijbehorende events en apparaatkoppelingen verdwijnen.
Geen abonnementen of verplichtingen. Na elke factureringsperiode betaal je voor de gebruikte identificaties, elk met alle signalen, de server-API en het dashboard.
Bekijk abonnementen en alle prijzen →Getoonde prijzen zijn exclusief toepasselijke belastingen of kosten (bijv. btw).
De browser krijgt een request ID, je server krijgt het volledige verhaal.
Eén script-tag via de api, of een getypeerde ES-module via npm.
<script src="https://zenocdn.net/agent.js"></script>
<script>
const agent = FingerprintAgent.start({ endpoint: 'https://zenocdn.net', publicKey: 'pk_...' })
</script>Start het als het formulier opent, krijg een request ID zodra de gebruiker inlogt.
// After a successful login:
const { requestId } = await agent.get({ externalId: user.id })
await fetch('/api/login/verify', { method: 'POST', body: JSON.stringify({ requestId }) })Lees het event met de secret key en beslis. De browser ziet nooit een vlag.
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 en DELETE op /events, /visitors en /external-ids, met één header.
pk_- en sk_-prefixen met checksum; secret keys worden als hash opgeslagen en één keer getoond.
Filter op visitor, external ID, IP, flag, bot verdict, risk score en datum.
DELETE /external-ids/{id} verwijdert alle gebeurtenissen en apparaatkoppelingen van dat ID.
Ja. De agent is een gewone ES-module zonder dependencies, dus hij draait in React, Svelte, Vue of zonder framework. Zonder bundler laad je /agent.js en gebruik je de globale FingerprintAgent.
Nee. Identieke apparaten, zoals hetzelfde telefoonmodel met hetzelfde OS, hebben dezelfde fingerprint, dus een browser zonder opgeslagen ID kan overeenkomen met de visitor ID van een ander. Beschouw dit als een aanwijzing om samen met de external IDs, flags en verbinding te beoordelen.
Meer dan 100 apparaatsignalen: canvas, WebGL, audio, lettertypen, scherm, hardware, locale, plug-ins en automatiseringsresten. Leest nooit WebRTC-netwerkadressen.
Identificatie pauzeert stilletjes: de agent geeft capped terug in plaats van een request ID, zodat gebruikers nooit een fout zien en je login blijft werken. Stel budgetten in per dag, week of maand, en een uitgavenlimiet per key. Niets anders is ratelimiet-gebonden.
Je krijgt je geld terug. Niet tevreden in de eerste drie maanden na je eerste betaalde factuur? We betalen alles terug wat je in die periode hebt betaald, zonder vragen.
In de EU, in AWS eu-west-1. Gebeurtenissen worden bewaard totdat je ze verwijdert, of 1, 3 of 5 jaar als je dat kiest, en één API-aanroep wist alles wat is opgeslagen voor een van je gebruikers.
Betaal naarmate je gebruikt, alle signalen inbegrepen.