Skip to content

iOS 18.6.2 Home Screen web app test data

The data package contains sanitised evidence from the OpenPWA test of Home Screen web apps on one iPhone 16 Pro running iOS 18.6.2 (22G100) on 2026-10-20. An OpenPWA operator performed every step on the phone; AI agent sessions read the page state over USB, kept the notebook and analysed the screenshots and the recording. The package holds the lab notebook (entries N01 to N66), the test report, the protocol, 77 raw JSON files (43 reads and 34 metadata sidecars), the read-only probe scripts with their hashes, 28 screenshots and a trimmed screen recording.

How to cite

Cite the data as:

OpenPWA device test, 2026-10-20, iPhone 16 Pro, iOS 18.6.2 (22G100). https://openpwa.net/research/2026-10-ios18-home-screen-web-apps/data/

To cite one finding, add its notebook entry, for example "…, N35". The notebook is append-only and corrections are later entries, so cite the latest entry on a topic.

What was removed before publication

  • Screenshots were re-encoded without EXIF or XMP metadata. Five were redacted: unrelated Home Screen apps, other rows of the Settings notification list, tab titles from other sites and a keyboard toolbar are blanked in grey.
  • The recording was re-encoded, its first second (a Home Screen with unrelated apps) cut and its audio removed.
  • The probes recorded push endpoints as host only: no endpoint path, p256dh or auth value is in any file. The VAPID public key is the one published on openpwa.net; its private key was discarded.
  • The device UDID, the per-install identifier of a Safari Web Extension and a local working path were replaced by placeholders. Other origins in the inspector page lists were already redacted at capture.
  • Internal editorial-workflow steps were omitted from the protocol. README.md lists every file that differs from the private archive, and ARCHIVE-SHA256SUMS.txt holds the archive hashes.

Files

SHA256SUMS.txt lists the hash of each file. The archive has its own .sha256 file. Hover a hash to see its full value.

Notebook, report and package files

FileSizeSHA-256
2026-10-ios18-baseline.md141 KB960d5f48eee578f0…
ARCHIVE-SHA256SUMS.txt15 KB355e9d1595f371e3…
FINDINGS.md5 KB26a46d976bd09f94…
PROTOCOL.md7 KB6608558d4dece7f8…
README.md6 KBac0f001aad1211b1…
REPORT.md49 KBffe14ae1d0f78b26…
SHA256SUMS.txt16 KB—
openpwa-ios18.6.2-device-test-2026-10-20.zip9.0 MB9e2bdbcaba38d710…

Raw page reads

FileSizeSHA-256
raw/2026-10-20-ios18.6.2-25c-post-app-perm.json3 KBf343dcd1b3d0d332…
raw/2026-10-20-ios18.6.2-25c-post-app-perm.meta.json1 KB65ca865fbd430d5c…
raw/2026-10-20-ios18.6.2-25c-pre-app-perm.json3 KB62420222932c4593…
raw/2026-10-20-ios18.6.2-25c-pre-app-perm.meta.json1 KB5f8cc92e4da7e74a…
raw/2026-10-20-ios18.6.2-N48-app-t4-dark.json1 KBe480ac6eb2ad5d12…
raw/2026-10-20-ios18.6.2-N48-app-t4-dark.meta.json774 B421c00b8f58b403c…
raw/2026-10-20-ios18.6.2-N51-tab-sbs-transl.json2 KB5c682d66a0a25b25…
raw/2026-10-20-ios18.6.2-N51-tab-sbs-transl.meta.json2 KB1e01f9e6bf9cc080…
raw/2026-10-20-ios18.6.2-N55-app-sbs-transl.json2 KB4743bbdb03047911…
raw/2026-10-20-ios18.6.2-N55-app-sbs-transl.meta.json823 B2e234d355eb807c8…
raw/2026-10-20-ios18.6.2-step01-tab-demo.json8 KB405e8c61d0ebbf2f…
raw/2026-10-20-ios18.6.2-step02-tab-lab.json13 KBd897b7aef9abf3de…
raw/2026-10-20-ios18.6.2-step03-tab-demo-push.json9 KBaaa8fd63d5666bd3…
raw/2026-10-20-ios18.6.2-step09-app-demo.json8 KB96f29f9c80e6eab3…
raw/2026-10-20-ios18.6.2-step10-tab-demo.json8 KBab580b5d50e3ec2e…
raw/2026-10-20-ios18.6.2-step11-app-demo-timing.json65 Baf1de2aa908eacee…
raw/2026-10-20-ios18.6.2-step11-app-demo-timing.meta.json857 Bdd41bcce41d3e630…
raw/2026-10-20-ios18.6.2-step11-app-demo.json8 KB0e82eb77859efb50…
raw/2026-10-20-ios18.6.2-step11-app-demo.meta.json859 Bd4b79d658262bda1…
raw/2026-10-20-ios18.6.2-step11b-tab-demo.json8 KBf35015e71a79ac40…
raw/2026-10-20-ios18.6.2-step11b-tab-demo.meta.json2 KB3283f53abca40e47…
raw/2026-10-20-ios18.6.2-step12-app-lab.json12 KB76f08138d3e4186b…
raw/2026-10-20-ios18.6.2-step12-app-lab.meta.json1 KB39702bb9129c658d…
raw/2026-10-20-ios18.6.2-step13-tab-lab.json7 KB336dc312ded19170…
raw/2026-10-20-ios18.6.2-step13-tab-lab.meta.json2 KB81b83881a34c027c…
raw/2026-10-20-ios18.6.2-step13-tab-t3-marker.json426 B7c7c9cbb4cad2851…
raw/2026-10-20-ios18.6.2-step13-tab-t3-marker.meta.json2 KB4eba191267538ddf…
raw/2026-10-20-ios18.6.2-step13b-app-lab-marker.json410 B85c93689762090dd…
raw/2026-10-20-ios18.6.2-step13b-app-lab-marker.meta.json2 KB525c7dfee8663178…
raw/2026-10-20-ios18.6.2-step13c-app-noati-marker.json383 Bf7de142d8a34fea6…
raw/2026-10-20-ios18.6.2-step13c-app-noati-marker.meta.json1 KB8eefc38d4e3ac7c9…
raw/2026-10-20-ios18.6.2-step13d-tab-lab-marker.json414 B1b0e3aea79b7af23…
raw/2026-10-20-ios18.6.2-step13d-tab-lab-marker.meta.json2 KBcc547b976009366b…
raw/2026-10-20-ios18.6.2-step14-t1probe-timing.json65 Bf6e4c354f6847329…
raw/2026-10-20-ios18.6.2-step14-t1probe-timing.meta.json2 KBb7aca0d40f813ce7…
raw/2026-10-20-ios18.6.2-step14-t1probe.json11 KBbb1ae3fc48800937…
raw/2026-10-20-ios18.6.2-step14-t1probe.meta.json2 KB68fcefb1d03bdc2f…
raw/2026-10-20-ios18.6.2-step15-app-lab-timing.json65 B4714435066c9639a…
raw/2026-10-20-ios18.6.2-step15-app-lab-timing.meta.json1 KBd47c52c723e14661…
raw/2026-10-20-ios18.6.2-step15-app-t4-baseline.json677 B13a5d64339894e0a…
raw/2026-10-20-ios18.6.2-step15-app-t4-baseline.meta.json1 KB5a59087bc8d31bad…
raw/2026-10-20-ios18.6.2-step15r-t4-baseline-timing.json65 B749c0b2bbffa142b…
raw/2026-10-20-ios18.6.2-step15r-t4-baseline-timing.meta.json1 KB03a827711e781cdc…
raw/2026-10-20-ios18.6.2-step15r-t4-baseline.json1 KB0f22a03669c1916d…
raw/2026-10-20-ios18.6.2-step15r-t4-baseline.meta.json1 KB89bb87c9474d8c27…
raw/2026-10-20-ios18.6.2-step16-app-t4-fixed.json1 KBe0ff73a898c189dc…
raw/2026-10-20-ios18.6.2-step16-app-t4-fixed.meta.json1 KB54d09eddcc824c19…
raw/2026-10-20-ios18.6.2-step16-app-t4-safe-area.json1 KBb9605e11ab8d5e2c…
raw/2026-10-20-ios18.6.2-step16-app-t4-safe-area.meta.json1 KB342567a577e96b69…
raw/2026-10-20-ios18.6.2-step16-app-t4-sticky.json1 KB883a3e3906f0da33…
raw/2026-10-20-ios18.6.2-step16-app-t4-sticky.meta.json1 KB23eef49172c64bfd…
raw/2026-10-20-ios18.6.2-step17-app-t4-baseline-landscape.json1 KBefb4163ffbb61945…
raw/2026-10-20-ios18.6.2-step17-app-t4-baseline-landscape.meta.json2 KBa9a6b5e923b9b4e1…
raw/2026-10-20-ios18.6.2-step18b-app-t4-white-top.json1 KBde5ffd0f2a3689a1…
raw/2026-10-20-ios18.6.2-step18b-app-t4-white-top.meta.json932 Bfc91757f4229e6af…
raw/2026-10-20-ios18.6.2-step19-app-lab-perm.json501 Bf53da02d3600ecaa…
raw/2026-10-20-ios18.6.2-step19-app-lab-perm.meta.json1 KB9d8110ae68d9f04a…
raw/2026-10-20-ios18.6.2-step20-app-lab-sub.json514 Ba126521ac03d3544…
raw/2026-10-20-ios18.6.2-step20-app-lab-sub.meta.json1 KB7d7248cad89bb006…
raw/2026-10-20-ios18.6.2-step21-app-lab-exposure.json1 KB6d1a6e2b82d55fd5…
raw/2026-10-20-ios18.6.2-step21-app-lab-exposure.meta.json1 KBc38f9623e991f135…
raw/2026-10-20-ios18.6.2-step22-app-lab-events.json8 KB0c23780d4e534878…
raw/2026-10-20-ios18.6.2-step22-app-lab-events.meta.json1 KBde91da436537d90d…
raw/2026-10-20-ios18.6.2-step23-app-lab-events.json10 KBaa65388d92b0b4bc…
raw/2026-10-20-ios18.6.2-step23-app-lab-events.meta.json1 KB862ad37992a27392…
raw/2026-10-20-ios18.6.2-step24-app-lab-events.json12 KB064291f8cb4f0f83…
raw/2026-10-20-ios18.6.2-step24-app-lab-events.meta.json742 Bcb248d5a5d97f95f…
raw/2026-10-20-ios18.6.2-step24b-app-lab-events.json12 KB2e2fa35bf504eda8…
raw/2026-10-20-ios18.6.2-step24b-app-lab-events.meta.json742 Bdc07ec37e5dc66f7…
raw/2026-10-20-ios18.6.2-step25b-app-demo-push.json470 B523406cca1fad61a…
raw/2026-10-20-ios18.6.2-step25b-app-demo-push.meta.json731 B92b3ccc78b703dfe…
raw/2026-10-20-ios18.6.2-step25b-app-demo-timing.json65 Be146cfc41d0b66d8…
raw/2026-10-20-ios18.6.2-step25b-app-demo-timing.meta.json728 B427940512410da80…
raw/2026-10-20-ios18.6.2-tab-demo.json8 KB68120088a2cea174…
raw/2026-10-20-ios18.6.2-tab-ios-a2hs.json8 KB3d51ef90044593fc…
raw/2026-10-20-ios18.6.2-tab-lab.json14 KB63a338f347383368…
raw/2026-10-20-ios18.6.2-tab-t1-no-manifest.json7 KBa87d8d8377983a13…

Probe scripts

FileSizeSHA-256
tools/SHA256SUMS.txt1 KBf62cf1da754fac40…
tools/badge.js498 B3b4b63c12bfaf4ff…
tools/demo-push.js1 KBb1c2dbad5d8d3a8f…
tools/events.js791 Bbe959681ea3d06d4…
tools/events2.js1 KBcd0fddeddb63519e…
tools/exposure.js416 Ba31d585078ce3d93…
tools/marker.js467 Ba60b1f7899786131…
tools/perm.js1 KBf536df7f8196a4a7…
tools/perm7.js2 KB99fece34001284dd…
tools/probe-t1.mjs12 KB62ab60950de2a924…
tools/probe-wi.js10 KB30dcbe4b6948a39b…
tools/probe.mjs12 KBb594c0a2acae8cd9…
tools/site-snapshots/SHA256SUMS.txt674 B7cc6e050e71c7756…
tools/site-snapshots/lab.js.git-b72fe9ca15 KB849c0ac7a21d01ff…
tools/site-snapshots/lab.js.live-2026-10-20T0828Z16 KBeb7c4d5ddfb2986a…
tools/site-snapshots/sw.js.git-b72fe9ca7 KB0e7e6f34cb814d80…
tools/site-snapshots/sw.js.live-2026-10-20T0828Z7 KB0e7e6f34cb814d80…
tools/site-snapshots/t7-perm-index.html.live-2026-10-20T0930Z12 KBb7240ef04a15035c…
tools/site-snapshots/t7-perm-manifest.live-2026-10-20T0930Z749 Be667b5f34c2c41f6…
tools/site-snapshots/t7-perm-sw.js.live-2026-10-20T0930Z4 KB6a22bfccf256d296…
tools/sub.js1 KB9a1d7f87e56a4f3d…
tools/t4.js2 KB6af7a07ac8f0b2eb…
tools/t4b.js3 KB69d66f9c30bf3859…
tools/timing.js144 Bd7b1fa8512112c8d…
tools/wi-eval.mjs2 KBfb4d9b08de1f204f…
tools/wi-read.sh3 KB66f83156aa6398f8…

Screenshots

FileSizeSHA-256
screenshots/2026-10-20_iphone16pro_ios18.6.2_T11_1_redacted.png142 KBfd710ee211a5ae15…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T1_4.png289 KB0a6a464122f41e1e…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T2_2.png216 KB88395a6b71165c84…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_12a.png205 KB9fe37af8baa1d327…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_18c_M1.png228 KB84519f6539f5c8c3…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_18c_M2.png220 KB44b263d917c119a7…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_18c_M3.png222 KB2bc12bd8f64ee45b…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_18c_sheet_redacted.png95 KB8e311b850d85dfd9…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_2.png223 KB982d9fced0a2c3b5…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_3a.png215 KB78e134c58ea7801e…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_3b.png193 KB68de42203ea08cdc…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_4.png214 KB0bed47bfb974650a…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_5.png220 KB51fbeaaa0aba314a…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_5_landscape_redacted.png189 KBe6da80c2f7b1106c…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_reobs_1.png206 KB65e2ab4574bacf79…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_reobs_2.png220 KBd1a7dc598e6a3653…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_reobs_3.png214 KBa724ba77a058d387…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_reobs_4.png207 KB0ec9ec648d284fbe…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_reobs_5.png221 KBfa176009c6b17862…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_reobs_6.png213 KB166834bae0949598…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T4_reobs_7.png213 KB254fcc3852f8207d…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T7_2.png401 KB12c90c569b3ca04d…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T7_4_redacted.png143 KB6e30c0409485c4dc…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T7_4a.png130 KBa2ce50666c6a9090…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T7_sub_1.png212 KBdd202e34ae7b41ce…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T8_1a.png330 KBbf38dd10793e4f0d…
screenshots/2026-10-20_iphone16pro_ios18.6.2_T8_1b_redacted.png298 KBc818e87810c785e2…
screenshots/2026-10-20_iphone16pro_ios18.6.2_unassigned_1.png258 KB062b2dbf483ed106…

Recording and key frames

FileSizeSHA-256
recording/2026-10-20_iphone16pro_ios18.6.2_T7_25c_frame_t000.2s_home_redacted.png163 KB0af690d7ebf2d440…
recording/2026-10-20_iphone16pro_ios18.6.2_T7_25c_frame_t060s_before.png339 KB5fedd2051fd8fce3…
recording/2026-10-20_iphone16pro_ios18.6.2_T7_25c_frame_t071.5s_prompt.png376 KB62aeb0c137d30ef6…
recording/2026-10-20_iphone16pro_ios18.6.2_T7_25c_frame_t074s_after.png343 KB25657f137f58b287…
recording/2026-10-20_iphone16pro_ios18.6.2_T7_25c_trimmed.mp42.6 MBe103576468000cd1…

Limits of this data

The test used one device on one build. The phone was not wiped and had at least one Safari Web Extension installed. Several operator reports were later corrected by records, and some results rest on the operator report alone; each is labelled A (agent-measured), S (screenshot or recording) or O (operator report). No real push message was sent. The study lists the remaining limitations.