Zeno
Đăng nhập
Miễn phí … lượt nhận dạng mỗi tháng · Sau đó trả theo mức sử dụng

Nhận diện thiết bị
cho mọi Đăng ký

Nhận diện trình duyệt quay lại ngay cả ở chế độ ẩn danh hoặc khi cookie đã bị xóa, phát hiện bot và thiết bị giả mạo, đồng thời xác nhận từng kết quả trên máy chủ trước khi hành động.

Xem những gì chúng tôi có thể biết về trình duyệt này. Chạy demo sẽ gửi tín hiệu của nó đến chúng tôi và lưu một ID trong trình duyệt.

Mỗi lần nhận diện cho bạn biết gì

Trong API cho mã của bạn và trong bảng điều khiển cho người xem xét trường hợp.

Mọi lượt nhận dạng, trực tiếp

Sự kiện mới xuất hiện trong vài giây, kèm visitor, external ID và thời gian.

Đã gắn cờ bot và giả mạo

Tự động hóa, trình duyệt headless, kết xuất phần mềm, native bị thay thế và múi giờ không khớp.

Hiển thị thiết bị dùng chung

Thiết bị liệt kê mọi external ID đã xuất hiện trên đó, giúp nhận ra đa tài khoản.

Xác minh trên backend của bạn

Trình duyệt chỉ nhận request ID. Máy chủ của bạn lấy sự kiện bằng secret key và quyết định.

Xóa external ID chỉ với một lệnh gọi

Xóa external ID sẽ xóa mọi sự kiện và liên kết thiết bị của nó.

Trả theo mức dùng

Không gói cước, không ràng buộc. Sau mỗi chu kỳ thanh toán, bạn trả tiền cho các lượt nhận diện đã dùng, mỗi lượt gồm mọi tín hiệu, API máy chủ và dashboard.

Xem các gói và mọi mức giá →

Giá hiển thị chưa bao gồm thuế hoặc phí áp dụng (ví dụ: VAT).

Từ cài đặt đến xác minh trong ba bước

Trình duyệt nhận request ID, máy chủ của bạn nhận toàn bộ thông tin.

  1. 1

    Thêm agent

    Một thẻ script do api cung cấp, hoặc module ES có kiểu từ 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

    Nhận diện trong trình duyệt

    Khởi động khi biểu mẫu mở, nhận request ID khi người dùng đăng nhập.

    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

    Xác minh trên máy chủ của bạn

    Đọc sự kiện bằng secret key rồi quyết định. Trình duyệt không bao giờ thấy 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, không phụ thuộc SDK

    GET, PATCH và DELETE trên /events, /visitors và /external-ids, chỉ với một header.

  • Key khó bị rò rỉ

    Tiền tố pk_ và sk_ kèm checksum; secret key được lưu dưới dạng hash và chỉ hiển thị một lần.

  • Tìm kiếm mọi sự kiện

    Lọc theo visitor, external ID, IP, flag, bot verdict, risk score và ngày.

  • Xóa external ID chỉ trong một lần gọi

    DELETE /external-ids/{id} xóa mọi sự kiện và liên kết thiết bị của ID đó.

Câu hỏi

Có hoạt động với framework của tôi không? +

Có. Agent là ES module thuần, không phụ thuộc, nên chạy được trong React, Svelte, Vue hoặc không cần framework. Nếu không có bundler, hãy tải /agent.js và dùng FingerprintAgent toàn cục.

visitor ID dùng chung có chứng minh là đa tài khoản không? +

Không. Các thiết bị giống hệt nhau, như cùng mẫu điện thoại và cùng HĐH, có cùng fingerprint, nên trình duyệt không có ID đã lưu có thể trùng với visitor ID của trình duyệt khác. Hãy xem đây là manh mối cần kiểm tra cùng external IDs, flags và kết nối.

Agent thu thập những gì? +

Hơn 100 tín hiệu thiết bị: canvas, WebGL, âm thanh, phông chữ, màn hình, phần cứng, locale, plugin và dấu vết tự động hóa. Không bao giờ đọc địa chỉ mạng WebRTC.

Điều gì xảy ra khi đạt ngân sách hoặc giới hạn sử dụng? +

Nhận dạng tạm dừng âm thầm: agent trả về capped thay vì request ID, nên người dùng không thấy lỗi và đăng nhập vẫn hoạt động. Đặt ngân sách theo ngày, tuần hoặc tháng, và giới hạn chi tiêu cho mỗi khóa. Không có gì khác bị giới hạn tốc độ.

Nếu không phù hợp với tôi thì sao? +

Bạn sẽ được hoàn tiền. Không hài lòng trong ba tháng đầu tiên sau hóa đơn đã thanh toán đầu tiên? Chúng tôi hoàn lại toàn bộ số tiền bạn đã trả trong thời gian đó, không cần lý do.

Dữ liệu được lưu ở đâu? +

Tại EU, trên AWS eu-west-1. Sự kiện được lưu cho đến khi bạn xóa, hoặc 1, 3 hoặc 5 năm nếu bạn chọn, và một lệnh gọi API sẽ xóa toàn bộ dữ liệu được lưu cho một người dùng của bạn.

Lần nhận diện đầu tiên của bạn, chỉ trong vài phút

Trả theo mức dùng, bao gồm mọi tín hiệu.