Android security
Play Integrity, signing, device signals and Android platform controls.
Play Integrity API in Android app protection
The value of Play Integrity comes from binding evidence to the correct Android application and operation, rather than merely obtaining a token.
Read the guidePlay Integrity standard requests
In the standard request flow, assess preparation overhead separately from verification for each operation.
Read the guidePlay Integrity classic requests and nonces
Nonce handling in a classic Play Integrity request is a protocol responsibility. Specify who generates the value, which operation it belongs to and when it is consumed.
Read the guideInterpreting Play Integrity verdicts
Integrity-response fields answer different questions. Collapsing application recognition, device conditions and unevaluated states into one safe label can produce…
Read the guideProtecting key use with Android Keystore
The conditions under which a key can be used matter alongside its storage location. Android Keystore provides platform mechanisms for establishing that boundary.
Read the guideWhat Android StrongBox provides
StrongBox availability can affect device coverage. Assess a requirement for a stronger key boundary alongside legitimate users' ability to access the service.
Read the guideAndroid key attestation
A key-attestation record becomes meaningful only after the expected challenge and trust chain are verified.
Read the guideAndroid app signing and RASP
An Android signature establishes a release identity. A protection system must match its expected certificate to the package that the store or another distribution…
Read the guideAPK, AAB and the final protected package
The AAB file alone is not the complete input to a security assessment.
Read the guideAndroid R8 and runtime protection
R8 build transformations and runtime defenses serve different purposes.
Read the guideAndroid Network Security Configuration
Network security configuration makes an application's connection-trust rules explicit. Establish whether every network client and SDK actually follows those rules.
Read the guideDesigning certificate pinning on Android
Android pinning is an availability decision as well as a trust decision.
Read the guideApproaching Android root detection
A root signal provides information about platform risk, not user intent. Android app protection policy should combine it with transaction impact and other evidence.
Read the guideAndroid emulator detection and legitimate use
Emulator detection can be one part of an anti-automation strategy. Distinguish development, testing and legitimate usage from abusive scenarios.
Read the guideAndroid overlay and tapjacking defenses
Overlay risk concerns the relationship between what a user sees and the operation they approve.
Read the guideBalancing Android accessibility and security
Accessibility services are essential for many people to use an application. Security policy should not remove that legitimate access through a blanket blocking rule.
Read the guideAndroid screen capture protection
Sensitive data can leak through visual copies of a screen as well as through files. Determine screen-protection requirements by the data class displayed in each view.
Read the guideAndroid WebView security and RASP
WebView introduces a separate content and execution boundary inside an application.
Read the guideAndroid App Links and deep-link security
A verified App Links relationship does not make every incoming parameter trustworthy.
Read the guideAndroid exported components
Exported Android components create additional entry points. Separate tests are needed to establish that controls on the main screen also protect these paths.
Read the guideAndroid PendingIntent security
A PendingIntent can let another party initiate limited work on your application's behalf.
Read the guideRisks of dynamic code loading on Android
Code loaded later can change the security scope of a reviewed release package. Source verification, privilege boundaries and store requirements belong in that design.
Read the guideAndroid native libraries and JNI
JNI and native libraries introduce their own memory-safety and input-validation responsibilities.
Read the guideAndroid backup and sensitive data
Backups create additional copies of sensitive data and allow it to reappear on another device.
Read the guideAndroid Verified Boot and application trust
A healthy boot chain strengthens the application's platform foundation. Application logic, API authorization and user transactions still require separate controls.
Read the guide