Lompat ke konten

Keamanan

Halaman ini ditulis untuk orang yang harus menyetujui pemasangan — staf IT, konsultan, atau pemilik yang bertanggung jawab kalau ada yang salah. Isinya sengaja teknis.

Koneksi ke database Anda bersifat baca saja

Kredensial yang Anda masukkan sebaiknya milik pengguna database yang dibuat khusus, tanpa izin menulis. Kami tidak menjalankan perintah INSERT, UPDATE, DELETE, maupun DDL — dan bila pengguna databasenya memang tidak punya izin itu, batasan tersebut ditegakkan oleh database Anda sendiri, bukan oleh janji kami.

Contoh pembuatan pengguna baca-saja di PostgreSQL:

CREATE USER ngobroldata_ro WITH PASSWORD 'kata-sandi-panjang-dan-acak';
GRANT CONNECT ON DATABASE toko TO ngobroldata_ro;
GRANT USAGE ON SCHEMA public TO ngobroldata_ro;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO ngobroldata_ro;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
  GRANT SELECT ON TABLES TO ngobroldata_ro;

Bila ada tabel yang tidak boleh terbaca sama sekali — misalnya tabel rekam medis atau data karyawan — jangan berikan SELECT untuk tabel itu. Cara paling aman menjaga sesuatu tidak terbaca adalah tidak memberi izin membacanya.

Kredensial disimpan terenkripsi

Host, nama pengguna, dan kata sandi database disimpan dalam bentuk terenkripsi dan tidak pernah ditampilkan kembali setelah disimpan — termasuk kepada Anda sendiri. Bila Anda lupa, gantilah kata sandinya di database dan masukkan yang baru; itu lebih aman daripada sistem yang bisa menunjukkan kata sandi Anda kembali.

Batas kueri

  • Setiap kueri dibatasi waktu jalan, sehingga kueri berat tidak menggantung.
  • Jumlah baris hasil dibatasi supaya jawaban tetap terkirim ke WhatsApp.
  • Jumlah koneksi dibatasi supaya aktivitas analitik tidak menghabiskan pool koneksi aplikasi transaksi Anda.
  • Untuk beban berat, arahkan koneksi ke replika baca — pola yang sama yang dipakai alat BI mana pun.

Apa yang dikirim ke penyedia model bahasa

Yang dikirim adalah struktur: nama tabel, nama kolom, tipe data, relasi, dan Kamus Data yang Anda susun. Isi baris data Anda tidak dikirim. Hasil kueri tidak dikirim balik ke model untuk diproses ulang.

Bila Anda memakai kunci API sendiri (BYOK), panggilan tersebut terjadi antara sistem dan penyedia model yang Anda pilih, dengan kebijakan retensi akun Anda. Ini bukan sekadar penghematan biaya — ini juga memindahkan keputusan tentang data Anda ke tangan Anda.

Perlu diperhatikan: nama tabel dan nama kolom kadang mengandung informasi yang Anda anggap sensitif (misalnya nama proyek atau nama klien di dalam nama tabel). Periksa struktur Anda sebelum menyambungkan.

Isolasi antar akun

Data setiap akun dipisahkan di tingkat basis data, bukan disaring di tampilan. Kueri satu akun tidak pernah berjalan pada koneksi milik akun lain, dan tidak ada halaman yang mengandalkan penyembunyian tombol sebagai pembatas akses — setiap permintaan diperiksa di server.

Akses lewat WhatsApp dibatasi daftar nomor

Hanya nomor yang terdaftar yang dilayani. Pesan dari nomor lain tidak dijawab sama sekali — bukan dijawab dengan penolakan, karena membalas pun sudah memberi tahu bahwa nomor tersebut aktif dan terhubung ke sistem.

Nomor untuk verifikasi akun (OTP), nomor pengirim laporan, dan nomor layanan pelanggan dipisah. Pemisahan ini menjaga satu nomor yang terkena pembatasan tidak ikut mematikan jalur lain.

Situs ini sendiri

  • Seluruh halaman publik adalah HTML statis; tidak ada database di jalur permintaan pengunjung.
  • Analitik yang dipakai bersifat first-party, tanpa cookie, dan tanpa data pribadi — sehingga tidak ada banner persetujuan yang menutupi layar Anda.
  • Tidak ada piksel iklan pihak ketiga.
  • Header keamanan (HSTS, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, dan CSP) dipasang di tingkat server web. Contoh konfigurasinya disertakan di repositori situs ini.

Melaporkan kerentanan

Bila Anda menemukan celah keamanan, kirimkan ke alamat email di footer dengan subjek “Laporan Keamanan”. Kami tidak menuntut peneliti yang melaporkan temuan secara wajar dan tidak menyalahgunakannya. Mohon jangan menguji dengan cara yang mengganggu layanan pengguna lain.