Layer 2 · In-App Protection
Native iOS, Android, and Flutter SDK that scans every install, session, and conversion event against the same rule engine that powers ClickTrust's web protection — plus 24+ in-app-specific traps for jailbreak, emulators, repackaged apps, click-injection, and click farms. One workspace, one fraud score, three layers of paid media protected.
What it catches
Mobile traffic doesn't have referers, doesn't have browser fingerprints, and runs in a sandboxed app process. That breaks every web-only fraud tool. Our SDK reads the signals your OS does expose, then runs them through trap categories tuned for in-app behaviour.
Rooted (Magisk, SuperSU), jailbroken, Frida instrumentation, Xposed/LSPosed hooks, debugger attached, repackaged/resigned bundle.
Identical hardware clusters, AAID/IDFA reset velocity, virtual sensor patterns, headless WebView identifiers.
Zero-dwell sessions, orientation-locked click bursts, click-without-gesture, no foreground time before conversion.
Below 50%/1s viewability threshold, background ad serves, mostly-hidden WebView, ad stacking inside the WebView.
Android package in iOS UA, WebView/Chrome version mismatch, suspicious X-Requested-With, known-fraud apps.
Native VPN detection, datacenter IP, carrier-grade NAT awareness, geo-timezone mismatch from emulator farms.
How it works
Add the native SDK to your iOS, Android, or Flutter project (one Gradle line / one CocoaPod / one pubspec line). Configure your account ID + SDK secret. Every cold-start, foreground, and event you fire from ClickTrust.trackEvent() hits our pipeline — HMAC-signed, batched, and deduplicated.
purchase, login, signup, add_to_cart, …externalId for idempotent server-to-server reconciliationimport 'package:clicktrust_flutter/clicktrust.dart';
await Clicktrust.configure(
accountId: 42,
trackingId: 'abcd1234',
sdkSecret: const String.fromEnvironment('CT_SDK_SECRET'),
);
// Auto-events fire on configure(): install,
// first_open, session_start, update.
//
// Custom events:
await Clicktrust.trackEvent(
'purchase',
amount: 99.0,
currency: 'USD',
externalId: 'order_2026_4123',
);Built for advertisers, not networks
Filter the Traffic page to fraud-only and learn what's draining your CPI. No more arguing with networks about install quality.
When the SDK catches a rooted device or click farm cluster, the device-ID hash auto-lands on your in-app blocklist. Export to CSV / PDF for evidence.
If you also run web campaigns or affiliate offers, all three layers share one workspace, one fraud score, and one set of reports.
FAQ
Pair In-App Protection with Lite-MMP attribution to see which affiliate, source, or network is sending the fraud — and stop their postback before payout.