ua-tracer
by Paul Kinlan
ua-tracer
what does a user agent actually fetch, follow & run?
Trace 6kKBmrIG
First seen: 2026-07-03 07:16:29.961 UTC
User-Agent: Harmonic-HN-Android/3.0.1/release
Bot verification: Not a known bot (no IP-range check applies).
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-07-03 07:16:29.961 UTC | +0 ms | homepage | GET | Harmonic-HN-Android/3.0.1/release |
request headers (9){
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"accept-encoding": "gzip",
"host": "uatracer.com",
"traceparent": "00-45af17e1986d6b875a23542590b1deb4-43b9aa96d43d141a-01",
"tracestate": "",
"user-agent": "Harmonic-HN-Android/3.0.1/release",
"via": "HTTP/2 ams.vultr.prod.deno-cluster.net",
"x-deno-userspace-traceparent": "00-45af17e1986d6b875a23542590b1deb4-2ffaf27d9a105242-01",
"x-deno-userspace-tracestate": ""
}
|
||||
| 2026-07-03 07:16:33.273 UTC | +3312 ms | Open Graph image | GET | Harmonic-HN-Android/3.0.1/release |
request headers (8){
"accept-encoding": "gzip",
"host": "uatracer.com",
"traceparent": "00-62b69e6cbbf18f2fd16821550d10b305-97f26405e61ed6f9-01",
"tracestate": "",
"user-agent": "Harmonic-HN-Android/3.0.1/release",
"via": "HTTP/2 ams.vultr.prod.deno-cluster.net",
"x-deno-userspace-traceparent": "00-62b69e6cbbf18f2fd16821550d10b305-947995d4f6c9a4f7-01",
"x-deno-userspace-tracestate": ""
}
|
||||
| 2026-07-03 07:16:54.202 UTC | +24241 ms | Open Graph image | GET | Harmonic-HN-Android/3.0.1/release |
request headers (6){
"accept-encoding": "gzip",
"host": "uatracer.com",
"traceparent": "00-b6235e26ce29b8c518effdf7dae5a16d-d5cc0cd18b9d1316-01",
"tracestate": "",
"user-agent": "Harmonic-HN-Android/3.0.1/release",
"via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
|
||||