Blocks submissionGoogle Play
The app updates itself only through Play and downloads no executable code
The question Does anything in the compiled code load dex, JAR or native libraries from the network or from storage at run time (DexClassLoader, System.load from a downloaded path), or install APKs? Web content in a web view is allowed. Name what you looked for.
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
- Device and Network Abuse: No interfering with the device, other apps, networks or services: no self-updating outside Play, no downloading executable code (except code run in a VM or interpreter such as JavaScript in a webview, which must not enable policy violations), no exploiting vulnerabilities, no blocking other apps' ads, no cheats, no installing apps without consent, no proxy services unless that is the app's primary user-facing purpose, no webview with a JavaScript interface loading untrusted content, no bypassing power management unless eligible, no full-screen intent for disruptive ads or notifications, no circumventing the sandbox to infer user activity; apps must meet the Core App Quality system optimization rules and respect other apps' FLAG_SECURE and REQUIRE_SECURE_ENV. Foreground services in apps targeting Android 14 or later must declare a valid type with its matching permission, provide a core user-beneficial feature, be user-initiated or perceptible, be stoppable by the user, be work the system cannot defer without breaking the experience, and run only as long as needed (systemExempted, shortService, and dataSync for Play Asset Delivery are exempt); each FGS permission must be declared in Play Console with a use-case description and demo video. User-initiated data transfer jobs must be started by the user, used only for network transfers, and stop when done.
- Hostile Downloaders: An app must not download other mobile unwanted software. It is treated as a hostile downloader if there is reason to believe it was built to spread such software and it has done so or contains code that can download and install apps, or if at least 5% of the apps it downloads are unwanted, measured over a minimum of 500 observed downloads (25 unwanted). Major browsers and file-sharing apps are exempt while they never drive downloads without user interaction and every download is started by a consenting user.
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 adds concrete foreground-service rules for Android 14+ (declared type, permission, Play Console use-case description and demo video); Apple states outcomes (battery, heat) rather than mechanisms. partial
- Google explicitly permits interpreted code such as JavaScript in a webview; Apple's wording bans any downloaded code that changes the app. Google's foreground-service rules are more prescriptive (type declaration, console description and video). partial
- Both allow interpreted content; Apple attaches the index, consent, IAP and age-gating conditions. partial
- none on the principle that network tunnelling must be the app's declared purpose. same
Check your app
pip install git+https://github.com/petresandu-cloud/okkok
okkok audit path/to/app
The report names this rule as google.no-executable-download and says what to do, who does it, where, and how it knows.