Zeno
Log ind
Gratis … identifikationer om måneden · Derefter betal efter forbrug

Enhedsidentifikation
til hver Tilmeld dig

Genkend en browser, der vender tilbage, selv i inkognitotilstand eller når cookies er slettet, fang bots og forfalskede enheder, og bekræft hvert resultat på din server, før du handler.

Se, hvad vi kan finde ud af om denne browser. Kørsel af demoen sender dens signaler til os og gemmer et ID i den.

Hvad hver identifikation fortæller dig

I API'en til din kode og i dashboardet for den, der gennemgår sagen.

Hver identifikation, live

Nye hændelser vises inden for få sekunder med besøgende, external ID og tidspunkt.

Bots og spoofing markeret

Automatisering, headless-browsere, softwarerendering, erstattede natives og tidszoner, der ikke matcher.

Delte enheder vises

En enhed viser alle external ID'er set på den, så multikonti skiller sig ud.

Verificer på din backend

Browseren får kun et request ID. Din server henter eventet med sin secret key og beslutter.

Glem et external ID med ét kald

Slet et external ID, så fjernes alle dets hændelser og enhedslinks.

Betal efter forbrug

Ingen planer eller binding. Efter hver faktureringsperiode betaler du for de brugte identifikationer, hver med alle signaler, server-API'et og dashboardet.

Se planer og alle priser →

De viste priser inkl. ikke gældende skatter eller gebyrer (f.eks. moms).

Fra installation til verificeret i tre trin

Browseren får et request ID, din server får hele historien.

  1. 1

    Tilføj agenten

    Ét script-tag leveret af api'et eller et typet ES-modul fra npm.

    login.html
    <script src="https://zenocdn.net/agent.js"></script>
    <script>
    	const agent = FingerprintAgent.start({ endpoint: 'https://zenocdn.net', publicKey: 'pk_...' })
    </script>
  2. 2

    Identificer i browseren

    Start den, når formularen åbnes, og få et request ID, når brugeren logger ind.

    login.js
    // After a successful login:
    const { requestId } = await agent.get({ externalId: user.id })
    
    await fetch('/api/login/verify', { method: 'POST', body: JSON.stringify({ requestId }) })
  3. 3

    Verificér på din server

    Læs hændelsen med secret key og beslut. Browseren ser aldrig et flag.

    login.server.ts
    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')
    }
  • REST, ingen SDK lock-in

    GET, PATCH og DELETE på /events, /visitors og /external-ids, med én header.

  • Nøgler, der er svære at lække

    pk_- og sk_-præfikser med checksum; secret keys gemmes som hash og vises kun én gang.

  • Søg i alle hændelser

    Filtrer efter visitor, external ID, IP, flag, bot verdict, risk score og dato.

  • Slet et external ID med ét kald

    DELETE /external-ids/{id} fjerner alle hændelser og enhedslinks for dette ID.

Spørgsmål

Virker det med mit framework? +

Ja. Agenten er et almindeligt ES-modul uden afhængigheder, så den kører i React, Svelte, Vue eller helt uden framework. Uden bundler kan du indlæse /agent.js og bruge den globale FingerprintAgent.

Er et delt visitor ID bevis på multikonti? +

Nej. Identiske enheder, som samme telefonmodel med samme OS, har samme fingerprint, så en browser uden sit gemte ID kan matches med en anden browsers visitor ID. Behandl det som et spor, der skal gennemgås sammen med external IDs, flags og forbindelsen.

Hvad indsamler agenten? +

Over 100 enhedssignaler: canvas, WebGL, lyd, skrifttyper, skærm, hardware, locale, plugins og spor af automatisering. Læser aldrig WebRTC-netværksadresser.

Hvad sker der ved et budget eller forbrugsgrænsen? +

Identifikation pauser stille: agenten returnerer capped i stedet for et request ID, så dine brugere aldrig ser en fejl, og dit login fortsat virker. Angiv budgetter pr. dag, uge eller måned samt en udgiftsgrænse pr. nøgle. Intet andet er hastighedsbegrænset.

Hvad hvis det ikke er noget for mig? +

Du får pengene tilbage. Ikke tilfreds inden for de første tre måneder efter din første betalte regning? Vi refunderer alt, du har betalt i den periode, uden spørgsmål.

Hvor opbevares dataene? +

I EU, i AWS eu-west-1. Hændelser gemmes, indtil du sletter dem, eller i 1, 3 eller 5 år, hvis du vælger det, og ét API-kald sletter alt, der er gemt for en af dine brugere.

Din første identifikation, på få minutter

Betal efter forbrug, alle signaler inkluderet.