Seatext library / BotRefund evidence

Best Bot Detection Signals for Mobile Apps: Decision Criteria

The best mobile bot detection signals combine device fingerprinting, API call patterns, touch gestures, and behavioral biometrics. No single signal is reliable; you need a cross-checked set that works on phones, where memory, CPU,...

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

Mobile apps need bot detection signals that match how people actually use phones. The best signals are device fingerprinting, API call patterns, touch gestures, and behavioral biometrics. These four work together to separate humans from bots better than any single check.

Unlike web browsers, mobile apps don't run JavaScript pages in the same way, so you can't rely on browser DOM checks. Instead, you capture what happens on the device and in the API traffic. The goal is to build a composite picture from independent, hard-to-spoof signals.

Why Mobile Bot Detection Is Different

Mobile apps are a prime target for credential stuffing, fake account creation, and API scraping. Bots hit your API directly, bypassing client-side checks entirely. The PTKD journal notes: "Bots hit your API directly to create fake accounts, stuff credentials, and scrape. Client-side checks don't stop them."

So the best mobile signals are server-verified and don't depend on what the app tells you. You need to validate device ID, usage patterns, and behavior against the server's view.

Four Signal Categories That Work on Mobile

1. Device Fingerprinting

This gathers identifiers from the device itself: OS version, screen resolution, installed fonts, battery level, sensor data (accelerometer, gyroscope). Bots often emulate a phone but struggle to reproduce accurate sensor variability. For example, a real phone tilts slightly when held, while emulators produce near-perfect straight-line data.

2. API Call Patterns

Bots hammer your API with predictable requests. Look for unusual sequences, unrealistic frequency, or timing that no human could replicate. A bot might call /login 100 times in 2 seconds, or submit a payment form without ever viewing the product page.

3. Touch Gestures

On a touchscreen, humans produce subtle variations in swipes, taps, and pinch gestures. Bots often generate straight, geometric strokes with no pressure or jitter. Checking for natural tremor, differences in tap duration, and curvature of swipes helps flag automation.

4. Behavioral Biometrics

This goes deeper than gestures—it looks at how a person holds the phone, types, scrolls, and even the micro-movements while reading. Behavioral biometrics build a profile over time. A sudden change in that pattern (e.g., typing speed jumps from 40 WPM to 400 WPM) suggests a bot takeover.

Trade-Offs: What Each Signal Catches and Misses

SignalCatchesMissesPrivacy / Cost
Device fingerprintingEmulator farms, spoofed IDsReal devices with privacy settingsLow privacy impact if hashed, but may need extra permissions
API call patternsBulk scraping, credential stuffingSlow, distributed botnetsMinimal privacy, needs server logs and analysis
Touch gesturesSimple automation, scripted swipesAI-driven bots that mimic human motionMedium privacy, requires continuous sampling
Behavioral biometricsAccount takeover, sophisticated botsGenuine users with unusual habitsHigh privacy sensitivity, longer testing period

No signal works alone. The source pack emphasizes: "A single anomaly is not a bot verdict." Privacy tools, travel, corporate networks, and unusual devices can produce unexpected behavior for real people. So cross-check each signal against independent evidence.

Decision Criteria: Which Signals Should You Choose?

Pick signals based on your app's risk profile and user experience tolerance.

  • If you have a login-heavy app (banking, ecommerce) — prioritize behavioral biometrics and device fingerprinting to stop account takeover.
  • If you have an API-heavy app (content, gaming) — focus on API call patterns and rate limiting to stop scraping.
  • If your user base is sensitive to privacy (health, location apps) — start with API patterns and touch gestures that don't require persistent device IDs.

The decision rule: use at least two independent signal categories, and never make a final decision on a single anomaly. Treat each signal as evidence and combine them with a scoring model.

How BotRefund's Approach Translates to Mobile

BotRefund's philosophy—using 106 independent checks and cross-validating them—applies directly to mobile. They state: "Accuracy comes from corroboration, not one browser tell." On mobile, you apply the same logic: gather independent facts about the device, the network, and the behavior. Their suspicious ports example shows how proxies and VPNs create mismatches that reveal bots.

For mobile, you would adapt their signals: check for VPN/emulator presence, analyze sensor data consistency, and look at app-level behavior like ghost clicks (taps with no intent). The source pack notes that "ghost click detection catches click activity that happens without the natural sequence of human intent" — this works on mobile too when translated to touch.

Key Facts About Mobile Bot Detection

FactDetail
Independent checksBotRefund uses 106 independent signals for their detection model (source S1).
Ad budget impactBot clicks steal up to 20% of Google and Meta ad budget (source S2).
Case study recoveryFinTrust recovered $140,000 in ad spend and saw a +18% conversion rate increase (source S5).
Accuracy claimBotRefund claims 99% accuracy through corroboration (source S1).

Limitations and When This Advice Doesn't Apply

These signals aren't perfect. Long-time battery tracking drains phones and may need opt-in. On heavily customized Android ROMs, device fingerprints change often. Privacy regulations like GDPR may restrict behavioral biometrics without consent.

If your app runs in a webview, some signals overlap with browser detection. If your app is offline (no server calls), API patterns won't work. In those cases, rely more on device fingerprinting and local heuristics.

Also note that AI-driven bots now mimic human behavior convincingly. The source pack warns: "Fraud networks are now using AI model generators to simulate human mouse curvature, click intervals, and page scrolling." The same applies to touch gestures, so you must continuously update your models.

Step-by-Step Implementation Guide

Step 1: Triage your app's attack surface

List where bots can enter: login, signup, payment, search, API endpoints. Rate each risk from low to critical.

Step 2: Choose two signal categories minimum

For most apps, start with device fingerprinting and API pattern analysis. Add touch gestures if you have a mobile-only interface.

Step 3: Instrument the app

Add SDKs that collect device info, sensor data, and interaction logs. Keep data hashed and anonymized where possible.

Step 4: Build a scoring model

Each signal produces a score. Combine them with weighted logic or a machine learning model. The source pack's approach: "Our model weighs the complete pattern instead of trusting a raw rule."

Step 5: Test and reset thresholds

Run a release with a small user group. Adjust thresholds to minimize false positives. Always keep a feedback loop from support tickets to rule tuning.

Frequently Asked Questions

Do I need a third-party SDK or can I build my own?

You can build simple rules yourself, but good detection needs many signals and frequent updates. A commercial SDK saves effort but costs money. Compare setup time vs. maintenance burden.

How much does mobile bot detection cost?

Pricing varies widely. Simple rate limiting is nearly free; enterprise behavioral biometrics can reach thousands per month. The source pack mentions pricing ranges from under $10,000/mo to over $1M/mo for ad-budget recovery services, but that's for ad fraud, not standard bot detection.

Will these signals slow down my app?

Well-implemented signals run in the background without blocking UI. Heavy sensor recording can drain battery, so sample intermittently. Test on low-end Android devices.

What about privacy laws?

Device fingerprinting and behavioral biometrics may be considered personal data. Get consent where required, and clearly disclose what you collect. Anonymize identifiers whenever possible.

How do I know if my current signals are working?

Track your bot-blocking rate and false-positive rate. A good baseline is less than 1% false positives. If you see a drop in account takeover incidents or scraped content, your signals are effective.

The bottom line: use a mix of independent, cross-checked signals. Start with device fingerprinting and API patterns, then add touch gestures and behavioral biometrics as you scale. Always treat each signal as evidence, not a verdict.

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