Blocks submissionBoth stores
The app stays usable when a person refuses a sensitive permission, and no feature is gated on turning one on
The question Deny each sensitive permission on a device. Does the app keep working with a reasonable alternative, or does it block, loop the prompt, or pressure the user? Name the permissions tried and what happened.
A person or a model answers it from the app's texts and screens; the answer is kept only while the facts it saw are unchanged.
Applies to every app
Checked from built, not yet uploaded, on a test track, submitted and in review, published
The rule, in our words
- Permissions and APIs that Access Sensitive Information: Request a sensitive permission only for a current feature promoted in the listing, ask in context, use the data only as consented and never sell it. Restricted permissions carry extra conditions: honour a refusal and keep the app usable; SMS and call-log permissions only while the app is the default SMS, Phone or Assistant handler, and never derived by other means; location should be requested at the minimum scope, never solely for ads or analytics, foreground-service location only as a user-initiated action that ends when done, background location only for a core user-benefiting feature and with a Play Console declaration; all-files access only after passing Google's review and with a clear prompt to enable it; QUERY_ALL_PACKAGES only for named interoperability use cases and never sold for ads or analytics; the accessibility API never to change settings without permission or defeat platform controls, documented in the listing, and, unless the app is a genuine accessibility tool flagged isAccessibilityTool, with a console declaration, in-app disclosure and consent; REQUEST_INSTALL_PACKAGES only where sending, receiving or user-initiated installing of packages is core, and not for self-update except for device-management purposes; body sensors (granular health permissions from Android 16) and Health Connect under the User Data and Health apps policies and approved use cases; VpnService only for VPN apps and listed exceptions, documented in the listing, encrypted, never for traffic manipulation; USE_EXACT_ALARM only for alarm, timer or calendar apps, others should evaluate SCHEDULE_EXACT_ALARM instead; USE_FULL_SCREEN_INTENT on Android 14+ auto-granted only to alarm and call apps, others must ask the user; photo and video permissions on Android 13+ only where the photo picker is not enough, with a declaration; Age Signals data only for legal compliance. A location-button minimum scope and a Contacts Permissions policy take effect January 27, 2027.
- App Review Guidelines: A privacy policy link is required in App Store Connect and inside the app; the policy must say what data is collected, how, and every use; confirm that any third party receiving user data (analytics, ad networks, SDKs, parent or related entities) gives equal protection; and explain retention, deletion, and how to withdraw consent or request deletion. Consent must be obtained for any data collection, even anonymous data; paid features may not depend on granting data access; users need an easy way to withdraw consent; purpose strings must fully describe data use. Collect only data the core function needs, prefer pickers and share sheets, never force or trick consent, and offer alternatives when a permission is declined. If the app has no significant account-based features it must work without login; if it supports account creation it must offer in-app account deletion; personal information may not be required except for core function or by law.
- App Review Guidelines: Personal data may not be used, transmitted or shared without the user's permission; the app must explain how and where data is used, clearly disclose any sharing with third parties (including third-party AI) and get explicit permission first; sharing with third parties is limited to improving the app or serving advertising; tracking across apps needs explicit consent through the App Tracking Transparency APIs; the app may not require users to turn on push notifications, location services or tracking to access functionality, content, the app itself or any reward; data collected for one purpose may not be repurposed without fresh consent; apps should not covertly profile users and may not de-anonymise them; no building contact databases from Contacts or Photos and no collecting installed-app lists for analytics or marketing; contacting people from Contacts or Photos only at the user's individual initiative, with no Select All and a clear preview of the message; HomeKit, HealthKit, Clinical Health Records, MovementDisorder, ClassKit and depth or facial-mapping data may not be used for marketing or data mining; Apple Pay data may only be shared to deliver or improve goods and services. Sharing data without consent can mean removal from sale and from the Developer Program.
Okkok never stores the stores' text. Each item above is our paraphrase, and the link is the page it rests on, verified unchanged by fingerprint on every run.
The other store
- Google's policy is far more detailed (web resource, Data safety deletion questions, TV/Wear/web exemptions, device-management exemption); Apple's 5.1.1 sentence is a pointer to apple.account-deletion. Apple has no exemption for enterprise device-management apps. partial
- Google's rule covers permissions generally; Apple's names push notifications specifically (and 5.1.2 extends to location and tracking). partial
- Google requires the policy URL to be public, non-PDF and to name the developer with a contact, and bans selling data; Apple requires consent even for anonymous data, requires the policy to confirm third parties give equal protection, and bans making paid features depend on granting data access. partial
- Google's disclosure is a structured form covering the app and every SDK (collected vs shared, purposes, optional vs required, encryption, deletion path or 90-day auto-delete) that must precede publishing on any track except internal testing; Apple's is a free-form policy (the structured equivalent is apple.hig.privacy / apple.privacy-manifest). partial
Check your app
pip install git+https://github.com/petresandu-cloud/okkok
okkok audit path/to/app
The report names this rule as google.usable-when-permission-denied and says what to do, who does it, where, and how it knows.