Skip to main content

Device Signals

Collect device fingerprints and detect emulators on mobile.

Collecting Device Signals

final simplr = SimplrFraud();
final device = await simplr.collectDeviceSignals(context);

print(device.fingerprint); // Unique device hash
print(device.isEmulator); // true if emulator detected
print(device.model); // "iPhone 14 Pro"

Device Signal Fields

FieldTypeDescription
fingerprintStringUnique device hash
device_idStringPersistent identifier
platformString"ios" or "android"
os_versionStringOS version
modelStringDevice model
manufacturerStringDevice manufacturer
screen_resolutionStringScreen dimensions
is_emulatorboolEmulator detected

Emulator Detection

Detects iOS simulators and Android emulators:

if (device.isEmulator) {
// Block or flag for review
showError('Emulators not allowed');
return;
}

Detection Signals

Android:

  • Hardware fingerprint checks
  • Model name patterns
  • Build properties

iOS:

  • Architecture detection (x86, i386)
  • Simulator environment

Full Response

class DeviceSignals {
final String fingerprint;
final Map<String, String> fingerprintComponents;
final String deviceId;
final DateTime deviceIdCreatedAt;
final String platform;
final String osVersion;
final String model;
final String manufacturer;
final String brand;
final String screenResolution;
final double pixelRatio;
final String timezone;
final String language;
final int cpuCores;
final bool isEmulator;
final double emulatorConfidence;
}