# Device Lab run guides

> Guides for running Device Lab tests on an iPhone or iPad, setting up Web Inspector, naming screenshots and sending results, with the rules every run follows.

import LabProvenance from '@components/lab/LabProvenance.astro';

You can repeat a Device Lab test on an iPhone or iPad using the [protocol](https://openpwa.net/research/2026-10-ios18-home-screen-web-apps/data/PROTOCOL.md) published with the 2026-10-20 study, then compare your result with the published data. The only published run is on one iPhone; the protocol plans an iPad subset if time allows.

## Guides

- [Run the tests on iPhone and iPad](/lab/guides/iphone-ipad/): the whole run from the hash check to closing the run.
- [Set up Web Inspector](/lab/guides/web-inspector/): pair an iPhone with a Mac and read page state from Safari tabs and Home Screen apps.
- [Screenshots and recordings with file names](/lab/guides/screenshots-and-naming/): the naming rule and environment block, with instructions for redaction.
- [Send your results](/lab/guides/send-results/): copy the JSON a harness page shows and email it.

## Rules for every run

Rules 1 and 2 and rules 3 and 5 come from the published protocol. Rule 4 follows the reproducibility notes in the study [report](https://openpwa.net/research/2026-10-ios18-home-screen-web-apps/data/REPORT.md) (section 13).

1. Record a push subscription's endpoint host only (for example `web.push.apple.com`), never the full endpoint or its keys. Keep other apps' content out of the evidence: crop or skip any screenshot that shows another app's notification, a contact, the carrier name or the location. Remove identifiers such as the device UDID before you publish or send a file; the study [data package](https://openpwa.net/research/2026-10-ios18-home-screen-web-apps/data/README.md) replaced the UDID in its read script with a variable before publication.
2. Fill in an environment block once per device per session: date and time with the time zone; device marketing name and model number; OS version and build; release channel; Safari version and user agent; device language and region; any Safari feature flag changed from its default; content blockers and VPN, plus iCloud Private Relay; the Mac and Safari version used for Web Inspector, if any.
3. When a test asks for it, remove the Home Screen icon (touch and hold, then choose **Remove App** followed by **Delete**) and clear the site's data in Settings > Apps > Safari > Advanced > Website Data before you start.
4. Compare the files you load with the hashes in [/lab/harness/v1/SHA256SUMS.txt](/lab/harness/v1/SHA256SUMS.txt), which lists the SHA-256 of each harness v1 file as served. The report asks for this because the lab can change: during the 2026-10-20 run a deploy at about 08:28 UTC changed `lab.js`, and pages that were already open kept the cached earlier copy.
5. Leave Safari's feature flags as they are. Record any that are already non-default.

## Other platforms

The 2026-10-20 study ran on one iPhone. Android Chrome and desktop Chromium have no run guide in this phase; neither do Firefox and Samsung Internet. The [roadmap](/lab/roadmap/) lists those tests: share target and install prompts on Android, file handling and launch handling on desktop Chromium, Firefox install surfaces, and storage persistence.

<LabProvenance locale="en" />