Keamanan & Integritas Voting

Terakhir diperbarui: 2 September 2026

Halaman ini menjelaskan secara konkret bagaimana Votein menjaga integritas hasil voting dan keamanan data pemilih — bukan klaim umum, tapi mekanisme yang benar-benar berjalan di sistem. Kami sengaja menuliskan juga batasan yang masih ada, bukan hanya yang sudah kuat, supaya penyelenggara bisa menilai sendiri apakah metode verifikasi yang dipilih cukup ketat untuk kebutuhan mereka.

1. Pencegahan Vote Ganda

Setiap identitas pemilih (email, nomor WhatsApp, atau NIK, tergantung metode yang dipilih penyelenggara) hanya bisa tercatat satu kali per sesi voting, kecuali penyelenggara secara eksplisit mengaktifkan opsi “izinkan lebih dari satu suara”. Pengecekan status “sudah memilih” dilakukan secara atomik di level basis data — dua permintaan kirim suara yang datang bersamaan dalam sepersekian detik tidak bisa lolos berdua, satu di antaranya akan ditolak.

2. Verifikasi Identitas Pemilih

Penyelenggara memilih salah satu dari empat tingkat verifikasi per sesi:

  • Tanpa verifikasi: siapa saja bisa memilih hingga batas kapasitas pemilih tercapai — cocok untuk polling internal yang tidak mensyaratkan identitas.
  • Email OTP / WhatsApp OTP: pemilih harus memasukkan kode 6 digit yang dikirim ke email/nomor mereka sebelum bisa memilih. Kode berlaku 5 menit, dan percobaan memasukkan kode dibatasi untuk mencegah kode ditebak lewat percobaan berulang.
  • NIK: pemilih memasukkan Nomor Induk Kependudukan, yang divalidasi secara struktural (format 16 digit, kode wilayah, dan tanggal lahir yang tertanam di dalamnya harus konsisten). Perlu digarisbawahi: validasi ini memastikan NIK terstruktur seperti NIK asli, tapi tidak memverifikasi ke database kependudukan resmi bahwa NIK tersebut benar-benar terdaftar dan dipakai oleh orang yang memasukkannya. Untuk sesi yang butuh kepastian identitas lebih tinggi, kombinasikan dengan WhatsApp OTP.

3. Keamanan Sesi Pemilih

Setelah identitas pemilih terverifikasi, browser pemilih menyimpan token sesi yang ditandatangani secara kriptografis (HMAC-SHA256) dan terikat ke sesi voting tertentu — bukan sekadar ID polos yang bisa ditebak atau dipakai ulang di sesi lain. Token ini otomatis kedaluwarsa begitu jadwal voting berakhir.

4. Kandidat & Data Sesi Terkunci Saat Voting Berlangsung

Begitu satu suara pertama masuk, nama, foto, deskripsi, dan biografi kandidat — juga judul, deskripsi, dan jadwal sesi — tidak bisa lagi diubah oleh penyelenggara. Ini memastikan setiap pemilih, kapan pun mereka membuka halaman voting, melihat informasi kandidat yang persis sama.

5. Jejak Audit

Setiap suara yang masuk mencatat hash satu arah (SHA-256) dari alamat IP pengirim — bukan alamat IP mentahnya — sehingga pola penyalahgunaan (mis. banyak suara dari sumber yang sama) bisa dideteksi tanpa menyimpan data yang bisa dipakai untuk melacak identitas jaringan pemilih secara langsung.

6. Keamanan Pembayaran

Status pembayaran add-on maupun top up saldo tidak pernah dipercaya langsung dari notifikasi yang diterima — setiap notifikasi hanya dipakai sebagai pemicu untuk mengecek ulang status transaksi langsung ke server Midtrans lewat panggilan yang terautentikasi. Ini mencegah notifikasi palsu digunakan untuk memalsukan status pembayaran. Saldo organisasi dicatat sebagai buku besar (setiap perubahan saldo punya baris riwayatnya sendiri), bukan angka yang ditimpa begitu saja, sehingga setiap penambahan atau pengurangan saldo bisa ditelusuri.

7. Data Pribadi Pemilih

Penjelasan lengkap soal data apa saja yang dikumpulkan, untuk apa dipakai, dan hak pemilih atas datanya ada di Kebijakan Privasi kami.

8. Melaporkan Masalah Keamanan

Kalau Anda menemukan celah keamanan pada Votein, kami sangat menghargai laporannya — hubungi kami lewat halaman Kontak dan sebutkan detail temuannya. Mohon jangan menguji celah pada sesi voting milik organisasi lain tanpa izin.