Application security feature

Mobile app emulator detection

Otukan tells physical phones apart from emulators, virtual spaces and scripted device farms, so you can shut down abuse at scale while your QA keeps working.

  • Android
  • iOS
  • Flutter
  • React Native
Emulated devices at scale is met at the environment checks boundary before it reaches the appEmulated devices at scaleEnvironment checksYour app
  • One attacker, not thousands

    Emulators and cloned instances let one person pose as a crowd of new users. Otukan exposes that multiplication at sign-up, rewards and payments.

  • Enforced where abuse lands

    You decide which flows need physical hardware: account creation, promotions or payments can be strict while browsing stays open.

  • Your server confirms

    Environment signals travel with each request, so your backend weighs them against account age, payment data and velocity before it decides.

Environments Otukan recognises

Select an environment to see how Otukan spots it, what the app does and what your team learns.

Android emulators

  1. Detect

    Otukan checks hardware properties, sensors and system traits that emulated Android images present differently from real handsets.

  2. Respond

    Sign-up, rewards or payments can be blocked in emulated sessions while other screens stay usable.

  3. Report

    An emulator signal travels with the request, so your backend can separate scripted accounts from genuine ones.

Virtual spaces and app cloners

  1. Detect

    Otukan notices when your app runs inside a container app that hosts several copies of it on one phone.

  2. Respond

    Duplicate instances can be refused access to promotions or account-level actions.

  3. Report

    Your fraud team sees how many sessions come from virtualised copies.

Apps on Apple silicon Macs

  1. Detect

    On iOS, Otukan recognises when your iPhone app is running on a Mac rather than on an iPhone or iPad.

  2. Respond

    You choose whether sessions on a Mac may sign in, transact or only browse.

  3. Report

    The platform context is attached to requests for your risk decision.

Remote device farms

  1. Detect

    Otukan combines environment signals with interaction and device-reuse context that point to a farm of automated handsets.

  2. Respond

    Suspicious sessions are stepped up or slowed on the flows you mark.

  3. Report

    Farm indicators reach your backend for correlation with account and payment data.

What emulator detection gives your team

Environment checks work alongside the other runtime controls and share one response policy.

  • Physical-device checks

    Separates real Android and iOS hardware from emulated or simulated environments, with checks written for each platform.

  • Virtualisation awareness

    Flags container apps and virtual spaces that run cloned instances of your app on one handset.

  • Test-build allowances

    Lets internal and QA builds run in emulators and automation while release builds enforce your policy.

  • Backend bot signals

    Adds environment context to the signals your server uses against scripted sign-ups and automated traffic.

You choose the response

Set a response for each user flow. Start by observing, then tighten flow by flow as the signals prove themselves.

Observe

Signal sent to your backend

Rolling out a new policy and measuring real-world signals.

Warn

This device looks modified. Continue with care.

Conditions some genuine users create, such as developer settings.

Restrict

Payments are unavailable on this device.

Payments, stored data and account changes.

Terminate

Session closed for your security.

Clear tampering on a high-risk flow.

How it works

  1. Map your abuse

    We agree which flows attract emulator-driven abuse and which environments your own teams depend on.

  2. Separate builds

    Release builds enforce environment checks; internal and QA builds keep the freedoms your testers need.

  3. Check the environment

    The app examines its surroundings at launch and again before the flows you marked.

  4. Act per flow

    Your policy blocks, steps up or simply records each emulated session, and your backend receives the signal.

Free for app publishers

Check your app's exposure

A passive review of your published app by an Otukan engineer. No files, no access to your systems. Findings go by email to the verified publisher.

You finish the request on the next page.

An app should separate emulated environments from physical devices wherever a single attacker could otherwise act like thousands of users: account creation, promotions, referral rewards, identity checks and payments. Otukan detects Android emulators, virtual spaces that host cloned copies of your app, and iPhone apps running on a Mac, then applies the response you set for that flow and sends the signal to your backend. Emulators are also everyday tools for your own engineers, so Otukan keeps QA and approved automation working. It treats device farms of real phones as a pattern your server confirms, not a verdict made on the device.

For the full set of runtime checks, see mobile RASP.

Environment types

“Emulator” is used loosely for several different setups. They carry different risks and need different checks.

EnvironmentWhat it isWhy attackers use itHow Otukan handles it
EmulatorSoftware that imitates a phone’s hardware on a computer or serverRuns many app instances cheaply, with scripting and easy resetsHardware, sensor and system checks built per platform
Virtual spaceA container app on a real phone that runs extra copies of other appsMultiplies accounts on one handset for bonuses and referralsDetection of the hosting container around your app
Mobile app on a desktopAn iPhone app running on an Apple silicon MacDesktop scripting and screen tools next to a genuine appiOS checks for a Mac host
Device farmRacks of physical phones, driven remotelyPasses simple hardware checks while scaling abuseEnvironment context combined with reuse signals for your backend

Android and iOS are different problems

Android offers many emulated images and container apps, and some are built to hide. Otukan’s Android checks look at hardware traits, sensors and the process around your app. On iOS, App Store builds do not run in Apple’s simulator. The realistic cases there are an iPhone app running on a Mac and a modified device, which iOS jailbreak detection addresses. Each platform gets its own checks and its own test plan.

Legitimate use

Your teams depend on emulators every day. Emulator detection that breaks your pipeline gets switched off, and then it protects nothing.

Build-based allowances

Otukan separates internal and QA builds from the release build. Engineers keep emulators, simulators and automated test runs; the build your users download enforces the policy. For the testing side, see protected mobile app testing.

Accessibility and unusual hardware

Some legitimate users run your app on a desktop, on a tablet with uncommon sensors or with assistive setups. Otukan tests its checks against these setups, and your policy decides what an uncertain result means for each flow.

Approved automation

Partners and internal teams may run sanctioned automation against production. Otukan lets you name those cases, so their traffic is recognised by your backend rather than blocked in the app.

Enforcement

Environment signals earn their place when they are tied to a specific abuse scenario. Otukan helps you connect the two.

Abuse scenarioWhere the environment signal helpsTypical policy
Fake account creationScripted sign-ups from emulators and virtual spacesBlock or step up at registration
Bonus and referral farmingMany accounts from cloned instances on one handsetRestrict reward redemption
Identity check bypassInjected camera feeds are easier on emulated hardwareRefuse the identity step and alert your team
Game bots and cheatingAutomated play on emulatorsSeparate matchmaking or restrict ranked play
Payment testing with stolen cardsRapid, reset-and-repeat sessionsRestrict payments; share the signal with your fraud engine

The signal reaches your backend with the request it concerns, where it can be combined with account history and velocity. For injected camera feeds, see camera injection detection. For voice input, audio injection detection flags virtual audio inputs and emulators.

Signals your server can combine

An emulator signal on its own says where the app is running, not who is running it. Its value grows when your backend combines it with what only the server knows: how old the account is, how many accounts share a payment method, how fast requests arrive. Otukan sends the environment signal in a form your risk logic can weigh next to those facts, so a legitimate tester on a desktop and a scripted sign-up campaign lead to different outcomes.

Proving the checks

Before a protected release ships, we work with your engineers in an authorised lab. The app is run on the emulators and virtual spaces you care about to confirm the signal, then on real devices across your supported range to confirm it stays quiet. Install, update, sign-in and the flow you protect are repeated, with versions, devices, results and the reviewer recorded.

Common questions

  • Should every emulator be blocked?

    Rarely. Emulators are everyday tools for developers and QA, and some legitimate users run mobile apps on desktops. Otukan lets you enforce physical hardware only where abuse happens, such as account creation, promotions or payments, and record the signal elsewhere. Most teams start by observing how often emulated sessions appear, then tighten the flows that attract abuse.

  • Is emulator detection the same on Android and iOS?

    No. Android apps can run on many emulated images and in virtual spaces on real phones, so Android checks focus on hardware traits and hosting containers. App Store builds of iOS apps do not run in Apple's simulator, so on iOS the main cases are an iPhone app running on an Apple silicon Mac and modified environments. Otukan builds each set of checks separately.

  • Can a device farm of real phones be detected?

    A farm of physical phones passes hardware checks by definition, which is why Otukan treats it as a pattern rather than a device property. Environment signals are combined with reuse and interaction context and sent to your backend, where your server can connect them with account age, payment data and velocity. The decision rests with your policy.

  • Will our automated tests break?

    They should not. Otukan separates internal and QA builds from release builds, so your emulators, simulators and approved automation keep working. The release build is then tested on real devices and on the emulators you name, to confirm the signal fires where it should and stays quiet on legitimate hardware.

On the mobile engineering team?

How protection fits your build, signing and release, platform by platform.

Keep scripted devices out of your app

Tell us the platform, the framework and the abuse you see from non-physical environments, such as fake sign-ups or bonus farming. We never ask for app binaries, signing keys or production credentials.

Or request a technical demo