Jailbreak/Root Detection

Enhance App Security by Detecting Jailbroken iOS and Rooted Android Devices

Overview

To ensure your app's security and meet compliance requirements, it’s crucial to detect when your app is running on a jailbroken iOS or rooted Android device.

The Jailbreak/Root Detection plugin helps identifying compromised devices using a variety of detection methods, such as the presence of suspicious binaries, unauthorized apps, and supported URL protocols.

❗️

Important Note: Limitations of Device Detection

While this plugin provides robust detection capabilities, it's important to note that jailbreaking and rooting a device inherently grants elevated access, which could be used to bypass detection methods. Thus, no detection system can guarantee 100% effectiveness.

This plugin is designed to offer a reasonable level of detection, which can be used to alert users or disable specific app functionalities if a compromised device is detected.

How Detection Works

When the app launches, if a compromised device is detected, the app will append an additional query parameter to the initial URL. This parameter will indicate whether the device is rooted or jailbroken. Specifically, the query parameter could be either:

  • rootDetected=true
  • isRooted=true

For example, instead of loading https://example.com/, the app will load https://example.com/?rootDetected=true. Be sure to check for both query parameter values list above to identify compromised devices.

Libraries Used for Detection

  • iOS Jailbreak Detection: For iOS, we utilize the DTTJailbreakDetection library, alongside other detection techniques.
  • Android Root Detection: For Android, we rely on the Rootbeer library, as well as additional methods.

By integrating this module into your app, you can improve security and protect against unauthorized access from rooted or jailbroken devices.