Frogo Device Fingerprint is a dedicated, standalone toolkit designed to identify user devices and detect anomalies. It creates a persistent digital profile by collecting hardware and software characteristics difficult to spoof or reset.
The device intelligence module integrates with your existing business architecture / ecosystem, providing your team with deeper visibility into device‑level data.
How Device Fingerprinting Works
The installed script runs in the background, collecting signals to create stable and unique device fingerprints. It adds a persistent device‑level layer to your fraud analytics.

Fraud Types Prevented by Device Fingerprint
Uncover suspicious activity and respond to threats faster.
Industries Using Device Fingerprinting
Identify industry-specific risks, protect margins, improve conversion rates and spot high‑value players faster.
Integration
A lightweight JS script is installed in the page header. It automatically collects device and browser signals on page load or on specific events.
The system enriches data with IP intelligence, filters out noise, detects anomalies and runs ML models to create a unique device fingerprint.
You can see overall fingerprint analytics and configure flexible security policies from your dashboard.
Collection starts as soon as the page loads — ideal for login, registration and continuous risk checks.
Trigger collection on a specific action — such as checkout, password reset or promotion claim — using a manual send call.
Frogo Device Fingerprint analyzes 300+ device and environmental signals to uncover patterns that may indicate suspicious user activity. The final risk evaluation combines dozens of factors across multiple categories.

Get access to enterprise-grade device forensics on your own terms. Catch risks in real time without blocking legitimate users or disrupting operations.
-
How does pricing work?
Our billing is strictly transactional, on a per-request_id basis. You only pay for processed fingerprints and fully control volume: trigger fingerprint collection for every page visitor or only for specific user actions.
-
What problem does it solve?
It helps you recognize returning devices, detect automated behavior, and enrich risk decisions without relying solely on cookies or IPs. /// It gives you clarity on whether a returning user is legitimate or hiding behind a new identity using specific tools.
Typical use cases:
• Multi-accounting and bot detection
• Spoofing and environment tampering signals
• Session continuity across page loads
• Fraud investigation with device context
-
How does the system work at a high level?
1. The website embeds a snippet and loads the Fingerprint client.
2. The runtime gathers browser signals.
3. It calculates client-side identifiers and anomalies.
4. The backend enriches the request with environment data and resolves the request and device IDs. -
Is this the same as open-source FingerprintJS?
No. This is a proprietary solution built from scratch (client + backend) that includes:
• Server-side enrichment (IP, ISP, proxy)
• Device ID matching across sessions
• Client and backend anomaly detection
• Behavioral biometrics
• Backoffice-managed integrationsOpen-source libraries typically stop at a client-only hash and exclude this full identification pipeline.
-
How does private/incognito mode affect identifiers?
Private mode is detected as an anomaly. Because browser storage is temporary, session_id continuity may be weaker. Anti-fingerprinting features can also reduce identifier stability.
-
Do VPN or IP shifts break identification?
No. Changing a VPN or IP has a very low probability of breaking core device identification, while we can still link activity. Proxy / VPN signals are also available in backend fields (proxy_type, proxy_isp, and related).
-
What are anomalies?
Anomalies are client- or backend-detected signals indicating that the environment is automated, spoofed, inconsistent or high-risk. They are grouped into categories with boolean results, for example:
{
"ab": false,
"bot": true,
"collision": false,
"dev_tools": false,
"fp_evasion": false,
"input_anomaly": false,
"ip_manip": false,
"is_bot": false,
"locale_manip": false,
"net_anomaly": false,
"private_mode": true,
"rdp": true,
"spoofing": true,
"tampering": false,
"vm": true,
"vpn": false
} -
Does the product detect bots?
Yes. We detect bots and automated behavior using a combination of environment checks and behavioral biometrics.
-
Can it help with multi-accounting?
Yes. Multi‑accounting investigation is supported by stable device_id linkage across accounts combined with anomalies like private mode, spoofing, automation, and storage tampering. You define specific business rules on your backend or risk engine.
-
How are headless browsers detected (AI agents)?
The system analyzes JS runtime anomalies, missing APIs, and automated event sequences.
-
Can it detect VMs and cloud environments?
Yes. Virtualized environments (like AWS WorkSpaces or VMware) expose distinct CPU instructions, generic drivers, and software rendering. Our engine flags these anomalies when requests originate from non-standard hardware.
-
How are residential proxies and VPNs identified?
We combine network telemetry, TCP/IP fingerprinting, and RTT analysis. Conflicts between browser settings (like time zone or WebRTC) and IP geolocation, as well as matches with known data center structures, trigger proxy and VPN signals.
-
What is anti-detect spoofing mitigation?
Tools like Multilogin spoof canvas data and user agents. The backend flags micro-inconsistencies when signals violate physically possible combinations (e.g., an iOS user-agent with Windows rendering).
-
What is behavioral biometrics?
The Behavioral Biometry System collects interaction data (mouse clicks, taps, swipe/mouse data points) and sends it for analysis. It can also detect biometric anomalies for unnatural keyboard/touch patterns.
-
What personal data does the client collect?
The client-side script collects only browser and device attributes. The backend then adds network enrichment (IP, geolocation, ISP, and proxy classification).
It does not directly collect personally identifiable information (PII), such as names or emails. You can link these fingerprint identifiers to your own user records, but this association remains entirely under your control and compliance obligations.
-
Does it work on mobile browsers?
Yes. Chrome on Android and Chrome/Safari on iOS/iPadOS are covered in the compatibility matrix. Some modules may be partial or unsupported on specific platforms (e.g., browser extensions on iOS, detected apps mainly on Windows).
-
Does AdBlock break fingerprinting?
No. While some privacy tools may attempt to block generic scripts, our solution uses dedicated integration URLs and CDNs issued for your organization. Our fingerprinting is not influenced by AdBlock.
-
Does the script slow down the page?
No. The Fingerprint client loads asynchronously and never blocks HTML parsing or page paint. Fingerprint collection runs in the background. The public methods (window.aft.sid, window.aft.dfp, window.aft.send) are async and wait for readiness with a timeout (default up to 15000 ms). They do not freeze the UI thread, unlike synchronous blocking scripts.
-
Why place the script as high as possible in <head>?
1. Configuration and runtime discovery start early;
2. The session_id is created/restored early, so data gathering starts sooner.
3. By the time you need the device_id or backend_response, collection is already underway.Async loading removes the blocking render risk. Top placement is about starting early, not about running a heavy sync script. The later you insert it, the later the session, fingerprint, and device readiness arrive.
-
Gather first, process after an explicit call
Inserting the script early ensures that by the time the business calls `send()` (login, registration, payout, etc.), the fingerprint is already collected or nearly collected. This reduces latency on the critical step. Session is available earlier and independently of `send()`.
With **AUTO_SEND**, `send()` happens as part of the normal runtime flow; device id still appears only after a successful backend response.
-
What are the expected load times?
The processing speed depends on the user's internet connection. Our benchmarks show the full fingerprint response is typically ready in 0.5 to 1.5 seconds. Specific API wait timeouts are clearly defined in our documentation.