Jailbreak and Root Detection

Jailbreak and root detection identifies when your mobile app is running on a compromised device and lets you respond before sensitive data is exposed.

  • AndroidAndroid
  • AppleiOS
TL;DR

Jailbreak and root detection checks whether the device running your app has been jailbroken on iOS or rooted on Android. On a compromised device, the operating system's security guarantees no longer hold: the sandbox is broken and any app can read another app's data. Detection lets your app refuse to run, limit functionality, or alert your backend.

Definition

What is jailbreak and root detection?

Jailbreaking on iOS and rooting on Android both mean the same thing: the user has removed the restrictions the operating system normally enforces, gaining full administrative control of the device.

On a normal device, the OS isolates each app in a sandbox so it cannot read another app's data. On a jailbroken or rooted device, that sandbox is gone. Any process can inspect memory, read stored files, and intercept what your app does.

Jailbreak and root detection lets your application find out it is running in that environment. Once it knows, it can make an informed decision instead of trusting a device that can no longer be trusted.

Mechanism

How jailbreak and root detection works

Detection combines several signals, because no single check is reliable alone:

  • File and path checks. The application looks for files, directories, and apps that only exist on jailbroken or rooted devices.

  • Permission checks. It tests whether it can perform actions a sandboxed app should never be able to do, such as writing outside its container.

  • Tool detection. It looks for jailbreak and root frameworks like Cydia, Magisk, and known hooking tools.

  • Sandbox integrity checks. It verifies that the OS isolation guarantees still hold.

When the device is flagged, the response is configurable: block the app, disable sensitive features, or notify your backend.

Example

Jailbreak and root detection example

The same banking app, on the same iPhone. Detection changes what happens the moment the device is rooted.

Without detection

Your banking app runs on a rooted device. A malicious process on that device reads the app's stored session tokens and local data straight from the file system. Your app never knows.

With detection

The same app starts, detects the device is rooted, and limits access to sensitive features or refuses to run, before any data is exposed.

Without detection
public Balance OpenWallet(string sessionToken)
{
    return api.Fetch(sessionToken);
}
With detection
public Balance OpenWallet(string sessionToken)
{
    return api.Fetch(sessionToken);
}

Use cases

When to use jailbreak and root detection

Jailbreak and root detection matters most when your application:

  • Handles payments, banking, or financial data.
  • Stores or processes sensitive personal information.
  • Handles health data or other regulated information.
  • Is any mobile app where running on a compromised device is an unacceptable risk.

It pairs naturally with anti-tamper and anti-debugging: detection tells you the environment is unsafe, the other protections defend the app itself.

Platform availability

Jailbreak and root detection across platforms

  • iOS

    Jailbreak detection across files, permissions, and known tools.

  • Android

    Root detection including Magisk and common rooting frameworks.

Frequently asked questions

What is jailbreak and root detection?
Jailbreak and root detection is a technique that lets a mobile app determine whether the device it runs on has been jailbroken on iOS or rooted on Android, where the operating system's security sandbox no longer protects the app's data.
What is the difference between jailbreak and root detection?
They detect the same thing on different platforms. Jailbreak detection applies to iOS, root detection applies to Android. Both identify a device where the user has removed the operating system's built-in restrictions.
Can jailbreak and root detection be bypassed?
Jailbreak and root concealment tools exist, which is why detection combines many independent signals rather than relying on one. The goal is to detect the large majority of compromised devices and raise the cost of hiding.
Does detection affect legitimate users?
No. Users on normal, uncompromised devices are never flagged. Detection only responds when a device shows clear signs of being jailbroken or rooted.
Which platforms support jailbreak and root detection?
ByteHide Shield provides jailbreak detection for iOS, root detection for Android, and both for .NET MAUI and Xamarin apps through the mobile SDK.
10,000+ developers and companies protect their applications with ByteHide

Protect your application with
ByteHide Shield

Jailbreak and root detection is one of more than 20 protections in ByteHide Shield. Apply it to your iOS, Android, or .NET MAUI application.

ByteHide runtime dashboard showing live threat monitoring and protection metrics