Zeno
Entrar
Grátis … identificações por mês · Depois, pague conforme o uso

Identificação de dispositivos
para cada Cadastrar

Reconheça um navegador que retorna mesmo no modo anônimo ou com cookies apagados, detecte bots e dispositivos falsificados e confirme cada resultado no seu servidor antes de agir.

Veja o que podemos descobrir sobre este navegador. Executar a demo envia seus sinais para nós e armazena um ID nele.

O que cada identificação revela

Na API para o seu código e no painel para quem analisa o caso.

Cada identificação, ao vivo

Novos eventos aparecem em segundos, com o visitante, o external ID e quando ocorreu.

Bots e spoofing sinalizados

Automação, navegadores headless, renderização por software, nativos substituídos e fusos horários divergentes.

Dispositivos compartilhados detectados

Um dispositivo lista cada external ID vista nele, para que contas múltiplas se destaquem.

Verifique no seu backend

O navegador recebe apenas um request ID. Seu servidor busca o evento com a secret key e decide.

Esqueça um external ID em uma única chamada

Exclua um external ID e todos os seus eventos e vínculos de dispositivo são removidos.

Pague pelo uso

Sem planos nem compromissos. Após cada ciclo de faturamento, você paga pelas identificações usadas, cada uma com todos os sinais, a API do servidor e o painel.

Veja os planos e todos os preços →

Os preços exibidos não incluem impostos ou taxas aplicáveis (ex.: IVA).

Da instalação à verificação em três passos

O navegador recebe um request ID, seu servidor recebe todos os detalhes.

  1. 1

    Adicionar o agente

    Uma tag script servida pela api, ou um módulo ES tipado do 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

    Identifique no navegador

    Inicie ao abrir o formulário e obtenha um request ID quando o usuário fizer login.

    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

    Verifique no seu servidor

    Leia o evento com a secret key e decida. O navegador nunca vê uma 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, sem dependência de SDK

    GET, PATCH e DELETE em /events, /visitors e /external-ids, com um único header.

  • Chaves difíceis de vazar

    Prefixos pk_ e sk_ com checksum; as secret keys são armazenadas como hash e exibidas uma única vez.

  • Pesquise todos os eventos

    Filtre por visitante, external ID, IP, flag, veredito de bot, pontuação de risco e data.

  • Apague um external ID em uma única chamada

    DELETE /external-ids/{id} remove todos os eventos e vínculos de dispositivo desse ID.

Perguntas

Funciona com o meu framework? +

Sim. O agente é um módulo ES simples sem dependências, então roda em React, Svelte, Vue ou sem framework. Sem bundler, carregue /agent.js e use o global FingerprintAgent.

Um visitor ID compartilhado prova múltiplas contas? +

Não. Dispositivos idênticos, como o mesmo modelo de celular no mesmo SO, têm o mesmo fingerprint, então um navegador sem o ID armazenado pode coincidir com o visitor ID de outro. Trate isso como uma pista para revisar junto com os external IDs, flags e a conexão.

O que o agente coleta? +

Mais de 100 sinais do dispositivo: canvas, WebGL, áudio, fontes, tela, hardware, locale, plugins e vestígios de automação. Nunca lê endereços de rede WebRTC.

O que acontece com um orçamento ou o limite de uso? +

A identificação pausa silenciosamente: o agente retorna capped em vez de um request ID, então seus usuários nunca veem um erro e seu login continua funcionando. Defina orçamentos por dia, semana ou mês e um limite de gastos por chave. Nada mais tem limite de taxa.

E se não for para mim? +

Você recebe seu dinheiro de volta. Não ficou satisfeito nos primeiros três meses após a primeira fatura paga? Reembolsamos tudo o que foi pago nesse período, sem perguntas.

Onde os dados são armazenados? +

Na UE, na AWS eu-west-1. Os eventos são mantidos até você excluí-los ou por 1, 3 ou 5 anos, se escolher isso, e uma única chamada de API apaga tudo armazenado para um dos seus usuários.

Sua primeira identificação, em minutos

Pague conforme o uso, todos os sinais incluídos.