Cara Kerja Pelacakan Jejak Digital di Balik Layar
Dari TLS handshake hingga rendering canvas — cara kami merekonstruksi jejak digital perangkat menggunakan lebih dari 130 sinyal pasif tanpa cookie atau penyimpanan.
Setiap perangkat yang terhubung ke internet meninggalkan jejak artefak teknis — sebuah jejak digital. Di tracio.ai, kami merekonstruksi jejak ini dari lebih dari 130 sinyal pasif yang dikumpulkan selama satu kali pemuatan halaman, tanpa mengandalkan cookie, localStorage, atau bentuk penyimpanan sisi klien yang persisten apa pun. Artikel ini menjelaskan secara tepat bagaimana proses tersebut bekerja.
Lapisan Pengumpulan Sinyal
Ketika agen JavaScript kami dimuat di browser pengunjung, ia mulai mengumpulkan sinyal dari berbagai kategori secara bersamaan. Rendering canvas, kueri parameter WebGL, pemrosesan AudioContext, enumerasi font, dan pembacaan properti navigator semuanya berjalan secara paralel. Seluruh proses pengumpulan selesai dalam waktu kurang dari 50 milidetik pada perangkat keras modern.
Wawasan utamanya adalah bahwa setiap sinyal menangkap aspek yang berbeda dari tumpukan perangkat keras dan perangkat lunak perangkat. Rendering canvas mencerminkan GPU, driver, dan mesin rendering font. Parameter WebGL mengungkap model dan kemampuan kartu grafis. AudioContext memperlihatkan perbedaan cara DSP audio memproses operasi floating-point. Properti navigator melaporkan jumlah inti CPU, memori, platform, dan pengaturan bahasa.
Tim kami mengukur ini di 2 miliar peristiwa bulan lalu: waktu pengumpulan median adalah 38ms, dan persentil ke-99 adalah 52ms. Kami sebenarnya mencoba pendekatan naif terlebih dahulu — mengumpulkan sinyal secara berurutan. Hasilnya 40x lebih lambat. Pengumpulan paralel dengan pagar timeout adalah salah satu keputusan arsitektur pertama yang kami buat dengan tepat.
Sidik Jari TLS: Lapisan Pertama
Bahkan sebelum JavaScript kami dieksekusi, browser telah mengungkap informasi penting melalui TLS handshake. Pesan Client Hello berisi cipher suite yang didukung browser, ekstensi TLS yang digunakannya, elliptic curve yang disukainya, dan algoritma tanda tangan yang diterimanya. Informasi ini ditentukan oleh pustaka TLS browser dan bervariasi secara signifikan di antara famili browser, versi, dan sistem operasi.
Kami menangkap sidik jari TLS ini menggunakan hashing JA4 — pengganti modern untuk JA3 yang memberikan granularitas lebih baik dan stabilitas lintas versi. Hash JA4 saja dapat membedakan Chrome dari Firefox dari Safari, dan sering kali mempersempit identifikasi ke rentang versi browser tertentu. Digabungkan dengan sinyal sisi klien kami, ia memberikan lapisan validasi silang yang sangat sulit dipalsukan.
Sidik Jari Canvas dan GPU
Sidik jari canvas memanfaatkan fakta bahwa GPU yang berbeda merender instruksi gambar yang sama dengan perbedaan tingkat piksel yang halus. Canvas API memungkinkan kami menggambar sebuah adegan yang dirancang secara cermat — string teks tertentu dalam beberapa font, bentuk geometris dengan koordinat tertentu, dan gradien dengan color stop yang presisi — lalu menghitung hash dari data piksel yang dihasilkan.
Perbedaan rendering berasal dari variasi dalam algoritma anti-aliasing, rendering sub-piksel, pencampuran warna, dan font hinting di berbagai model GPU dan versi driver. Bahkan dua perangkat dengan model GPU yang sama dapat menghasilkan keluaran canvas yang berbeda jika keduanya menjalankan versi driver atau sistem operasi yang berbeda. Ini menjadikan hash canvas salah satu sinyal kami yang paling khas.
Pemrofilan Perangkat Keras WebGL
WebGL API
memperlihatkan informasi terperinci tentang subsistem grafis yang jauh melampaui string renderer dan vendor. Kami mengueri ukuran tekstur maksimum, format presisi shader, ekstensi yang didukung, dimensi viewport, dan puluhan parameter lain yang bervariasi di berbagai model GPU dan konfigurasi driver.
Kombinasi parameter ini menciptakan profil perangkat keras yang terperinci. Sebuah perangkat dengan NVIDIA RTX 4070, misalnya, akan melaporkan ukuran tekstur maksimum yang berbeda, presisi shader yang berbeda, dan dukungan ekstensi yang berbeda dibanding perangkat dengan AMD RX 7800 XT. Profil perangkat keras ini secara inheren stabil — ia tidak berubah seiring pembaruan browser, hanya seiring perubahan perangkat keras atau driver.
Sidik Jari Pemrosesan Audio
Web Audio API menyediakan sumber sinyal lain yang bergantung pada perangkat keras. Kami membuat node oscillator, menghubungkannya ke dynamics compressor, dan mengukur buffer keluaran. Perbedaan dalam presisi floating-point, implementasi DSP, dan algoritma resampling di berbagai perangkat keras audio dan sistem operasi menghasilkan variasi keluaran yang terukur.
Sidik jari audio memiliki keunikan yang moderat tetapi stabilitas yang luar biasa. Alur pemrosesan audio jarang berubah kecuali pengguna mengganti perangkat keras audio atau memasang ulang sistem operasi. Ini menjadikan sinyal audio sebagai jangkar berharga dalam sistem identifikasi multi-tingkat kami.
Fusi Sinyal dan Resolusi Identitas
Sinyal mentah dienkripsi dan dikirimkan ke server kami, tempat mesin identifikasi perangkat memprosesnya melalui sistem hashing tiga tingkat. Sinyal tingkat perangkat keras (canvas, WebGL, audio) membentuk Tingkat 1 — inti identitas yang stabil. Sinyal tingkat browser (deteksi fitur, properti CSS, kemampuan media) membentuk Tingkat 2, diproses melalui pencocokan lintas sesi untuk menangani pergeseran yang diharapkan dari pembaruan browser. Sinyal yang mudah berubah (user agent, zona waktu, bahasa) membentuk Tingkat 3, berkontribusi pada penilaian keyakinan tanpa menggerakkan keputusan identitas.
Algoritma fusi menimbang setiap sinyal berdasarkan keunikan dan stabilitasnya. Kecocokan pada hash canvas yang langka membawa bobot yang jauh lebih besar daripada kecocokan pada resolusi layar yang umum. Pendekatan berbobot ini memastikan bahwa identifikasi tetap akurat bahkan ketika sebagian sinyal berubah.
Tanpa Penyimpanan, Tanpa Cookie
Prinsip desain penting dari sistem kami adalah bahwa identifikasi tidak bergantung pada bentuk penyimpanan sisi klien apa pun. Kami tidak menyetel cookie, menulis ke localStorage, atau menggunakan IndexedDB untuk tujuan pelacakan. ID pengunjung diturunkan sepenuhnya dari karakteristik bawaan perangkat — perangkat keras, tumpukan perangkat lunak, konfigurasi jaringan. Ini berarti identifikasi tetap bertahan meski cookie dibersihkan, mode incognito, bahkan pemasangan ulang browser.
Privasi lewat Arsitektur
Karena kami hanya mengumpulkan atribut teknis browser — tanpa riwayat penjelajahan, tanpa data formulir, tanpa konten pribadi — dampak privasinya minimal. Panduan Fingerprinting W3C menguraikan praktik terbaik untuk penggunaan sinyal browser yang bertanggung jawab, dan arsitektur kami selaras dengan prinsip-prinsip tersebut. Dengan penerapan yang di-host di cloud, semua pemrosesan terjadi pada infrastruktur Anda. Tidak ada data pengunjung yang pernah mencapai server kami. Arsitektur ini menjadikan kepatuhan terhadap GDPR, CCPA, dan regulasi privasi lainnya menjadi mudah.