- DO_NOT_TRACK adalah usulan untuk menyatukan berbagai cara menonaktifkan telemetri yang berbeda-beda di tiap alat CLI, SDK, dan framework menjadi satu variabel lingkungan
.NET, AWS SAM CLI, Azure CLI, Gatsby, Go, Google Cloud SDK, Homebrew, Netlify CLI, dan Syncthing masing-masing mematikan telemetri dengan pengaturan atau perintah yang berbeda
DO_NOT_TRACK=1 berarti menolak pelacakan iklan, pelaporan penggunaan, telemetri, laporan crash, serta permintaan kepada pembuat perangkat lunak atau pihak ketiga yang tidak esensial bagi fitur
- Pengguna dapat mengatur
export DO_NOT_TRACK=1 dan menambahkannya ke pengaturan shell Bash, Zsh, Fish, PowerShell, dan Windows CMD agar berlaku untuk semua sesi terminal
- Pembuat perangkat lunak harus menonaktifkan semua pelacakan jika
DO_NOT_TRACK bernilai 1, dan menghormati variabel ini bersama cara penonaktifan yang sudah ada
Masalah dan usulan
- Banyak alat CLI, SDK, dan framework secara bawaan mengumpulkan data telemetri, dan setiap alat memiliki cara penonaktifan yang berbeda
- Misalnya,
.NET menggunakan DOTNET_CLI_TELEMETRY_OPTOUT=1, AWS SAM CLI menggunakan SAM_CLI_TELEMETRY=0, Azure CLI menggunakan AZURE_CORE_COLLECT_TELEMETRY=0, Gatsby menggunakan GATSBY_TELEMETRY_DISABLED=1, Go menggunakan go telemetry off, Google Cloud SDK menggunakan gcloud config set disable_usage_reporting true, Homebrew menggunakan HOMEBREW_NO_ANALYTICS=1, Netlify CLI menggunakan netlify --telemetry-disable, dan Syncthing menggunakan STNOUPGRADE=1
DO_NOT_TRACK diusulkan sebagai satu variabel lingkungan standar yang secara jelas menyatakan bahwa pengguna menolak hal-hal berikut
- pelacakan iklan
- pelaporan penggunaan, baik anonim maupun tidak
- telemetri
- laporan crash
- permintaan kepada pembuat perangkat lunak atau pihak ketiga yang tidak esensial bagi fitur
- Pengguna dapat menyatakan bahwa mereka hanya menginginkan perangkat lunak lokal dengan mengatur
export DO_NOT_TRACK=1
- Jika ditambahkan ke file konfigurasi shell, pengaturan ini dapat berlaku untuk semua sesi terminal
- Bash: tambahkan
export DO_NOT_TRACK=1 ke ~/.bashrc
- Zsh: tambahkan
export DO_NOT_TRACK=1 ke ~/.zshrc
- Fish: tambahkan
set -x DO_NOT_TRACK 1 ke ~/.config/fish/config.fish
- PowerShell: tambahkan
$env:DO_NOT_TRACK = "1" ke $PROFILE
- Windows CMD: gunakan
setx DO_NOT_TRACK 1 pada variabel lingkungan sistem
Pembuat perangkat lunak dan standar terkait
- Alat yang melakukan telemetri, analitik, atau permintaan jaringan yang tidak esensial bagi fitur harus memeriksa variabel
DO_NOT_TRACK
- Jika
DO_NOT_TRACK diatur ke 1, semua pelacakan harus dinonaktifkan
- Variabel ini harus dihormati bersama cara penonaktifan yang sudah ada
- Selain model aktif secara default lalu ditolak, pendekatan opt-in juga layak dipertimbangkan
- no-color.org —
NO_COLOR, standar untuk menonaktifkan output berwarna
- force-color.org —
FORCE_COLOR, standar untuk memaksa output berwarna
1 komentar
Komentar Hacker News
Menarik bahwa pada titik ini, tak ada yang akan terkejut bahkan jika keadaan default adalah setuju untuk dilacak
Flag seperti
DO_NOT_TRACKmemang terlihat bagus, tapi di saat yang sama rasanya mengerikan karena seolah berarti nilai default-nya adalahCONSENT_TO_TRACK=1Internet tumbuh besar karena model bisnis utama adalah iklan dan server mengekstrak informasi turunan dari pengguna
Ini tidak menyenangkan, tidak privat, tidak aman, tetapi juga tidak ilegal di sebagian besar yurisdiksi dan industri
Flag ini bukan utopia dongeng, melainkan respons terhadap kenyataan yang sudah mengeras secara de facto maupun hukum
Saya tidak ingin mengirim informasi apa pun dan tentu tidak ingin dilacak, jadi menandainya dengan variabel lingkungan saja sudah terasa tidak masuk akal
Sulit memahami orang yang tidak ingin dilacak tetapi senang memberikan informasi itu, dan pada saat informasi itu diberikan, Anda sebenarnya sudah menandai diri sendiri
Saya selalu lebih suka nama variabel berbentuk positif, jadi dalam kasus ini jadinya
ALLOW_TRACKING=0Itu memberi konsistensi dan menghindari negasi ganda, sehingga lebih mudah dipahami
Meski begitu, nama “DO NOT TRACK” mungkin memang sudah cukup mapan sebagai istilah
ALLOW_TRACKINGjuga bisa diimplementasikan sebagai daftar yang dipisahkan koma, sehingga kita bisa menentukan hanya aplikasi yang diizinkanMisalnya jika saya ingin berbagi telemetri dengan
godanbrew, tetapi tidak denganawsdan yang lainnya, saya bisa memakaiALLOW_TRACKING=go,brewKemungkinan besar akan bernasib sama seperti
DNTdi browserMeski begitu, mengumpulkan semua variabel lingkungan “jangan lacak” ke dalam satu file
do_not_track.envtampaknya bukan ide yang burukJika ingin mengikuti spesifikasi di halaman itu sambil menanganinya lewat satu variabel lingkungan sederhana, ada juga https://github.com/alloydwhitlock/do-not-track-cli
DNTsecara default sehingga merampas hak pilih penggunaKemungkinan besar sebenarnya mereka memang tidak pernah berniat mematuhinya
Daripada menuntut semua orang memakai satu hal yang universal, solusi nyatanya mungkin justru seperti ini
Saya terpikir untuk mulai membuat sesuatu sebagai titik awal
Sebagai referensi, telemetri Go secara default hanya disimpan secara lokal dan tidak diunggah: https://go.dev/doc/telemetry
Saya terkejut ternyata cukup sulit mencegah library Python
transformersmenghubungi Hugging FaceSaya sudah menetapkan
HF_HUB_DISABLE_TELEMETRY=1dan juga menuliskanlocal_files_only=Truesaat memanggilWav2Vec2CTCTokenizer.from_pretrained, tetapi tetap saja muncul peringatan bahwa tidak adaHF_TOKENyang validBaru setelah tanpa sengaja menemukan
HF_HUB_OFFLINE=1, saya agak yakin bahwa tidak ada koneksi ke HF setiap kali memuat modelwav2vec2dari diskKalau bukan karena peringatan
HF_TOKENyang menyebalkan itu, saya mungkin tidak akan tahu bahwa ini sedang terjadiBahkan untuk sekadar mencegah pemborosan waktu karena mencoba terkoneksi padahal semua yang dibutuhkan sudah ada di lokal, caranya terus berubah
Dulu juga ada
TRANSFORMERS_OFFLINE,HF_DATASETS_OFFLINE, dan semacamnyaIni tampak seperti honeypot yang berguna
Jika sebuah alat secara terbuka mengumumkan dukungan untuk spesifikasi ini, itu berarti sejak awal ia mengumpulkan telemetri tanpa persetujuan eksplisit, jadi bisa dianggap sebagai alat yang harus dihindari
DO_NOT_TRACKtidak serta-merta berarti pelacakan dilakukan tanpa persetujuan eksplisitMisalnya perangkat lunak bisa crash, lalu penangan crash menanyakan apakah dump ingin dikirim
Jika
DO_NOT_TRACKada, penangan crash itu sendiri dinonaktifkan sehingga tidak ada pertanyaan maupun dumpJika nantinya cukup diadopsi, kemungkinan besar akan bekerja seperti itu
Pihak yang mendapat keuntungan finansial dari pelacakan seperti iklan kemungkinan tidak akan mendukung opsi seperti ini
Kalau tidak, Anda mungkin jadi tidak bisa memakai banyak alat modern
Sambil menunggu perusahaan menerapkan usulan ini dengan sangat lambat, adakah tempat yang mengumpulkan cara opt-out untuk alat-alat umum di satu lokasi?
Bahkan mungkin bisa dibuat modul shell yang mengatur semuanya lalu memperbarui daftar itu secara berkala
Mungkin lebih mudah menjalankan DNS sendiri dan memasukkan domain bermasalah ke daftar blokir
Ada juga daftar blokir bagus yang berisi jutaan domain telemetri. Contoh: https://github.com/hagezi/dns-blocklists
Orang-orang yang meneriakkan “standar” cuma menambahkan satu lagi ke daftar panjang alternatif tidak resmi
Larangan pelacakan global di browser umumnya bekerja karena sasarannya adalah semua situs web yang dikunjungi dan pelacakan untuk tujuan iklan
Tetapi telemetri adalah masalah yang sama sekali berbeda, jadi pemblokiran default mungkin bisa jadi salah satu opsi, namun secara realistis sulit memakai satu variabel standar untuk mengekspresikan niat terhadap semua alat
Beberapa tahun lalu juga pernah ada usulan yang sama, tetapi tidak ke mana-mana
https://web.archive.org/web/20200613155957/https://consoledo...