모든 요청 뒤의 기기를 파악하세요
브라우저 에이전트, 서버 API, 대시보드. 재방문 기기를 인식하고, 봇과 스푸핑을 탐지하여 자체 서버에서 결정하세요.
식별 작동 방식
브라우저에서 결정까지 한 번의 왕복으로.
수집
브라우저 에이전트는 백그라운드에서 100개 이상의 기기 신호를 수집하고 약 1KB의 리포트를 전송합니다.
에이전트가 수집하는 항목 →식별
서버는 안정적인 신호를 visitor ID로 변환하고, 재방문 기기를 인식하며 smart signals를 설정합니다.
플래그와 점수 →결정
브라우저는 request ID만 받습니다. 서버가 secret key로 전체 이벤트를 읽고 결정합니다.
서버에서 읽으세요 →
네 부분, 하나의 이벤트
각각 고유한 페이지가 있으며, 함께 서버가 읽는 이벤트를 구성합니다.
- 식별 시크릿 모드, 쿠키 삭제, 브라우저 업데이트, 새 계정에도 유지되는 visitor ID이며, 순서대로 매칭하고 신뢰도를 정직하게 알려줍니다.
- 스마트 시그널 봇, VPN, Tor, incognito, 변조, 가상 머신을 모든 이벤트에 플래그로 표시하며, 위험 점수와 봇 판정은 서버에서 계산됩니다.
- 대시보드 들어온 이벤트, 이벤트별 페이지, 기기를 공유하는 external ID, webhook 전송 및 이번 달 사용량.
- 통합 헤더 하나로 쓰는 단순한 REST, 타입이 지정된 Node 클라이언트, MCP 서버, 서명된 webhook, 커스텀 도메인.
서버에서 한 번의 호출
브라우저가 서버에 request ID를 전달합니다. secret key로 GET 요청 한 번이면 전체 이벤트를 받을 수 있으며, 플래그는 브라우저에 전달되지 않습니다.
- Visitor ID
- 돌아오는 방식과 상관없는 기기.
- 위험 점수
- 감지된 신호들의 가중치를 합한 값으로, 시작점이 되는 숫자입니다.
- 봇
- bad, good 또는 not_detected.
- 감지된 신호
- 발동된 모든 스마트 시그널.
const event = await fetch(`https://api.zeno.id/events/${requestId}`, {
headers: { 'Auth-API-Key': process.env.FP_SECRET_KEY },
}).then(response => response.json())
event.visitorId // "q1yLOPpzvOstEQCFQQxE"
event.riskScore // 5
event.bot // "not_detected"
event.detected // ["vpn", "incognito"]오늘 첫 방문자를 식별하세요
에이전트를 설치하고 서버에서 이벤트를 읽으면 끝입니다.