The illusion most developers believe When you tap an Android phone to an NFC tag, it feels like your app is directly interacting with the hardware. It is not. What actually happens is a layered system where the app is the last piece in the chain - not the first. Most developers never see what happens below: system services hardware abstraction layer firmware-level NFC controller logic And that’s where the interesting (and dangerous) behavior lives. NFC on Android is a layered pipeline NFC communication in Android is not “direct hardware access”. It’s a pipeline: App Layer (foreground logic) Android Framework (NfcService) Native / HAL layer NFC Controller Firmware RF physical layer Each layer transforms or filters the data. And each layer introduces assumptions. What actually happens when you tap a tag A simplified flow looks like this: 1. Phone detects RF field (hardware) 2. NFC controller negotiates protocol 3. Android HAL receives structured frames 4. NfcService routes data to system APIs 5.…