Re: Migrating some high-entropy HTTP headers to Client Hints.

On Sun, Jan 13, 2019 at 3:56 AM Martin J. Dürst <>

> Sorry to be very late, and with a rather basic question:
> The point about substantial fingerprinting is definitely important. But
> what's the difference, in terms of fingerprinting, between the following
> two alternatives?
> a) The browser sending out Accept-Language,... to a server interested in
> fingerprinting.
> b) A server interested in fingerprinting sending out an Accept-CH header
> with the equivalent information, even if the server doesn't need e.g.
> language information for serving the request.

Hey Martin, good question!

In short, the client hints infrastructure places a number of limitations on
the ways in which hints can be enabled for a given request. Some of those
are documented in I'll
hit the highlights below:

1.  No plaintext delivery; hints can be delivered over encrypted channels,
which means that we'll substantially reduce the scope of leakage to network

2.  Client hints are moving to a delegation model whereby "first-party"
responses (top-level navigations, etc) can opt-into receiving hints, but
subresource requests cannot. That is, assuming the server you're talking
about above lives at ``, it can obtain access
when the user directly navigates to ``, but can
only obtain access in third-party contexts (e.g. when embedded as a frame
on ``) if the top-level domain explicitly delegates
the privilege to it. Note that there's some ongoing work (described in to
bring the various specifications up to date with this decision. +Ilya
Grigorik <>, +Yoav Weiss <>, and
friends are working through those.

3.  Because this data is no longer broadcast by default, but must be
explicitly requested, the onus falls upon the requestor to justify the
request. The explicitness makes it easier for researchers to dig into data
usage, and, in the best case, brings abuses to light.

Does that answer your question?


Received on Monday, 14 January 2019 14:27:21 UTC