- From: Noam Rosenthal <notifications@github.com>
- Date: Wed, 27 Apr 2022 04:13:30 -0700
- To: whatwg/fetch <fetch@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/fetch/pull/1429/c1110876103@github.com>
This raises a current privacy issue that the PR doesn't cover. Given all the different values of connection timing info, it's tricky to obfuscate the existence of a proxy from consumers of resource/navigation timing, which should not have access to this information. Considering a proxy that takes a second to resolve, where is this second? - If it's in a gap between DNS resolution and connection, it's easily detectable - If it's inside DNS resolution, it's detectable by using `dns-prefetch` or IP addresses as hosts - If it's inside redirect or before redirects, it's detectable by fetching a resource that doesn't have redirects. I'm proposing that the (only?) place where the proxy can be safely obfuscated is in the last bit (`responseEnd`). To do that, I propose that fetch keeps the time spent in proxy resolution, and to subtract it from all the timings between `domainLookupStart` and `responseEnd`. Those timings would become less accurate in this occasion, but representative of what would have happened if there wasn't a proxy, and the proxy time is still embedded in the total duration. /cc @achristensen11 @mikewest @yoavweiss -- Reply to this email directly or view it on GitHub: https://github.com/whatwg/fetch/pull/1429#issuecomment-1110876103 You are receiving this because you are subscribed to this thread. Message ID: <whatwg/fetch/pull/1429/c1110876103@github.com>
Received on Wednesday, 27 April 2022 11:13:42 UTC