Do_not_track(donottrack.sh)
365 points by RubyGuy 18 hours ago | 49 comments
charles_f 13 hours ago
It's interesting that we're so used to be tracked at this point that no one balks at being opted-in by default. A flag called DO_NOT_TRACK sounds like a good idea, but also suggests the default is CONSENT_TO_TRACK=1, and I find that creepy.
thephyber 12 hours ago
Do not track WHEN?

This flag is sent by my browser when I connect to SOMEONE ELSE’s SERVER.

The internet only took off because the primary business model which ran on ads and derivative information that servers do to their users.

It’s not fun. It’s not private or secure. It’s not illegal (in most jurisdictions for most industries). The flag exists as a response to the de facto and de jure state of the world, not some fairytale scenario.

RugnirViking 8 hours ago
> The internet only took off because the primary business model which ran on ads

No? It took off before advertising was widespread as a primary or sole funding business model? Also there's literally nothing about advertising that requires data collection about users. Sure they love to do it, and they might even believe that it helps their profits in some way. But it's not inherent, they got along just fine with billboards and newspaper classifieds. TV ads never required personal information. Not did pre roll cinema ads, or radio adverts. Nobody was bemoaning in the streets that they couldn't possibly find anything to buy

y42 6 hours ago
> The internet only took off because the primary business model which ran on ads and derivative information that servers do to their users.

quite the opposite I would argue:

https://nickyreinert.de/2020/2020-10-24-marketing-killed-the...

tdeck 1 hour ago
The article is about local desktop / CLI tools that collect telemetry, not the web browser "do not track" standard.
thayne 6 hours ago
You can have ads without tracking.
charles_f 11 hours ago
Article quite literally talks about tracking of cli tools you run on your own computer, half of which are to pilot products that you pay with your own money.

Get off your high horse.

doginasuit 11 hours ago
I would advocate for not getting your horse high to begin with, or hide your stash better.
dylan604 8 hours ago
Wow, I guess I grew up too close to actual cowboys that this is an interpretation I just never considered. Not sure why though as it's right there for the taking.
righthand 7 hours ago
You’re confusing the Internet with Google.
lee_ars 1 hour ago
> This flag is sent by my browser when I connect to SOMEONE ELSE’s SERVER.

...and promptly, thoroughly ignored.

Griffinsauce 5 hours ago
> The internet only took off because the primary business model which ran on ads and derivative information that servers do to their users.

Arguable, on the other hand it did kill the internet. (or, almost so far, we'll see whether we rebound after decades of enshittification)

shevy-java 5 hours ago
I actually consider such a flag to be problematic. I don't want to give out any information - of course I never want to be tracked, but marking this via an ENV variable alone, already makes zero sense to me. I don't understand people who like that while claiming they do not want to be tracked; if they give that information, then this means they are marked.
endgame 1 hour ago
No. It shouldn't be an opt-out, and it is bad practice to write conditional settings in the negative.
_flux 4 hours ago
I always choose to go with positive terms with variables etc, so this would then be ALLOW_TRACKING=0. It brings in some consistence and makes it easier to reason, as you get to avoid double negation.

Perhaps the "DO NOT TRACK" name is somewhat of an established term, though.

FrauElster 3 hours ago
One could also implement ALLOW_TRACKING as comma separated list for applications I choose to allow it. Say I would like to share telemetry with go and brew, but not aws and the rest ALLOW_TRACKING=go,brew
_flux 2 hours ago
..and what kind of tracking, e.g. anonymous usage statistics vs update checks, e.g.

  *:analytics=1:google_analytics=0,syncthing:upgrade=1
The specification could go on and on!
PufPufPuf 16 hours ago
This is set up for the same fate as DNT in browsers. Collecting all the "do not track" env vars into a single "do_not_track.env" file, however, may not be a bad idea...
whitlock 16 hours ago
https://toptout.me - exists and handles a lot of these problems, if not looking to create a new wheel.

Though if you just want a simple ENV var that handles this WHILE honoring the specification on this page: https://github.com/alloydwhitlock/do-not-track-cli

LocalH 16 hours ago
Advertisers chose to ignore DNT because they claimed Microsoft making DNT enabled by default took agency away from the user. In reality, they probably weren't going to honor it anyway.
Gigachad 9 hours ago
There's an inherent conflict. No one _wants_ to be tracked, there is no direct benefit to being tracked and only downsides. And advertisers want to track you. So there was no way to respect the flag other than making it obscure so only a few dedicated people turned it on.
xigoi 7 hours ago
> No one _wants_ to be tracked

Plenty of people seem to genuinely believe that “personalized ads” are good for them.

jampekka 55 minutes ago
No-one is too absolute, but could ne used as a rough rule of thumb.

Depending on the study, 0.16% to 7% want to get tracked.

https://noyb.eu/sites/default/files/2025-07/Pay_or_Okay_Repo...

Jaxan 3 hours ago
They are told to believe that.
PunchyHamster 2 hours ago
and yet if they had question prompted to them even most of them would click "no"
maccard 1 hour ago
No, they don’t. They will click whichever option gets the modal out of the way.
socalgal2 7 hours ago
To play devils advocate there is a direct benefit to being tracked, at least theoretically search and ads will more relevant to you. I get no one wants ads but you do see ads here and there. It would arguably be better for you if everyone of them was relevant than not. Similarly search or even LLM answers could be better if the preferences of the asker are known

No, in not making excuses for tracking and I do lots of stuff myself of avoid being tracked

I’m only responding to the false premise that there are no benefits. There are. You can just choose to believe they aren’t worth the cost. I believe they aren’t but I have friends who opt into all tracking and even register their presence with multiple apps. They believe they’ll make more positive connections

Griffinsauce 5 hours ago
> theoretically > they believe

Exactly. From my experience: the times I've found an ad relevant and worth clicking is about one-to-a-gazillion. Maybe relevance is higher for others but that still doesn't necessarily translate to real value. (ie. your life was improved in any way)

Also, this all presumes the targeting actually works and the current sea ads for shoes I just bought disagree with that. It's all just spam.

mmooss 15 hours ago
Microsoft is too sophisticated to plead ignorance; they are responsible for that outcome and I think we can assume they knowningly chose it. (Though now Microsoft browsers are such a small portion of the market that it doesn't matter.)

The biggest failure of DNT was browser makers - including Mozilla - removing it. It has zero performance impact (1 bit?) or development cost. As long as it was out there, when there was momentum against tracking, advocates had evidence of both demand for privacy and of trackers ignoring user wishes.

applfanboysbgon 11 hours ago
> advocates had evidence of both demand for privacy and of trackers ignoring user wishes.

This evidence both still exists and is also completely useless for anything. The more important consideration, by far, is that the DNT flag was actively harmful to users in the real world because, if it was acknowledged at all, it was used maliciously to help fingerprint and track users. There is no reason for browsers to continue providing to their users a toggle that not only misleads them about what will happen with the setting enabled, but actively contributes to the opposite outcome because we live in a world where being evil is the norm.

dylan604 8 hours ago
Lately, I've come across websites that instead of a cookie banner display a banner that states they recognize and honor my wish to not be tracked. Whether that really do or not is something I did not spend time looking into. The first time I saw it I thought it was a fluke, and then it happened a few more times with in a short time period. Couldn't tell you what sites they were though as it was just something from search results.
quinndexter 7 hours ago
Just here to say yeah, I've seen this more of this lately- "The do-not-track signal has been followed" or somesuch.
mmooss 7 hours ago
Wow. I've never seen that. It would be great if it became more widespread.

But isn't DNT deprecated in most browsers? Maybe I misremember.

dylan604 6 hours ago
::shrug:: I set it a long time ago and never looked back. I never looked into it being deprecated, but I knew that pretty much everyone ignored it for reasons. But by these banners, I'm guessing it still lives on as a setting.
pseudalopex 42 minutes ago
Global Privacy Control replaced Do Not Track.
whitlock 16 hours ago
Love it. This is an annoying problem and likely the actual solution than asking folks to use a universal one. I'll put something together as a starting point.
spudlyo 16 hours ago
I was surprised how hard it was to stop the Python transformers library from phoning home to Hugging Face. I set HF_HUB_DISABLE_TELEMETRY=1, and when I called Wav2Vec2CTCTokenizer.from_pretrained I explicitly passed local_files_only=True, but still I got got a warning about not having a valid HF_TOKEN. It wasn't until I stumbled upon HF_HUB_OFFLINE=1 that I'm somewhat confident that I'm not making outgoing connections to HF every time I load a wav2vec2 model from disk.

I wouldn't have realized this was happening at all if it weren't for the obnoxious HF_TOKEN warning.

woodson 15 hours ago
HF is notorious for making it difficult to work offline (or at least not waste time trying to connect when everything needed is offline) and is constantly changing how it is being handled. Previously, there was TRANSFORMERS_OFFLINE, HF_DATASETS_OFFLINE, etc.
dylan604 8 hours ago
Does something like Little Snitch catch these to help find the things doing hidden shenanigans?
meling 2 hours ago
For the record, Go’s telemetry is local by default (not uploaded): https://go.dev/doc/telemetry
ximm 16 hours ago
Looks like a helpful honeypot! Any tool that will public announce support for this spec is a tool I know to avoid because it collects telemetry without explicit opt-in in the first place.
GuB-42 15 hours ago
DO_NOT_TRACK support doesn't mean tracking is not an explicit opt-in.

Example: the software crashes, and there is a crash handler that asks you if you want to send a crash dump. With DO_NOT_TRACK, the crash handler is disabled entirely, no question, no dump.

If it gets some adoption, that's probably how it will work. Those who have an financial interest in using tracking (ex: ads) probably won't support such an option.

bstsb 14 hours ago
i can't think of a single CLI that is possibly collecting analytics for ads
SpyCoder77 15 hours ago
Most services are already collecting telemetry, them announcing support for it won't change that.
xandrius 15 hours ago
Well, don't look too deep else you won't be using many modern tools.
msla 15 hours ago
Hey, it's a list of services to feed fake data to!
drnick1 17 hours ago
It's probably easier to run your own DNS and blacklist the offending domains. There are good blacklists with millions of telemetry domains, e.g. https://github.com/hagezi/dns-blocklists.
tosti 16 hours ago
Better yet, don't allow such spyware crap on your computer.
0123456789ABCDE 13 hours ago
pfft, just don't have a computer and you'll be good
MajorTakeaway 8 hours ago
Some hobbies are more fun than others.
rvz 16 hours ago
That is the correct way of handling this.

Everyone proclaiming a "standard" is just adding to the long list of (unofficial) alternatives.

dylan604 8 hours ago
0123456789ABCDE 2 hours ago
how is this relevant?
sersi 3 hours ago
While we wait for companies to very very slowly implement that proposal, is there a place that collects in one place all the opt out methods for most common tools in one place? Perhaps even a shell module that sets them and regularly updates its list?
smartmic 16 hours ago
> Many CLI tools, SDKs, and frameworks collect telemetry data by default.

Any of those are using a dark pattern and before exploring new ways to opt out you should look for and spend your energy on an alternative which respects your freedoms upfront.

Otek 16 hours ago
Exactly, new “standard” won’t fix it
latexr 10 hours ago
Same thing has been suggested a few years ago and it went nowhere.

https://web.archive.org/web/20200613155957/https://consoledo...

sandeepkd 4 hours ago
A GLOBAL do not track on the browsers works largely cause the target is all the websites being browsed and the tracking associated with it for advertising purposes. However telemetry is altogether a different thing, blocking it by default can be one idea, however using one standard variable to express the intent for all the tools is not practically viable
LeoPanthera 17 hours ago
The most useful part of this page is the list of optout commands to stick in my shellrc.

Is anyone maintaining a more complete list of those?

paddw 16 hours ago
an LLM would do a fine job for most common things, doesn't really matter if a few of them get hallucinated
0123456789ABCDE 15 hours ago
CobrastanJorji 4 hours ago
> We just want local software.

You just want local software to...send commands to your Cloud providers?

batisteo 17 hours ago
It worked so well on the browser already
XCSme 16 hours ago
I thought it would be a sh script to automatically set the flags for all known do not track env vars.
13 hours ago
PunchyHamster 2 hours ago
The reason browser's DNT header failed is that they don't want to user to turn off tracking by default

The reason they will not adopt common env is that because they do not want it to be easy to turn off

AndyMcConachie 2 hours ago
The reason the DNT header failed is because there is no way to enforce it. The browser can set the flag, but there's no way to ensure it's actually respected. There are no protocol police.
drayfield 16 hours ago
Given the URL and list of different opt-outs I thought this was going to be a shell script to set all these for you. In fact, I've just had an idea...
SpyCoder77 15 hours ago
Exactly what I was thinking.
13 hours ago
0xbadcafebee 15 hours ago
I don't think there is any way to stop people from tracking you. Technically speaking, you can pretty much always be tracked. Even if you eliminated all third party requests you could still be tracked. Downloads, logins, queries, etc all can be tracked. Virtually all software now has the "continuously upgrade to the latest version" bullshit so you are tracked every time you open the app. Even if you turn it off, they stop the app from working until you upgrade, so they force you to be tracked.

I think the only solution is to make it law that you can't track anyone for any reason without their consent, and can't sell consensual tracking data without an additional consent agreement. It would be a huge blow to the advertising industry, so it will never be made law, but it's the only thing that would work.

pizzly 14 hours ago
Also every time you install a program Microsoft, Apple and Google knows depending on the device. For your safety of course. The tracking is so pervasive and the majority of people do not care.
slashdev 14 hours ago
It’s already a law in Europe. GDPR and ePrivacy. You have to get consent from the user. Having worked for European companies, they take it seriously.
ezfe 11 hours ago
The assumption that telemetry is not allowed by GDPR is flawed

https://gdpr-info.eu/recitals/no-26/

xigoi 7 hours ago
Anonymous telemetry is allowed – and I don’t have a problem with that.
0xbadcafebee 7 hours ago
Unfortunately there's no such thing as anonymous telemetry. There are multiple techniques to re-identify scrubbed data, and some [seemingly innocuous] data is inherently identifying.

https://techcrunch.com/2019/07/24/researchers-spotlight-the-... | https://www.eff.org/deeplinks/2023/11/debunking-myth-anonymo...

ivanjermakov 13 hours ago
If solution was real, it would be DO_TRACK=1, not the inverse.
koala-news 3 hours ago
This goes against user experience, doesn't it?
Jaxan 2 hours ago
Why?
victorkulla 15 hours ago
The issue is that it is not enforced. My version of My IP will tell you if 'Do Not track' and 'Global Privacy Control' are set by your browser but it is up to the website to honour your requests. Check if your browser is sending them by visiting: https://fshot.org/utils/myip.php
mmooss 15 hours ago
That's great, but isn't DNT deprecated?
jamietanna 15 hours ago
Was wondering if there was a list of known opt outs as we are looking at a default opt out in Renovate[0] - we'll also look to set `DO_NOT_TRACK`

[0]: https://github.com/renovatebot/renovate/discussions/42932

Ichaelus 5 hours ago
Here is a non comprehensive list of mine: https://makandracards.com/makandra/624560-disable-telemetry-...
jamietanna 4 hours ago
Ooh thanks!
binaryturtle 15 hours ago
This is just sad. Luckily I do not use any of the listed programs. I threw out Homebrew many years ago when they started this nonsense.

The only tool I have installed currently that does %/"($& like this is Deno (required for yt-dlp now). It phones happily home even if you wrap it into a wrapper script that forces the env variable (in no way I'll pollute my default environment with stuff like this):

    $ cat /usr/local/bin/deno
    #!/bin/sh
    exec env DENO_NO_UPDATE_CHECK=1 /usr/local/packages/deno/latest/bin/deno "$@"

I wish bad dreams to whoever puts such crap into their software! Thankfully I have Little Snitch to catch most of those kind of invasions of my privacy.
Bender 13 hours ago
Domain blocking is my preference but I would imagine that trackers probably also try to weed out data that contains racism, sexism, lewdness or some combination thereof. People can get very creative with ASCII art. AI surely does not accept such things.
buybackoff 15 hours ago
No, it should be a required (by law) opt-in TRACK_ME_I_DO_NOT_CARE_OR_AM_A_TEAPOT=418.

The proposed way just normalizes tracking.

jonhohle 12 hours ago
And setting that env var should require a notarized consent to track contract that has an expiration of at most 60 days and has penalties of jail time for any data related to that telemetry, anonymized or not that is shared with a third party, for any reason, including but not limited to fulfilling the service the business purports to be providing.

It should be much more difficult to collect data than to opt out of collection.

huksley 16 hours ago
Also this, we disable it when building or deploying apps in DollarDeploy

export SEMGREP_SEND_METRICS=off export COLLECT_LEARNINGS_OPT_OUT=true export STORYBOOK_DISABLE_TELEMETRY=1 export NEXT_TELEMETRY_DISABLED=1 export SLS_TELEMETRY_DISABLED=1 export SLS_NOTIFICATIONS_MODE=off export DISABLE_OPENCOLLECTIVE=true export NPM_CONFIG_UPDATE_NOTIFIER=false

dubious2 9 hours ago
I'm old enough to remember Nancy Reagan just say no!I think this has the same effect.
16 hours ago
darkhelmet 5 hours ago
I have some issue with how some of these are represented. For example, syncthing has an explicit opt-in request for telemetry / analytics. The suggested setting change is something entirely different - a call to ask what the latest version is. Granted, that server could log your IP address but that's no different to how it uses the relay and discovery servers that are also run by the same people - those could log the same way.

.. which is entirely different to the telemetry system where usage stats are reported. You can see that on data.syncthing.net. But again, thats a separate opt-in. The suggested env variable on the site won't turn that off.

dnnddidiej 12 hours ago
Love the idea but is an env var enough. Are there some sessions (docker?) that may not get it.

I'd prefer TRACK_ME as an opt in.

amelius 15 hours ago
You can also use network namespaces to simply block internet access for certain processes. It can even be finetuned with whitelists or blacklists.
mmooss 15 hours ago
Could you provide more details? Many applications use multiple processes, and use some intermittently. It seems like quite a bit of work to enumerate every process used and then to keep the white/blacklist updated as usage and software changes - every new application or command you use, every update, every OS change that affects networking or system calls etc ...
amelius 14 hours ago
Yes, with security comes inconvenience, this is inevitable.

I'm not a daily user of network namespaces, and would probably write a script to do the configuration within a shell (it works a bit like containers). The configuration is inherited by child processes, so you only have to do it once. Basically whitelist the urls you typically use, and maybe let the script popup a dialog asking you to allow access when the firewall catches a domain that is not in the whitelist yet.

hedayet 13 hours ago
I'd be interested in, 1. a SOME-TRUST model: a list of opt-outs for the known software that collect telemetry; so that I can just paste that into an env file and be done with it. 2. a ZERO-TRUST model [preferable]: where I control if an application can send any telemetry data; instead of depending on a flag that the distributor may or may not respect.
ninjahawk1 15 hours ago
Privacy should be treated as a right, not something that can be abused for money. Love the idea of this
joshka 11 hours ago
It feels like this should be no_track, for consistency with no_color
kstrauser 15 hours ago
I’m morally opposed to the notion of optimizing the opt-out mechanism. I want a standardized opt-in mechanism, like:

  export ALLOW_TRACKING=telemetry,crash_dumps
and the absence of such a setting means “fuck off, don’t spy on me”. It’s not my responsibility to turn off apps wanting to track me. It’s their responsibility to get me to authorize their specific flavor of tracking.
cj 15 hours ago
> It’s their responsibility to get me to authorize their specific flavor of tracking.

And they do by burying it in the user agreement you probably agreed to.

Like it or not, it is your responsibility. I agree it shouldn’t be, but let’s be realistic.

msla 15 hours ago
Then it's my responsibility to feed them fake data.

They didn't opt out of my data, after all.

internetguy 9 hours ago
varispeed 16 hours ago
Default opt-in tracking should be illegal and enforced with such fines and prison sentences, that companies wouldn't even dare to have anything remotely capable of tracking in the runtime.

Unfortunately big corporations can always find away to make regulators see no problem.

pseudalopex 10 hours ago
> Default opt-in

This is called opt out.

walrus01 12 hours ago
I'm sure this will be about as effective as putting yourself on the do not call list for domestic phone telemarketers, which has absolutely no effect whatsoever on overseas scam call centers.
charcircuit 13 hours ago
This does not make sense to support. Businesses that have proper privacy controls and security do not want to be lumped together with random shady apps and want users to explicitly opt out. Another issue with this header is that users could set it and then accidentally opt out of other sharing that they don't realize since this header is being set somewhere random. Standardizing on a per app basis way to revoke consent, along with showing privacy polices and measures the apps have put in place for guarding security would be a more sensible alternative that could gain traction.
pseudalopex 10 hours ago
Gathering information without real consent is shady.
stavros 16 hours ago
Honest question, what's the problem with crash dumps that include no personal info? They just help make the software less buggy. I also don't see an issue with anonymized usage patterns (this feature was used X times this month, this one Y times, etc).

Can someone expound on what they see as a problem?

JoshTriplett 15 hours ago
> Honest question, what's the problem with crash dumps that include no personal info?

In addition to the other response: crash dumps are difficult to anonymize, both because useful crash dumps include something like a minidump (or some other small alternative to a core file), and because even without that, any random information from a backtrace may be sensitive (e.g. a URL).

There's nothing wrong with saving a crash dump and giving the user control of whether to submit a bug report.

stavros 15 hours ago
I'm more thinking Python crashes, where you just get the lines that executed, and ~zero identifiable data.
47282847 3 hours ago
Anyone on the path potentially learns something about your system and your software use.

Your IP during connection exposes your rough location.

Crash logs rarely are completely anonymized so both together can additionally serve as a way to re-identify the user.

The only way to properly transmit telemetry data would be Tor. And no, even then I don’t want my tools to report back my use. It’s simply not required, and data minimization is part of my set of ethics, and I’m happy that EU/GDPR sees it the same way. Not all data that you think is worth something to you is morally right to collect. You send data somewhere, even just to check for updates - ask me first. I do not want my hammer to report back how many nails I hammered in. I don’t want my software to reach out to the world without my consent.

circadian 16 hours ago
I would suggest that the default to enrolling people in supplying such information is the issue. In a world driven by surveillance capitalism, even "anonymous" data can be used for much broader purposes (think, for example, of when and where people are using tools geographically and at what times: you can start to track the behaviour of people in this way).

Users should never be opted in through usage alone of free or paid-for tooling to supply information that isn't part of the function of the tool. Where that is required for a service or product, you should opt-in explicitly, not implicitly.

stavros 16 hours ago
That's fair, thanks.
tonymet 16 hours ago
He’s better off vibecoding an include.sh that sets all the known do not track env vars for you.
nixpulvis 15 hours ago
Am I the only one who also finds it comical that rejecting cookies requires a cookie.
shevy-java 5 hours ago
I personally do not use this. The reason is quite simple: I do not want to give out ANY information to external sites. Meaning, they could want to group me into "wants to be tracked" and "does not want to be tracked". I expect a general content blocker, which ublock origin is, to protect me from any malicious external actor, including horrible UI, such as nowadays google search has. I mean, just make a regular google search and then ask yourself why google places so many ads. Yes, ALL links to videos on youtube are also google ads - they self-promote themselves here.

We kind of need ublock origin on the operating system level - even more so as the new laws mandate age sniffing of everyone, tied to usage and access to the www (see the concomitant fight against VPN; that is the long road here, the "but but but the children!" is the lie, the cake, the carrot on the stick).

Ultimately one could ask "but the do not track thing is harmless" - the issue still is that I don't agree that my browser should betray me. Naturally since Google controls most browsers, can we trust Google? But, even aside from Google, can we trust other browsers? We need more diversity here again, but also more quality on every level. I consider the do_not_track as actually a you_will_be_marked and thus tracked.

samagragune 3 hours ago
[dead]
brettdav 13 hours ago
[dead]
avazhi 13 hours ago
[dead]
iririririr 16 hours ago
[dead]