These checks are fundamental. Any failure produces FAIL.
| Check | Expectation |
|---|---|
| HTTPS | The scanned URL is HTTPS (bare domains are tried as https://). |
| Site reachable | The document returns a successful HTTP response. |
| Manifest discoverable | The HTML includes <link rel="manifest">. |
| Manifest valid | The manifest is JSON and an object. |
| Identity | name or short_name is present. |
| Start URL | start_url resolves and lies within scope. |
| Scope | A scope can be determined (explicit, or the manifest directory). |
| App-like display | display or display_override is standalone, fullscreen, minimal-ui, or window-controls-overlay. browser fails. |
| Start URL responds | The start URL returns a successful HTTP response. |
| Suitable icons | At least one reachable raster icon whose shortest side is ≥ 192, or a valid SVG icon. |
PWARegistry does not require every optional member of the manifest. Implement only what the app needs.
For how to author a manifest, see MDN: Web App Manifest and the W3C specification.