Blog

Mengapa cara masuk Anda adalah sebuah angka, bukan email

Akun yang tidak Anda butuhkan adalah sebuah angka 128-bit, diterbitkan oleh mesin yang secara struktural tidak mungkin membuka terowongan Anda. Berikut ini alasan mengapa keduanya harus sama-sama benar.

Dipublikasikan 5 September 2026 · Diperbarui 16 Oktober 2026

Kebanyakan aplikasi meminta alamat email sebelum menanyakan apa yang sebenarnya Anda cari. ForestVPN tidak meminta email maupun kata sandi — buka aplikasinya, tekan Sambungkan. Jika Anda ingin satu langganan di lebih dari satu perangkat, Anda akan mendapatkan angka 32 karakter sebagai gantinya, ditampilkan sekali, dan itulah keseluruhan sistem masuknya.

Itu bukan sekadar pilihan gaya. Itu adalah yang tersisa setelah dua kebutuhan saling berbenturan, dan bagian yang menarik adalah mana yang akhirnya menang.

Di mana cara masuk biasanya berada

Tombol "Sign in with Apple" atau "Sign in with Google" adalah pengalihan (redirect) ke domain milik pihak lain — appleid.apple.com, accounts.google.com, sebuah tenant *.auth0.com. Di ponsel yang memiliki jalur terbuka ke host-host tersebut, pengalihan itu adalah mekanisme tak kasatmata di baliknya.

Kami tidak bisa mengasumsikan jalur itu selalu terbuka, karena sebagian tugas produk ini adalah tetap berfungsi di jaringan yang hanya mengizinkan perangkat menjangkau daftar host yang pendek dan tetap. Seluruh model keamanan relai proxy kami sendiri adalah daftar itu — tiga nama, api., sess., dan catalog.fvpn.net, dicocokkan secara persis. Memperluasnya untuk menerima penyedia identitas yang berada di balik CDN berarti menerima penyedia yang CDN-nya sama juga menjadi wajah bagi sebagian besar internet, yang mengubah relai yang sempit menjadi relai serba guna. Dan khusus di iOS, tampilan web untuk masuk milik penyedia identitas pihak ketiga berjalan di luar proses (out of process) — pengaturan proxy di level aplikasi tidak punya cara untuk menjangkau ke dalamnya dan merutekannya lewat apa pun yang kami operasikan. Pengalihan itu gagal justru di tempat yang paling membutuhkannya untuk berhasil.

Jadi angka ini bukanlah opsi yang lebih ramah yang kami pilih menggantikan opsi yang lebih familier. Ini adalah opsi yang tetap berfungsi di bawah batasan yang justru lebih penting.

Sisi lainnya: tidak ada siapa pun yang memegang nomor itu bisa melihat lalu lintas Anda

Katakanlah nomor akun dengan cara lain: ini adalah kredensial yang diterbitkan oleh sebuah layanan yang berjalan di Cloudflare Workers — eksekusi yang dibatasi per permintaan (request-scoped), tanpa proses yang hidup lama, tanpa raw socket, dengan batas memori per isolate hanya puluhan megabita. Tidak satu pun dari itu adalah keterbatasan yang kami akali. Itulah justru alasan mengapa layanan itu bisa dipercaya untuk menyimpan hak akses Anda sama sekali:

no raw UDP or TCP sockets
no long-lived process — execution is request-scoped
128 MB per isolate
a few MB, compressed, is the entire deployable

Mesin yang dibangun seperti itu tidak bisa mengakhiri (terminate) terowongan UDP yang stateful — bukan "belum bisa," melainkan secara struktural memang tidak bisa. Karena itu, server yang benar-benar membawa lalu lintas Anda adalah armada terpisah, di infrastruktur terpisah, dan kedua sisi ini bertemu lewat tepat satu hal: sebuah tiket. Perangkat Anda meminta satu tiket ke sisi Workers dan menerima kembali sebuah nilai yang ditandatangani tetapi tidak dibaca — tanda tangan itu dihasilkan atas sebuah angka yang tidak pernah dilihat oleh penandatangannya, sehingga tiket yang Anda tunjukkan nanti tidak bisa dilacak kembali ke permintaan yang menerbitkannya. Tiket itu membuktikan tier mana yang membelinya. Tiket itu tidak menyatakan perangkat mana, dan tidak menyatakan siapa Anda.

Itulah yang membuat nomor akun menjadi "membosankan" dengan cara yang justru diperlukan. Tidak ada kolom mana pun dalam sistem ini yang menyimpan nomor akun berdampingan dengan server keluar atau alamat asal koneksi Anda — bukan "kami memilih untuk tidak melihat," kolom itu memang tidak ada, dan sebuah pemeriksaan build akan gagal jika ada yang mencoba menambahkannya. Ada satu pengecualian yang lebih sempit dan disengaja, dan itu menyangkut perangkat, bukan nomornya: selama sebuah tiket masih berlaku, satu baris data mencatat hash kunci perangkat Anda berdampingan dengan hash sesi tempatnya berada, yang memungkinkan tiket yang sudah terpakai dibebankan ke jatah Anda dan perangkat yang dicabut aksesnya diputus di tengah sesi. Baris itu dihapus sekitar sehari setelah sesi berakhir, lebih cepat jika sesinya selesai dengan cepat, dan baris itu tidak memiliki kolom untuk server keluar atau alamat — hanya perangkat dan sesi, tidak ada yang lain. Jika Anda sudah menautkan sebuah perangkat ke sebuah akun, sejauh itulah jangkauannya; nomor akun itu sendiri tidak pernah menyentuh baris sesi. Layanan yang benar-benar melihat lalu lintas Anda sama sekali tidak pernah mengetahui nomornya.

Apa harganya, dikatakan terus terang, bukan disembunyikan

Tidak ada satu pun dari ini yang gratis. Nomor itu ditampilkan sekali dan tidak disimpan di mana pun di sisi kami; kehilangannya tanpa ada perangkat yang masih menyimpannya berarti tidak ada apa pun untuk memulihkannya, karena tidak ada hal lain yang mengidentifikasi Anda untuk dijadikan acuan pemulihan. Tautan bisa dibatalkan: sebuah perangkat dapat keluar sendiri dari akun, dan perangkat lain di akun itu dapat menghapusnya (satu akun menampung hingga sepuluh perangkat; perangkat yang bergabung dalam 7 hari terakhir tidak bisa menghapus perangkat yang lebih lama, dan router tidak bisa menghapus perangkat lain). Yang tidak bisa dibatalkan adalah kehilangan nomornya: tidak ada reset kata sandi, karena itu memerlukan cara untuk membuktikan bahwa permintaan itu benar-benar berasal dari pemilik akun yang sah, dan seluruh inti rancangannya adalah untuk tidak pernah mengumpulkan apa pun yang bisa membuktikan hal itu.

Itu adalah kompromi yang nyata, bukan sekadar catatan kaki, dan kami lebih memilih Anda mengetahuinya sejak awal daripada baru menyadarinya di saat yang paling penting.

Semua tulisan

Bahasa Indonesia
Tanyakan apa saja pada kami