ContentProvider can expose application data to other processes. Excessive access can disclose personal information despite strong code protection.
Evaluation approach
Keep providers private unless external access is necessary. Separate read and write permissions and treat query parameters as untrusted.
Application example
Grant access to a selected document without exposing profile data or previous documents through the same provider.
Limits and considerations
An interface permission check does not prove equivalent checks exist in the provider.
Does the screen lock protect the provider?
Test external provider calls while the application screen is locked. They may follow different code paths. Enforce ownership when selecting sensitive rows as well as when initially granting provider access.
Checks and decisions
- Inventory exported providers
- Separate reads and writes
- Test permission lifetime
Sources
The primary references above provide the technical basis. Example workflows and evaluation suggestions are this publication’s explanations, not independent test results for a particular product.