Kebanyakan orang menganggap QR code sebagai jalan pintas tak berbahaya menuju situs web. Sering memang begitu. Tapi QR hanyalah wadah untuk teks, dan teks itu bisa jauh lebih sensitif ketimbang sebuah tautan. Sebelum Anda menjatuhkan gambar kode ke "pembaca QR online" pertama yang Anda temukan, ada baiknya tahu apa yang mungkin Anda serahkan — dan kepada siapa.

Apa yang sebenarnya bisa dikandung QR code

Membaca QR Code dari Gambar — Secara Privat, di Perangkat Anda Sendiri — visual 1
Apa yang sebenarnya bisa dikandung QR code

Pola hitam-putih menyandikan teks biasa, dan menurut konvensi teks itu bisa banyak hal:

  • URL — kasus umum, tapi kadang tautan privat atau sekali-pakai (reset password, undangan, dokumen yang "tak terdaftar" alih-alih benar-benar publik).
  • Jaringan Wi-Fi dan password — kode "pindai untuk terhubung" di router dan di hotel secara harfiah menyandikan nama jaringan dan password dalam teks biasa.
  • Kartu kontak (vCard) — nama, nomor telepon, email, dan alamat rumah atau kantor.
  • Token login atau pembayaran — sebagian aplikasi menampilkan QR untuk mengotorisasi sesi atau transfer; string di dalamnya efektif adalah kunci.
  • Teks biasa atau pesan — apa pun yang seseorang pilih untuk disandikan.

Tak satu pun dari itu berbahaya bagi Anda saat Anda mendekodenya di perangkat Anda sendiri. Ia jadi masalah saat pendekodean menuntut mengirim gambar ke tempat lain.

Langkah tersembunyi: "pembaca online" mengunggah gambar Anda

Membaca QR Code dari Gambar — Secara Privat, di Perangkat Anda Sendiri — visual 2
Langkah tersembunyi: "pembaca online" mengunggah gambar Anda

Inilah bagian yang mudah terlewat. Pembaca QR online biasa bekerja dengan mengunggah file gambar Anda ke servernya, mendekodenya di sana, dan mengirim hasilnya kembali. Artinya gambar itu — dan apa pun yang disandikan kode — meninggalkan perangkat Anda dan mendarat di perangkat keras yang tak Anda kendalikan. Untuk tautan ke artikel publik, tak apa. Untuk password Wi-Fi, token login, atau kartu kontak dengan alamat rumah, Anda baru saja mentransmisikan rahasia ke server orang asing, di mana ia mungkin dicatat atau di-cache, semua demi membaca teks yang sudah ada di layar Anda.

Anda bisa memeriksa apakah sebuah alat mengunggah: perhatikan bilah kemajuan yang berskala dengan ukuran file, atau buka tab Network browser Anda dan lihat apakah ada request besar membawa gambar Anda. Alat yang benar-benar lokal tak melakukan keduanya.

Dekode secara lokal saja

Pendekatan yang menghormati privasi adalah mendekode kode di browser Anda sendiri, sehingga gambar tak pernah bepergian.

QR Code Reader milik IMG.DIY melakukan persis itu. Anda memberinya gambar — seret, tempel, atau pilih file — dan ia menggambar foto ke sebuah canvas dan mendekode QR dengan pustaka jsQR langsung di dalam browser Anda. Tidak ada yang diunggah. Tak ada akun dan tak ada server yang mengerjakan tugasnya, dan begitu halaman termuat ia terus bekerja dengan jaringan mati. Anda bisa membuktikannya sendiri: muat alat, nyalakan mode pesawat, dan dekode sebuah kode — ia tetap bekerja, karena memang tak pernah ada server dalam alurnya.

Kalau kode berupa URL, alat memberi Anda tautan yang bisa diklik (ditandai rel=nofollow) sehingga Anda bisa melihat tujuannya sebelum berkomitmen. Kalau ia string Wi-Fi atau kartu kontak, Anda mendapat teks mentah dan tombol salin — baca, pakai, dan ia tetap di mesin Anda.

Kebiasaan bijak untuk kode sensitif

Dua aturan kecil menjaga Anda aman:

  1. Lihat teksnya sebelum bertindak. Mendekode kode menampilkan tujuan atau isinya sebelum perangkat Anda terhubung ke apa pun. Itu saja menjinakkan banyak penipuan berbasis QR, di mana kode cetak ditukar dengan yang menunjuk ke tempat berbahaya.
  2. Cocokkan alat dengan rahasianya. Untuk tautan publik, nyaris tak penting di mana Anda mendekode. Untuk password, token, atau detail pribadi seseorang, dekode secara lokal supaya rahasianya sejak awal tak pernah meninggalkan perangkat Anda.

Batasan jujurnya layak dinyatakan: ini membaca kode dari gambar yang Anda sediakan, satu per satu, bukan dari webcam langsung — pilihan disengaja yang menjaga semuanya tetap lokal. Untuk apa pun yang mungkin disembunyikan QR code, membacanya di perangkat Anda sendiri adalah default yang tepat.