in src/amo/tracking.js [56:79]
export function isDoNotTrackEnabled({
_log = log,
// The type above is correct but Flow complains about `Navigator` being
// incompatible with `null`, so $FlowIgnore.
_navigator = typeof navigator !== 'undefined' ? navigator : null,
_window = typeof window !== 'undefined' ? window : null,
}: IsDoNoTrackEnabledParams = {}): boolean {
if (!_navigator || !_window) {
return false;
}
// We ignore things like `msDoNotTrack` because they are for older,
// unsupported browsers and don't really respect the DNT spec. This
// covers new versions of IE/Edge, Firefox from 32+, Chrome, Safari, and
// any browsers built on these stacks (Chromium, Tor Browser, etc.).
const dnt = _navigator.doNotTrack || _window.doNotTrack;
if (dnt === '1') {
_log.info('Do Not Track is enabled');
return true;
}
// Known DNT values not set, so we will assume it's off.
return false;
}