UDeviceIntegrity class
Signals that the app may be running somewhere it cannot trust. Heuristics, not proof: use them to add friction (re-auth, block payments), not to crash.
- Annotations
Constructors
-
UDeviceIntegrity({bool rooted = false, bool emulator = false, bool debuggerAttached = false, bool hooked = false, bool developerMode = false, bool adbEnabled = false, bool virtualMachine = false, bool automated = false, List<
String> reasons = const <String>[]}) -
const
-
UDeviceIntegrity.fromMap(Map<
String, Object?> m) -
Reads it from the native map.
factory
Properties
- adbEnabled → bool
-
Android USB debugging.
final
- automated → bool
-
Web: the browser is driven by automation (navigator.webdriver).
final
- debuggerAttached → bool
-
A debugger is attached.
final
- developerMode → bool
-
Android developer options.
final
- emulator → bool
-
Android emulator or iOS simulator.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- hooked → bool
-
Frida / Xposed / Substrate or similar instrumentation detected.
final
- isCompromised → bool
-
Rooted, hooked or debugged: the app's own code cannot be trusted.
no setter
-
reasons
→ List<
String> -
Human-readable evidence, e.g. "su binary at /system/xbin/su".
final
- rooted → bool
-
Rooted (Android) or jailbroken (iOS).
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- virtualMachine → bool
-
Desktop running inside a hypervisor (VMware, VirtualBox, Parallels, QEMU, Hyper-V guest).
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited