SIM Change Detection — Android Background Service

Continuously monitor SIM state changes to help mitigate SIM-swap account takeovers. Runs silently in the background and sends only non-sensitive metadata for risk scoring.

High-level flow

  1. User installs/opens the banking app with the SDK.

  2. A lightweight background service starts automatically (and after reboots).

  3. Service periodically checks SIM state allowed by Android.

  4. If the current SIM differs from the baseline, an event is triggered.

  5. Event (NO_CHANGE | SIM_CHANGED | UNKNOWN) + session metadata is sent securely to the backend.

     

Required permission (AndroidManifest.xml)

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

Notes: Android 10+ restricts some identifiers; behavior varies by OEM.

Event types

Example payload to backend

{
  "device_id": "abcd-1234",
  "timestamp": "2025-09-16T15:00:00Z",
  "sim_status": "SIM_CHANGED",
  "carrier": "CarrierName",
  "os_version": "Android 14",
  "sdk_version": "2.1.0"
}

Security & privacy

Limitations & compatibility

Next steps

  1. Add permission.

  2. 2) Initialize background service at app start.

  3. 3) Ingest events server-side.

  4. 4) Combine with other signals for scoring.

  5. 5) Validate on your device matrix pre-production.


Revision #2
Created 18 September 2025 16:01:34 by roger de avila
Updated 18 September 2025 16:08:26 by roger de avila