# OpenPWA > The reference for Progressive Web Apps — APIs, browser compatibility, and ecosystem > & store policy, in English and Chinese, kept current. Structured browser, platform, > and ecosystem-policy data that search answer-engines and LLMs can quote. OpenPWA is a reference kept current in place (not a news feed). Prose entries are also served as clean Markdown at `.md` for ingestion, and the full corpus is inlined at https://openpwa.net/llms-full.txt. ## Reference - [Reference](https://openpwa.net/reference/): The PWA knowledge tree — manifest, service workers, installability, device capabilities, storage, notifications, performance, and platforms — kept current and source-backed. - [Capabilities](https://openpwa.net/reference/capabilities/): Device and platform capabilities: File System, Web Share, Bluetooth, WebGPU, Payment, and more. - [File System Access API: reading and writing local files](https://openpwa.net/reference/capabilities/file-system-access/): How showOpenFilePicker/showSaveFilePicker/showDirectoryPicker work, file and directory handles, the permission model, persisting handles, and the Safari/Firefox fallback. - [Installation](https://openpwa.net/reference/installation/): Installability criteria, install prompts, badging, and the N+1 problem. - [The install prompt: beforeinstallprompt and customizing install](https://openpwa.net/reference/installation/install-prompt/): How beforeinstallprompt works, how to defer and trigger it from a user gesture, installability criteria, and why iOS requires a manual Add to Home Screen. - [Manifest](https://openpwa.net/reference/manifest/): The web app manifest: scope, display, icons, screenshots, shortcuts, share_target, and localization. - [Manifest display modes: standalone, fullscreen, minimal-ui, browser](https://openpwa.net/reference/manifest/display/): What the manifest display member controls, the fallback chain across fullscreen/standalone/minimal-ui/browser, display_override for window-controls-overlay, and how to choose a mode. - [Manifest scope: your PWA's installation boundary](https://openpwa.net/reference/manifest/scope/): How the manifest scope member defines app context, deep links, share_target, shortcuts, and off-scope navigation — and how to align it with your product. - [Notifications](https://openpwa.net/reference/notifications/): Web Push, permissions, and periodic background sync. - [Web Push: subscriptions, permissions, and delivery](https://openpwa.net/reference/notifications/web-push/): How the Push API, VAPID subscriptions, the permission model, and the service worker push/notificationclick events fit together — and why iOS requires an installed PWA. - [Performance](https://openpwa.net/reference/performance/): INP / Core Web Vitals, View Transitions, and Speculation Rules. - [Core Web Vitals for PWAs: LCP, INP, and CLS](https://openpwa.net/reference/performance/core-web-vitals/): What LCP, INP, and CLS measure, their good/needs-improvement thresholds at the 75th percentile, field vs lab data, and the PWA-specific levers that move each metric. - [Platforms](https://openpwa.net/reference/platforms/): Safari/iOS, Chrome/Android, desktop, and Baseline 2026. - [PWAs on iOS and Safari](https://openpwa.net/reference/platforms/ios-safari/): How PWAs install and behave on iOS/WebKit — Add to Home Screen, standalone mode, service workers, Web Push for installed PWAs, storage limits, and the practical constraints to design around. - [Service Worker](https://openpwa.net/reference/service-worker/): The service worker: lifecycle, caching strategies, Workbox, and background sync. - [Service worker lifecycle: install, activate, and update](https://openpwa.net/reference/service-worker/lifecycle/): How a service worker registers, installs, activates, waits, and updates — and how skipWaiting and clients.claim change who controls the page. - [Storage](https://openpwa.net/reference/storage/): Quotas, persistence, eviction, and the Storage Access API. - [Storage persistence, quotas, and eviction](https://openpwa.net/reference/storage/persistence/): How the StorageManager API estimates quota and requests persistent storage, how browsers grant it, what gets evicted under pressure, and how to keep offline data durable. ## Compatibility - [Compatibility](https://openpwa.net/compatibility/): The "Can I PWA?" data explorer — browser, OS, version, and country-weighted reach for every PWA capability, plus the ad, payment, and store policy dimensions no general reference carries. - [Background Sync](https://openpwa.net/compatibility/background-sync/): Defer actions until the user has stable connectivity via the service worker. - [Badging API](https://openpwa.net/compatibility/badging-api/): Set an app-icon badge (count or dot) on the installed PWA. - [By browser](https://openpwa.net/compatibility/by-browser/): Feature × browser-family support pivot for PWA capabilities. - [By country / region](https://openpwa.net/compatibility/by-country/): Effective PWA reach weighted by real-world browser share — the differentiator. - [By feature](https://openpwa.net/compatibility/by-feature/): Per-capability PWA support matrices: OS × browser × version. - [By OS](https://openpwa.net/compatibility/by-os/): Feature × operating-system support pivot for PWA capabilities. - [File System Access API](https://openpwa.net/compatibility/file-system-access/): Read and write to the user's local file system with explicit permission. - [Install Prompt (beforeinstallprompt)](https://openpwa.net/compatibility/install-prompt/): Programmatic control over the PWA install prompt via the beforeinstallprompt event. - [Web App Manifest: display](https://openpwa.net/compatibility/manifest-display/): The display member chooses the installed app's window mode (standalone, fullscreen, minimal-ui, browser). - [Web App Manifest: scope](https://openpwa.net/compatibility/manifest-scope/): The scope member fences the installed app's navigation boundary. - [Web App Manifest: screenshots](https://openpwa.net/compatibility/manifest-screenshots/): The screenshots member supplies richer install UI in browsers and store listings. - [Payment Request API](https://openpwa.net/compatibility/payment-request/): Browser-mediated checkout sheet collecting payment and contact details. - [Policy dimension](https://openpwa.net/compatibility/policy/): Ad, payment, and store-acceptance policy as first-class compatibility data. - [Manifest Protocol Handlers](https://openpwa.net/compatibility/protocol-handlers/): Register a PWA to handle custom or allow-listed URL protocols via manifest.protocol_handlers. - [Service Workers](https://openpwa.net/compatibility/service-worker/): The programmable network proxy that powers offline, caching, and push for PWAs. - [Web Push](https://openpwa.net/compatibility/web-push/): Server-sent push messages delivered via the Push API + service worker, even when the app is closed. ## Guides - [Guides](https://openpwa.net/guides/): Task-oriented how-tos and learning paths for building Progressive Web Apps — from your first PWA to installability, offline, performance, and advanced topics. - [Advanced](https://openpwa.net/guides/advanced/): Production-grade capabilities — push, file access, and platform integration — added as progressive enhancement with a compatibility check at every step. - [Getting started](https://openpwa.net/guides/getting-started/): Build and ship your first installable PWA — add a manifest, register a service worker, and meet the installability bar — end to end. - [Make it installable](https://openpwa.net/guides/installable/): Go beyond the minimum bar — meet every installability criterion and design an install moment that earns the add-to-home-screen. - [Offline strategies](https://openpwa.net/guides/offline/): Give the service worker something useful to do — pick a caching strategy per request type and keep the app working without a network. - [Performance](https://openpwa.net/guides/performance/): Measure the Core Web Vitals, fix the largest offenders, and use the service worker to make launch feel instant. ## Ecosystem - [Ecosystem](https://openpwa.net/ecosystem/): PWA ecosystem intelligence — distribution, monetization, ad-network and payment support, store-acceptance policy, and tooling. Decision-grade commercial analysis, with no app catalog. - [Ad networks](https://openpwa.net/ecosystem/ad-networks/): Which ad networks support PWA inventory, the standalone-vs-browser context that affects payout, and where the sourced, per-network verdicts live. - [Distribution](https://openpwa.net/ecosystem/distribution/): How PWAs reach users — installable web, Trusted Web Activity on Android, packaged listings in app stores, and desktop install. - [Monetization](https://openpwa.net/ecosystem/monetization/): The revenue paths open to a PWA — advertising, in-app payments and commerce, subscriptions, and affiliate — and where each is constrained by platform policy. - [Payments](https://openpwa.net/ecosystem/payments/): Which payment methods and SDKs work inside a PWA — Payment Request, Google Pay, Apple Pay, and provider SDKs — and where the sourced support verdicts live. - [Store policy](https://openpwa.net/ecosystem/stores/): How each app store packages a PWA — Google Play via TWA, the Microsoft Store as a packaged PWA, and Apple's web-only path — with the sourced accept/partial/reject verdicts owned by the policy data. - [Tools](https://openpwa.net/ecosystem/tools/): A curated editorial reference of the build, package, audit, and test tooling that matters for PWAs — not a directory, marketplace, or sponsored listing. ## Optional - [中文](https://openpwa.net/zh/): the Chinese mirror, a first-class peer - [News feed](https://openpwa.net/feed.xml): dated changelog of PWA platform changes