Seatext library / BotRefund evidence

Common Mistakes in CPU Concurrency Detection for Bot Protection

CPU concurrency detection is a useful signal but it fails when teams treat it as a verdict, use static rules, or ignore device and browser differences. This article explains the most common mistakes and...

Built for advertisers who need clear, refund-ready traffic evidence.

CPU concurrency detection checks whether the number of logical processors a browser reports matches what a real session should show. It is a common signal in bot protection. Yet many implementations get it wrong. The biggest mistake is treating a mismatch as proof of automation. A single anomaly is never a verdict. It is only a clue that needs context.

This article explains the most frequent errors teams make when using concurrency in bot detection. It also shows how to build a more reliable system by combining multiple independent signals. The guidance is based on how a mature detection tool like BotRefund handles this evidence.

Why CPU Concurrency Detection Is Hard

Concurrency values come from the browser's navigator.hardwareConcurrency property. They reflect how many CPU threads the browser can use. Real devices report numbers like 4, 8, or 16. Virtual machines and spoofed profiles might report 1, 2, or even 64. The mismatch can be a clue. But it is not simple.

Many real users produce unusual numbers. Corporate proxies, remote desktops, virtual desktops, privacy extensions, and unusual hardware all change the reported value. A game console, a low-end phone, or a cloud VM can show a concurrency that looks odd. As BotRefund notes, a single anomaly is not a bot verdict.

The challenge is to use concurrency without overreacting. You need to compare it against other evidence like graphics, fonts, audio, and behavior. Only when many signals align can you act.

Mistake 1: Treating a Concurrency Mismatch as a Verdict

The most common error is labeling a visitor a bot solely because their concurrency value looks wrong. A user on a corporate network or a virtual machine may legitimately report a low number. Privacy tools can blur or hide hardware details. A mismatch alone is not proof.

BotRefund calls this the CPU Concurrency Lie check. It looks for a mismatch that a real browsing session does not normally create. But it does not treat that mismatch as a verdict. It is one of 106 independent checks. The system cross-checks it against browser, network, device, and behavior data.

When you see a concurrency anomaly, treat it as a starting point. Ask more questions. Check for other signals like superhuman input speed or missing pointer movement. Do not block a visitor on this alone.

Mistake 2: Ignoring Device and Environment Differences

Concurrency numbers depend heavily on the device and operating system. A low-cost Android phone may report 4 threads. An old laptop might report 2. A modern gaming PC can report 16 or more. Virtual machines often report fewer threads than the host hardware.

If you set a single threshold, you will create false positives. For example, assuming that anything below 4 is suspicious would block users with older devices or restricted cloud desktops. Instead, you need to calibrate expectations across a range of devices and network conditions.

BotRefund handles this by using concurrency as one piece of evidence, not a fixed rule. It combines it with graphics, fonts, and audio. That way, a low concurrency on a low-end device is not enough to flag a bot if everything else looks human.

Mistake 3: Relying on a Single Signal

Concurrency alone is weak. Bots can easily spoof the reported value. A script can set it to any number. Real users can also produce unusual numbers accidentally. So concurrency cannot stand alone.

Effective detection cross-checks concurrency against other independent evidence. BotRefund uses 106 checks, including GPU fingerprinting, font availability, audio context, and behavior patterns. Each signal adds one objective fact. Only the complete pattern matters.

If your system relies solely on concurrency, it will miss sophisticated bots and generate too many false positives. A bot that spoofs a normal concurrency value will pass. A human behind a VM might get blocked. You need multiple signals that support the same story.

Mistake 4: Using Static Thresholds

Browsers and devices change rapidly. New OS versions report different concurrency values. Bot frameworks evolve to mimic real hardware. If your thresholds are static, they become outdated quickly.

A rule that worked last year may flag normal users now. For example, if you assumed that all humans report 8 or more threads, you might block users with new efficiency modes or containerized browsers. The opposite also happens: bots can learn to report a value that your rule accepts.

You need to review and update your detection parameters regularly. Use fresh traffic data to see how concurrency values distribute across real users. Watch how new browser releases affect the numbers. Without upkeep, your detection decays into noise.

Mistake 5: Overlooking Legitimate Tools and Virtual Machines

Privacy tools, corporate VPNs, and remote desktops alter hardware fingerprints. A user accessing your site from a VM or a cloud desktop may show a concurrency mismatch. They are still human. But your system might block them.

This is a serious false positive problem. It can hurt real customers and destroy trust. Think of a bank customer using a corporate terminal or a business traveler on a remote desktop. If your concurrency check triggers, they might lose access to their account.

Build a list of known benign environments. For example, you can allow certain VM vendors or remote desktop IP ranges. Then use concurrency as a soft signal rather than a hard block. This reduces collateral damage while still catching deliberate spoofing.

Mistake 6: Neglecting to Log and Review Detection Events

Many teams set up concurrency detection and never look at the results. They do not log when a mismatch occurs or compare it with other signals. As a result, they cannot learn from false positives or tune their rules.

You should log every concurrency value along with the other signals. Review cases where a mismatch coincided with suspicious behavior. Also check cases where the mismatch was harmless. Use this data to adjust your scoring.

For example, if you see that many known humans have a mismatch because of a common browser extension, you can whitelist it. Without logging, you are flying blind.

Mistake 7: Not Updating Detection Logic

Bots evolve. New frameworks appear that can emulate real concurrency values. If you do not update your detection logic, it will become stale. A bot that was caught last year might bypass your system this year.

You need to monitor new bot techniques and adjust your checks. For concurrency, this means watching how scam frameworks report CPU numbers. It also means tracking changes in browser APIs. For example, some browsers now randomize or restrict hardwareConcurrency to protect privacy. That can break old rules.

Set a schedule to review and retrain your detection model. Use fresh data from both real users and bot tests. This keeps your system accurate.

How to Build a Robust Concurrency Detection System

Start by logging concurrency values alongside other signals. Look for patterns where a concurrency mismatch coincides with suspicious behavior like superhuman input speed or missing pointer movement. Then check whether the same anomaly appears for known human users, especially those on unusual networks.

Next, build a scoring system. Assign each independent signal a weight. Combine them into a confidence score. Concurrency should be one of many inputs, not a sole determinant.

BotRefund does exactly this. It sends the concurrency signal into a prediction AI. The AI evaluates the complete picture across browser, network, device, and behavior evidence. It does not trust a raw rule. Instead, it weighs how all signals fit together. That is why it claims 99% accuracy.

Finally, test your system on a diverse sample of real users and manual bot sessions. Adjust thresholds until false positives drop to an acceptable level. If you lack the patience or data for this calibration, consider a commercial solution that already does the heavy lifting.

Key Facts About CPU Concurrency Detection

FactDetail
Independent evidenceConcurrency adds one objective fact about a visit, but it is not a standalone verdict.
Cross-checked contextOther signals (graphics, fonts, audio, behavior) must support the same story before you act.
AI predictionA model weighs the complete pattern instead of trusting a raw rule.
Number of checksBotRefund uses 106 independent checks, including CPU Concurrency Lie.
Privacy toolsThey can produce false mismatches for genuine people.

These principles come directly from how a mature detection system like BotRefund handles concurrency. The takeaway: a robust system never hinges on a single data point.

Limitations and Decision Criteria

CPU concurrency detection is not a magic bullet. It cannot identify every bot, especially advanced ones that perfectly emulate real hardware. It also produces false positives for legitimate users behind virtual machines or privacy tools.

Use concurrency only as part of a layered strategy. Combine it with behavioral, network, and device checks. Also give your system a way to recover from false positives, such as a captcha or manual review.

When you see a concurrency mismatch, ask three questions. First, does the mismatch correlate with other suspicious signals? Second, is the user on a known benign environment? Third, does your data show many false positives for similar patterns? If the answers point to a bot, act. Otherwise, let it pass.

Do not expect concurrency to work in isolation. It is a clue, not a verdict.

Frequently Asked Questions

What exactly is CPU concurrency detection?

It is a technique that reads the reported number of logical processors or threads in a browser. It compares that number to what a typical human device would show. A large mismatch can hint at a virtual machine or a spoofed profile.

Can a real user ever show a concurrency mismatch?

Yes. Corporate networks, virtual desktops, privacy browsers, and unusual hardware can all produce numbers that seem off. That is why a mismatch alone is never a reliable bot signal.

Should I block a visitor immediately if concurrency looks wrong?

No. Blocking based on concurrency alone will hurt genuine users. Wait until you have corroborating evidence from other signals, or use a probability score rather than a hard rule.

How can I reduce false positives?

Include more independent signals, build exemptions for known benign environments, and continuously retrain your model on new traffic. A single heuristic will always be brittle.

Does BotRefund rely only on concurrency?

No. BotRefund uses CPU Concurrency Lie as one of 106 independent checks. It cross-checks this signal against browser, network, device, and behavior data, then feeds everything into an AI model that weighs the full pattern.

How often should I update my concurrency detection logic?

Review it every few months or after major browser updates. Bot frameworks change constantly, so your rules need to adapt.

What is the most important takeaway for my team?

Treat concurrency as evidence, not a verdict. Build a system that combines multiple signals and learns from real traffic. That is the only way to catch bots without punishing real people.

Further reading and comparison sources

These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.

Further reading and comparison sources

These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.

Learn more

Visit the website for more information.

Learn more