Zeno
Accedi
Gratis … identificazioni al mese · Poi, paga in base al consumo

Identificazione dei dispositivi
per ogni Registrati

Riconosci un browser che torna anche in incognito o con i cookie cancellati, individua bot e dispositivi falsificati e conferma ogni risultato sul tuo server prima di agire.

Scopri cosa possiamo rilevare su questo browser. Eseguendo la demo, i suoi segnali vengono inviati a noi e viene salvato un ID al suo interno.

Cosa ti dice ogni identificazione

Nell'API per il tuo codice e nella dashboard per chi esamina il caso.

Ogni identificazione, in tempo reale

I nuovi eventi appaiono in pochi secondi, con il visitatore, l'external ID e l'orario.

Bot e spoofing rilevati

Automazione, browser headless, rendering software, nativi sostituiti e fusi orari non corrispondenti.

Dispositivi condivisi rilevati

Un dispositivo elenca ogni external ID rilevato, così i multi account risaltano.

Verifica sul tuo backend

Il browser riceve solo un request ID. Il tuo server recupera l'evento con la sua secret key e decide.

Dimentica un external ID con una sola chiamata

Elimina un external ID e tutti i suoi eventi e collegamenti ai dispositivi vengono rimossi.

Paga in base all'uso

Nessun piano o impegno. Dopo ogni ciclo di fatturazione paghi le identificazioni usate, ciascuna con tutti i segnali, l'API server e la dashboard.

Vedi piani e tutti i prezzi →

I prezzi indicati non includono tasse o commissioni applicabili (es. IVA).

Dall'installazione alla verifica in tre passaggi

Il browser riceve un request ID, il tuo server riceve tutti i dettagli.

  1. 1

    Aggiungi l'agente

    Un tag script fornito dall'api, o un modulo ES tipizzato da 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

    Identifica nel browser

    Avvialo all'apertura del form, ottieni un request ID quando l'utente accede.

    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

    Verifica sul tuo server

    Leggi l'evento con la secret key e decidi. Il browser non vede mai un 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, nessun lock-in SDK

    GET, PATCH e DELETE su /events, /visitors e /external-ids, con un solo header.

  • Chiavi difficili da far trapelare

    Prefissi pk_ e sk_ con checksum; le secret key sono salvate come hash e mostrate una sola volta.

  • Cerca ogni evento

    Filtra per visitatore, external ID, IP, flag, verdetto bot, punteggio di rischio e data.

  • Elimina un external ID con una sola chiamata

    DELETE /external-ids/{id} rimuove tutti gli eventi e i collegamenti dispositivo di quell'ID.

Domande

Funziona con il mio framework? +

Sì. L'agent è un semplice modulo ES senza dipendenze, quindi funziona con React, Svelte, Vue o senza framework. Senza bundler, carica /agent.js e usa il globale FingerprintAgent.

Un visitor ID condiviso è prova di multi-account? +

No. Dispositivi identici, come lo stesso modello di telefono con lo stesso OS, hanno lo stesso fingerprint, quindi un browser senza il suo ID salvato può corrispondere al visitor ID di un altro. Consideralo una pista da verificare insieme agli external ID, ai flag e alla connessione.

Cosa raccoglie l'agent? +

Oltre 100 segnali del dispositivo: canvas, WebGL, audio, font, schermo, hardware, locale, plugin e tracce di automazione. Non legge mai gli indirizzi di rete WebRTC.

Cosa succede con un budget o al limite di utilizzo? +

L'identificazione si mette in pausa silenziosamente: l'agente risponde con capped invece di un request ID, quindi i tuoi utenti non vedono mai errori e il login continua a funzionare. Imposta budget giornalieri, settimanali o mensili e un limite di spesa per chiave. Nient'altro è soggetto a rate limit.

E se non fa per me? +

Ti rimborsiamo. Non sei soddisfatto nei primi tre mesi dopo la prima fattura pagata? Ti restituiamo tutto quanto pagato in quel periodo, senza domande.

Dove sono archiviati i dati? +

Nell'UE, in AWS eu-west-1. Gli eventi vengono conservati finché non li elimini, oppure per 1, 3 o 5 anni se scegli questa opzione, e una sola chiamata API cancella tutti i dati memorizzati per uno dei tuoi utenti.

La tua prima identificazione, in pochi minuti

Paghi in base all'uso, tutti i segnali inclusi.