ua-tracer
by Paul Kinlan
ua-tracer
what does a user agent actually fetch, follow & run?
Trace kPD4XQWG
First seen: 2026-06-26 22:48:13.650 UTC
User-Agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36
What this user agent did
Directly-referenced assets:
✗ fetched CSS
✗ fetched JS
✗ fetched image
✗ fetched font (HTML)
Document-level link hints:
✓ fetched favicon
✓ fetched apple-touch-icon
✗ fetched web manifest
✗ fetched preload
✗ fetched prefetch
Second-level follows (proves it parsed the linking file):
✗ followed CSS background-image
✗ followed CSS @font-face
✗ followed manifest icon
✗ followed CSS @import
Frames (does it descend into iframes?):
✗ fetched iframe document
✗ descended into iframe (loaded inner image)
Reporting (a report-only CSP is violated by inline styles; reports can arrive via HTTP headers with no JS, or via in-page beacons):
✗ sent a CSP/Reporting report (any path)
✗ delivered via report-uri/Report-To header (no JS)
✗ delivered via in-page beacon (securitypolicyviolation / ReportingObserver)
Social embed (Open Graph / Twitter card images):
✗ fetched og:image
✗ fetched twitter:image
JavaScript execution:
✗ EXECUTED classic JS
✗ EXECUTED ES module
✗ posted client timing
Server-side request waterfall
Every request the server received for this trace, in receive order. +ms is the delta from the
homepage request.
| Received | Δ | Kind | Method | User-Agent |
|---|---|---|---|---|
| 2026-06-26 22:48:13.650 UTC | +0 ms | homepage | GET | Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36 |
request headers (7){
"accept": "*/*",
"accept-encoding": "gzip, deflate",
"host": "uatracer.com",
"traceparent": "00-f7b2df385560cd289860e17f91a4c61c-97ad3b505c4e9865-01",
"tracestate": "",
"user-agent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36",
"via": "HTTP/1.1 ams.vultr.prod.deno-cluster.net"
}
|
||||
| 2026-06-26 22:48:30.264 UTC | +16614 ms | favicon | GET | Mozilla/5.0 (iPhone; CPU iPhone OS 17_0_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0.3 Mobile/15E148 Safari/604.1 RDDocuments/8.7.2.978 |
request headers (9){
"accept": "*/*",
"accept-encoding": "gzip, deflate",
"host": "uatracer.com",
"traceparent": "00-ab96e57de09f31b09b497889fcdab452-29ef3c6e4bfd5c89-01",
"tracestate": "",
"user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0.3 Mobile/15E148 Safari/604.1 RDDocuments/8.7.2.978",
"via": "HTTP/1.1 ams.vultr.prod.deno-cluster.net",
"x-deno-userspace-traceparent": "00-ab96e57de09f31b09b497889fcdab452-88ffb2d5776cbeef-01",
"x-deno-userspace-tracestate": ""
}
|
||||
| 2026-06-26 22:48:30.267 UTC | +16617 ms | apple-touch-icon | GET | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0 |
request headers (9){
"accept": "*/*",
"accept-encoding": "gzip, deflate",
"host": "uatracer.com",
"traceparent": "00-945a59ec23cc3f5bc519543a3776ae06-9859bd8c79b00098-01",
"tracestate": "",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0",
"via": "HTTP/1.1 ams.vultr.prod.deno-cluster.net",
"x-deno-userspace-traceparent": "00-945a59ec23cc3f5bc519543a3776ae06-78c39f5a5238c9ac-01",
"x-deno-userspace-tracestate": ""
}
|
||||