JARING.AIOPERASI KAMPANYE

Keamanan

Keamanan data

Bagaimana data satu Dasbor dijaga dari Dasbor lain, dan kenapa catatan di dalamnya tidak bisa dirapikan diam-diam. Yang ditulis di sini adalah cara sistemnya benar-benar dibangun.

Diperbarui 12 September 2026

Pemisahan antar Dasbor

Pemisahannya ada di basis data, bukan di kode aplikasi. Setiap kueri berjalan di bawah aturan keamanan tingkat baris yang mengikat pada identitas Dasbor yang sedang masuk. Kesalahan di satu layar tidak bisa membocorkan baris milik Dasbor lain, karena penyaringnya bukan bagian dari layar itu.

Peran aplikasi bukan pemilik basis data

Aplikasi terhubung memakai peran yang tunduk pada aturan keamanan tersebut — bukan peran pemilik skema. Pemilik skema menembus pemisahan tanpa galat dan tanpa jejak, sehingga kesalahannya baru ketahuan sebagai insiden.

Empat tabel dicabut sepenuhnya dari peran aplikasi: sesi yang sedang aktif, kode sekali pakai, reservasi URL Dasbor, dan kiriman formulir kontak. Keempatnya adalah daftar lintas Dasbor — termasuk nama partai dan kandidat yang belum diumumkan, dan nomor orang yang baru menanyakan harganya. Aksesnya hanya lewat fungsi yang menjawab satu pertanyaan sempit, tidak pernah lewat pembacaan tabel. Kiriman formulir bahkan tidak punya fungsi baca sama sekali: yang ada hanya fungsi yang menulis.

Koreksi adalah baris baru

Tujuh tabel menolak pembaruan maupun penghapusan. Yang keliru diperbaiki dengan menambah baris, dan baris yang digantikan tetap dikirim utuh saat jejaknya dibaca — tidak diciutkan, tidak diringkas. Tautannya dua arah, sehingga pemeriksa yang mendarat di baris lama tidak perlu menebak apakah ada penggantinya.

Dua jam selalu berdampingan

Waktu server dan waktu perangkat pengirim disimpan terpisah, dan keduanya ditampilkan bersama. Ponsel murah memang sering salah jam; menampilkan salah satunya saja menghapus pertanyaannya. Urutan pekerjaan mengikuti waktu server — kalau ia mengikuti waktu yang diklaim alat, urutan kerja pun bisa dikarang dengan mengirim berjam mundur.

Pemeriksa dan penyetuju bukan orang yang sama

Bukti kerja diperiksa oleh satu peran dan disetujui oleh peran lain. Pembayaran tidak pernah menjadi fungsi dari angka yang dilaporkan orang yang dibayar menurut angka itu — begitu ia menjadi fungsi, angkanya berhenti bisa dipercaya.

Peran menentukan rute mana yang boleh dipanggil

Pemisahan Dasbor tidak memisahkan peran. Karena itu setiap rute memiliki daftar izin tertutup: rute yang baru dibuat lahir dalam keadaan tertutup, dan yang ingin membukanya harus menuliskan namanya di berkas yang dibaca orang saat bertanya siapa boleh apa.

Penghancuran yang ikut tercatat

Ada satu alur yang memang menghancurkan: data pribadi yang dasar pemrosesannya sudah habis. Yang tidak dihancurkan adalah laporan yang sudah terbit beserta sidik berkasnya — itu justru artefak kepatuhannya. Penghapusannya sendiri menjadi baris, supaya satu-satunya tindakan yang menghancurkan bukan juga satu-satunya yang tak berjejak.

Yang belum ada

Kami menyebutkannya karena ketiadaan yang tidak disebut akan terbaca sebagai keberadaan.

Melaporkan kerentanan

Kirim ke halo@jaring.ai dengan langkah yang bisa diulang. Mohon jangan menguji sistem produksi tanpa izin tertulis lebih dulu, dan jangan mengakses data Dasbor yang bukan milik Anda.