Create Play Policy Insights skill to detect Play policies violations in the app. - #104
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
There was a problem hiding this comment.
Code Review
This pull request introduces play-policy-insights, an automated auditor tool designed to verify Android applications against Google Play Policy domains. It includes policy definitions, a scraper, a static analysis scanner, an orchestrator, and a template engine to generate compliance reports. The review feedback is highly constructive and points out several key improvements: updating the comment-stripping regex in scanner.py to preserve single-quoted strings; passing loop items directly in template_engine.py to support nested property access; filtering scraped data safety items directly against VALID_TAXONOMY in play_store_scraper.py to avoid UI artifact leakage; and adjusting _strip_inline_comment in orchestrator.py to handle literal single quotes (such as contractions) in properties files.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
313ce63 to
cedc37c
Compare
…ay policies violations in an app
cedc37c to
ae501c2
Compare
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
- Update _strip_inline_comment to support optional quote delimiter tracking. - Disable quote tracking for .properties files to prevent literal quotes and apostrophes (e.g., "don't") from breaking subsequent comment removal. - Preserve quote-awareness for TOML version catalogs to ensure valid parsing of quoted strings.
The
play-policy-insightsskill is an automated auditor designed to verify Android applications against Google Play Policy domains. It cross-references static code analysis with Play Store declarations to generate deterministic compliance reports, identifying undeclared data collection, architectural risks, and missing disclosures.1. Permissions and APIs Hygiene
This domain focuses on verifying that restricted permissions are justified by the app's core functionality and recommending minimum-scope API alternatives where applicable.
READ_MEDIA_IMAGES,READ_MEDIA_VIDEO) is justified or if the app should migrate to the privacy-preserving Android Photo Picker.MANAGE_EXTERNAL_STORAGEpermission strictly to apps where full disk access is critical to the core purpose (e.g., file managers, backup tools). Non-compliant apps must use Scoped Storage or the Storage Access Framework (SAF).READ_CONTACTS) is justified, mandating the use of the Android Contact Picker for secondary tasks.USE_EXACT_ALARMpermission to preserve system performance and battery life, limiting it to alarm clocks, timers, and calendar apps.foregroundServiceTypedefined in the Manifest, and special types likespecialUsecontain specific and valid tag property justifications.QUERY_ALL_PACKAGES) is justified, restricting it to apps that directly manage device safety.RECORD_AUDIO) is justified, encouraging the use of the system-managed Microphone Button for temporary needs.READ_EXTERNAL_STORAGEorWRITE_EXTERNAL_STORAGEfor simple tasks.2. User Account and Identity
This domain ensures compliance with Play Console administrative requirements and fundamental user data rights.
3. Data Safety and Privacy
This domain focuses on the transparent handling, transmission, and disclosure of user data.