What to know
- Android’s framework is adding two new permissions — NFC Payment Card Emulation and NFC Payment Card Reading — to restrict access to protected payment AIDs.
- Currently, apps can register card emulation services or read external NFC cards; the new code will reject registrations and block SELECT commands for protected payment AIDs without the proper permission.
- The strings were found in framework-res on Android 17 QPR2 Beta 6 (CP41.260831.007) and are not yet declared in the platform manifest, meaning the feature is not currently available to users.
Google is bolstering Android’s NFC security architecture with a pair of new permissions designed to lock down access to protected payment AIDs (Application Identifiers). By enforcing strict permission checks for both card emulation and card reading, the framework will soon prevent unauthorized apps from intercepting or interacting with sensitive payment card data.
Now, a teardown of the latest beta reveals exactly how the platform plans to enforce these boundaries. We pulled the framework-res package from Android 17 QPR2 Beta 6 (CP41.260831.007) and diffed it against previous builds. The new permission strings first appeared in QPR2 Beta 5 (CP41.260828.005) and remain present in this latest release.
The first permission, labeled “NFC Payment Card Emulation,” targets apps that attempt to register themselves as an NFC payment service. Card emulation allows a phone to mimic a smart card, which is essential for tap-to-pay transactions. However, malicious apps could potentially abuse this to intercept payment AIDs.
To counter this, the framework will take a hardline approach. If an app attempts to register a card emulation service that includes a protected payment AID, the entire registration will be rejected unless the app explicitly holds the new permission. This ensures only trusted, authorized applications can manage sensitive payment credentials.
Blocking external card reads
The second permission, “NFC Payment Card Reading,” governs apps that scan and read physical NFC cards. When an app reads an external card, it sends a SELECT command to communicate with the card’s applications. The new code shows that Android will actively block SELECT commands that match protected payment AIDs.
If an unauthorized app attempts to read a protected payment AID, the system will throw a SecurityException. This prevents rogue applications from silently skimming or interacting with payment data when a physical card is tapped against the device.
Not yet active in the platform manifest
While the descriptive strings for these permissions are present in the framework-res package, the permissions themselves are not yet declared in the platform manifest of this build. This means the enforcement logic is not yet switched on in the operating system. We could not surface the feature in the app yet, and the permissions currently exist only as text definitions.
Because these are framework-level permissions, they will not be requested via standard user-facing prompts like normal Android permissions. Instead, they will be granted silently at the system level to qualified applications. We will watch future builds for the activation of these permissions in the platform manifest.


Leave a Reply