Store policy
Published
Four stores matter for a PWA, and each one answers a different question: Google Play and the Microsoft Store accept a PWA when it is packaged in the store’s own container and passes a written policy, the Apple App Store has no PWA route at all, and the Galaxy Store takes a bare URL by email. This page records the policy sections that decide acceptance; the dated per-store verdicts live in the policy dimension.
How it works
Section titled “How it works”A store does not read your service worker or manifest directly. It sees a package (an Android App Bundle, an MSIX bundle) or a URL, and it applies the same review text it applies to native apps. The sections below name the text that bites for a PWA.
Google Play
Section titled “Google Play”The package is a Trusted Web Activity: an Android app whose
single activity opens your origin in the user’s Chrome (72 and later) without browser UI.
Ownership is proven by a Digital Asset Links statement at /.well-known/assetlinks.json that
names the app’s package and signing-certificate fingerprint. Two policy texts decide acceptance:
- The Spam policy, section “Webviews and Affiliate Spam”: “We don’t allow apps whose primary purpose is to drive affiliate traffic to a website or provide a webview of a website without permission from the website owner or administrator.” A TWA of your own origin carries that permission in the asset-links file; a TWA of someone else’s site does not.
- The Payments policy, section 2: apps “requiring or accepting payment for access to in-app features or services” must use Google Play’s billing system “unless Section 3, 8, or 9 applies”. Section 3 excludes physical goods, physical services, bills, peer-to-peer payments, and gambling. The web side of this requirement is the Digital Goods API, available in Chrome 101 and later.
Chrome 86 added quality criteria that turn three web failures into native crashes recorded in Android Vitals: Digital Asset Links verification failing at launch, an offline request that does not receive an HTTP 200, and a 404 or 5xx response inside the app. The first is a signing problem; the other two are handled by a service worker that answers offline navigations and error responses from cache.
Microsoft Store
Section titled “Microsoft Store”The Store takes the PWA itself, not a wrapper. In Partner Center you reserve a name under
New product > MSIX or PWA app, read Package ID, Publisher ID, and Publisher
display name from Product management > Product Identity, and paste them into
PWABuilder, which returns a .zip holding an .msixbundle and a .classic.appxbundle.
Microsoft states review “typically within 24 to 48 hours”. Microsoft Store Policies version 7.20
(published 2026-09-15, effective 2026-10-22) carries two sections that touch a PWA:
- 10.1.1: “Products submitted as web apps must be published by the domain or website owner.”
- 10.8.1: only games and products offered on Xbox consoles must use the Store in-product purchase API; “non-game products made available on PC devices may either use a secure third-party purchase API or the Microsoft Store in-product purchase API”.
Code changes ship through your web server with no resubmission. A manifest change (icon, name,
file_handlers, protocol_handlers, share_target) requires a new package, because the
manifest is copied into the Windows package.
Apple App Store
Section titled “Apple App Store”There is no PWA packaging route. Guideline 4.2 (Minimum Functionality) reads: “Your app should
include features, content, and UI that elevate it beyond a repackaged website”, and 4.2.2 rules
out apps that are “web clippings, content aggregators, or a collection of links”. The
guidelines were last revised on 2026-06-08 (Apple Developer News). The iOS route for a PWA is
Safari’s Add to Home Screen, outside the
store; a native shell around a WKWebView is reviewed as a native app against 4.2.
Samsung Galaxy Store
Section titled “Samsung Galaxy Store”Samsung announced web app listings on 2019-10-24: “To add your web app to the Samsung Galaxy Store send us the URL to [email protected]”, with listings “only visible in the US Galaxy Store” at launch. No public developer documentation beyond that post was found in 2026-10, so treat the route as manual onboarding, not self-service submission.
| Store | What you submit | Ownership proof | In-app digital goods rule |
|---|---|---|---|
| Google Play | AAB with a TWA | assetlinks.json fingerprint match |
Play billing (Payments policy §2) via Digital Goods API |
| Microsoft Store | .msixbundle + .classic.appxbundle |
Policy 10.1.1: domain owner publishes | Store API only for games and Xbox (10.8.1) |
| Apple App Store | No PWA route | n/a | n/a |
| Galaxy Store | URL by email | Licensing agreement for logo use | Not documented |
Observed behaviour
Section titled “Observed behaviour”Microsoft also documents the opposite side of the Store route: a Store-installed PWA has a
hard-coded start_url on the principal domain, and a redirect to a locale domain such as
contoso.co.ke is treated as out of scope, so Edge shows the URL and page title at the top of
the window. A browser-installed PWA installs from whichever domain the user landed on and does
not show that bar.
See also
Section titled “See also”- Google Play Spam policy (support.google.com)
- Microsoft Store Policies (learn.microsoft.com)
- App Store Review Guidelines (developer.apple.com)
- Store acceptance policy data
- Trusted Web Activity
- Digital Goods API
- Distribution
- Publish to app stores
← Back to the Ecosystem overview.