Jede Identifizierung, live
Neue Ereignisse erscheinen in Sekunden, mit Besucher, externer ID und Zeitpunkt.
Erkennen Sie einen wiederkehrenden Browser selbst im Inkognitomodus oder bei gelöschten Cookies, erkennen Sie Bots und gefälschte Geräte, und bestätigen Sie jedes Ergebnis auf Ihrem Server, bevor Sie handeln.
Sehen Sie, was wir über diesen Browser herausfinden können. Die Demo sendet seine Signale an uns und speichert eine ID darin.
In der API für deinen Code und im Dashboard für die prüfende Person.
Neue Ereignisse erscheinen in Sekunden, mit Besucher, externer ID und Zeitpunkt.
Automatisierung, Headless-Browser, Software-Rendering, ersetzte Natives und abweichende Zeitzonen.
Ein Gerät listet jede external ID auf, die darauf gesehen wurde, damit Mehrfachkonten auffallen.
Der Browser erhält nur eine request ID. Dein Server holt das Event mit seinem secret key ab und entscheidet.
Lösche eine external ID, dann sind alle Events und Geräteverknüpfungen weg.
Keine Tarife oder Verpflichtungen. Nach jedem Abrechnungszyklus zahlst du für die genutzten Identifikationen, jeweils mit allen Signalen, der Server-API und dem Dashboard.
Pläne und alle Preise ansehen →Angezeigte Preise enthalten keine anwendbaren Steuern oder Gebühren (z. B. MwSt.).
Der Browser erhält eine Request-ID, dein Server erhält das vollständige Bild.
Ein Script-Tag von der API oder ein typisiertes ES-Modul von npm.
<script src="https://zenocdn.net/agent.js"></script>
<script>
const agent = FingerprintAgent.start({ endpoint: 'https://zenocdn.net', publicKey: 'pk_...' })
</script>Starte es beim Öffnen des Formulars und erhalte eine request ID, sobald sich der Nutzer anmeldet.
// After a successful login:
const { requestId } = await agent.get({ externalId: user.id })
await fetch('/api/login/verify', { method: 'POST', body: JSON.stringify({ requestId }) })Lies das Event mit dem secret key und entscheide. Der Browser sieht nie ein 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 und DELETE auf /events, /visitors und /external-ids, mit einem Header.
pk_- und sk_-Präfixe mit Prüfsumme; Secret Keys werden als Hash gespeichert und nur einmal angezeigt.
Filtern nach Besucher, external ID, IP, Flag, Bot-Urteil, Risikoscore und Datum.
DELETE /external-ids/{id} entfernt alle Ereignisse und Geräteverknüpfungen dieser ID.
Ja. Der Agent ist ein einfaches ES-Modul ohne Abhängigkeiten und läuft in React, Svelte, Vue oder ganz ohne Framework. Ohne Bundler lade /agent.js und nutze das globale FingerprintAgent.
Nein. Identische Geräte, etwa dasselbe Handymodell mit demselben OS, haben denselben Fingerprint, daher kann ein Browser ohne gespeicherte ID einer visitor ID eines anderen zugeordnet werden. Behandle das als Hinweis, den du zusammen mit external IDs, flags und der Verbindung prüfst.
Über 100 Gerätesignale: Canvas, WebGL, Audio, Schriften, Bildschirm, Hardware, Gebietsschema, Plugins und Automatisierungsspuren. WebRTC-Netzwerkadressen liest er nie.
Identifizierung pausiert leise: Der Agent liefert capped statt einer Request ID, sodass Nutzer keine Fehler sehen und dein Login weiterhin funktioniert. Lege Budgets pro Tag, Woche oder Monat fest sowie ein Ausgabenlimit pro Key. Sonst gibt es kein Rate Limit.
Sie erhalten Ihr Geld zurück. Nicht zufrieden in den ersten drei Monaten nach Ihrer ersten bezahlten Rechnung? Wir erstatten alles, was Sie in dieser Zeit bezahlt haben, ohne Fragen.
In der EU, in AWS eu-west-1. Ereignisse werden gespeichert, bis du sie löschst, oder 1, 3 oder 5 Jahre, wenn du das wählst. Mit einem API-Aufruf werden alle gespeicherten Daten eines deiner Nutzer gelöscht.
Zahlung nach Verbrauch, alle Signale inklusive.