ua-tracer by Paul Kinlan

ua-tracer

what does a user agent actually fetch, follow & run?

← all traces

Trace NPUb7zdZ

First seen: 2026-06-22 14:25:31.127 UTC
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0

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ΔKindMethodUser-Agent
2026-06-22 14:25:31.127 UTC +0 ms homepage GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (15)
{
  "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=0, i",
  "sec-fetch-dest": "document",
  "sec-fetch-mode": "navigate",
  "sec-fetch-site": "none",
  "sec-fetch-user": "?1",
  "te": "trailers",
  "traceparent": "00-9b3e034a3358438c1d126dcab44620ed-7c1b9a7c7cb03f91-01",
  "tracestate": "",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:31.885 UTC +758 ms CSS GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (14)
{
  "accept": "text/css,*/*;q=0.1",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=2",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "style",
  "sec-fetch-mode": "no-cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-5903ed67daac1cb1b8602ab9f5ad2d22-11e46bc820b0336c-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:31.889 UTC +762 ms font (HTML) GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (14)
{
  "accept": "application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=2",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "font",
  "sec-fetch-mode": "cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-9b50d0567f950bb294afec53e2c796ee-0b3f1fa61c26d2f4-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:31.890 UTC +763 ms preload (image) GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (14)
{
  "accept": "image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=5, i",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "image",
  "sec-fetch-mode": "no-cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-9f53caf453d15d1875d33dd851671b26-ade5ae8ca7b4ed95-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:31.978 UTC +851 ms JS GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (13)
{
  "accept": "*/*",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "script",
  "sec-fetch-mode": "no-cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-b3cbe6e7fe1fd775fa22f0d142375e5a-895ee7fcb6e0c8ca-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:31.981 UTC +854 ms image GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (14)
{
  "accept": "image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=5, i",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "image",
  "sec-fetch-mode": "no-cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-4d3cd1e8562794d6879ea4986bd8dedd-77cd94c2467f1331-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:31.981 UTC +854 ms ES module GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (13)
{
  "accept": "*/*",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "script",
  "sec-fetch-mode": "cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-1f1276bfce0365e2574e1a4b0d38a771-40966ba2194a0a4d-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:31.994 UTC +867 ms iframe document GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (15)
{
  "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=4",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "iframe",
  "sec-fetch-mode": "navigate",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-cac69df8b81c138e6c2089eba9adc8c3-d48bc09741e05aff-01",
  "tracestate": "",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:32.953 UTC +1826 ms CSS @import (nested stylesheet) GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (14)
{
  "accept": "text/css,*/*;q=0.1",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=2",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/r/NPUb7zdZ/style.css",
  "sec-fetch-dest": "style",
  "sec-fetch-mode": "no-cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-74c523f73d634312ce3ef67b90abe463-78952fe7b44731d5-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:34.019 UTC +2892 ms CSS background-image GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (14)
{
  "accept": "image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=4, i",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/r/NPUb7zdZ/style.css",
  "sec-fetch-dest": "image",
  "sec-fetch-mode": "no-cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-61eb6b31288f2174d389eed736ba76d7-d947fccbd85995c8-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:34.025 UTC +2898 ms JS executed beacon GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (14)
{
  "accept": "image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=5, i",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "image",
  "sec-fetch-mode": "no-cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-82b9800eb29618c58d8a0fb192702b17-71642280916d01fb-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:34.029 UTC +2902 ms CSP violation report (POST) POST Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (18)
{
  "accept": "*/*",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "content-length": "393",
  "content-type": "application/json",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "origin": "https://ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=6",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "empty",
  "sec-fetch-mode": "cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-e288efdbe0be377b14a8aa17910e26ee-8b4eda1dd5d681de-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net",
  "x-report-body": "{\"source\":\"securitypolicyviolation\",\"violatedDirective\":\"style-src-attr\",\"effectiveDirective\":\"style-src-attr\",\"blockedURI\":\"inline\",\"documentURI\":\"https://ua-tracer.paulkinlan-ea.deno.net/\",\"disposition\":\"report\",\"lineNumber\":45,\"sourceFile\":\"https://ua-tracer.paulkinlan-ea.deno.net/r/NPUb7zdZ/main.js\",\"ua\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0\"}"
}
2026-06-22 14:25:34.033 UTC +2906 ms ES module executed GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (14)
{
  "accept": "image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=5, i",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "image",
  "sec-fetch-mode": "no-cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-ed94a7aeec52f86db3052863741fb565-c8d7b890c5cf2fb3-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:34.252 UTC +3125 ms image inside iframe GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (14)
{
  "accept": "image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=5, i",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/r/NPUb7zdZ/iframe",
  "sec-fetch-dest": "image",
  "sec-fetch-mode": "no-cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-e46fdf4815ccdee314bb2ee128e28ead-a1a895a7a47cbeea-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:34.328 UTC +3201 ms apple-touch-icon GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (14)
{
  "accept": "image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=6",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "image",
  "sec-fetch-mode": "no-cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-0e7a45a84b832da3ff4010e62b6c218c-779d66909272723d-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:34.329 UTC +3202 ms favicon GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (14)
{
  "accept": "image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=6",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "image",
  "sec-fetch-mode": "no-cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-14339b936db25345b4a48b77a3acd616-2557465f6373eb35-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:35.145 UTC +4018 ms CSS @font-face GET Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (13)
{
  "accept": "application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8",
  "accept-encoding": "identity",
  "accept-language": "en-US,en;q=0.5",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/r/NPUb7zdZ/style.css",
  "sec-fetch-dest": "font",
  "sec-fetch-mode": "cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-3e422647333dba86a17904a34d33b329-49a3bf05db882a0e-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
2026-06-22 14:25:36.362 UTC +5235 ms client timing POST POST Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
request headers (17)
{
  "accept": "*/*",
  "accept-encoding": "gzip, deflate, br, zstd",
  "accept-language": "en-US,en;q=0.5",
  "content-length": "3399",
  "content-type": "application/json",
  "host": "ua-tracer.paulkinlan-ea.deno.net",
  "origin": "https://ua-tracer.paulkinlan-ea.deno.net",
  "priority": "u=6",
  "referer": "https://ua-tracer.paulkinlan-ea.deno.net/",
  "sec-fetch-dest": "empty",
  "sec-fetch-mode": "cors",
  "sec-fetch-site": "same-origin",
  "te": "trailers",
  "traceparent": "00-51771af9aecdb93ed8e3e9bb5abc3823-7b43d69a8d645fe7-01",
  "tracestate": "",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0",
  "via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}

Client-side resource waterfall

Reported by performance.getEntriesByType('resource') after JS ran in the UA. This proves a real browser-grade engine, not just a downloader.

ResourceInitiatorStartDurationTimeline
font.woff2 other 1284ms 633ms
preload.png link 1284ms 877ms
style.css link 1284ms 1090ms
csp-report other 1326ms 0ms
apple-touch-icon.png other 1328ms 4390ms
csp-report other 1329ms 0ms
favicon.ico other 1329ms 4115ms
module.js script 1397ms 1232ms
main.js script 1397ms 1509ms
photo.png img 1397ms 1773ms
iframe iframe 1406ms 2249ms
csp-report other 1408ms 0ms
import.css css 2377ms 1039ms
css-bg.png css 3427ms 613ms
js-ran.gif?t=1782138333905 img 3432ms 827ms
csp-report other 3434ms 0ms
module-ran.gif?t=1782138333908 img 3434ms 1553ms
csp-report other 3435ms 1327ms
css-font.woff2 other 4571ms 592ms