Keamanan

Aman karena kami menyimpan sedikit.

Cara paling pasti melindungi data adalah tidak memintanya. Sisanya kami jaga dengan desain yang bisa diperiksa, bukan janji.

Diperbarui 25 Oktober 2026 · Ditulis supaya bisa dibaca manusia, bukan hanya pengacara.

Ringkasnya

  • Nomor HP tidak pernah sampai ke browser orang lain

    Kueri daftar tamu tidak pernah memilih kolom nomor. Ini aturan kode, bukan pengaturan.

  • Link Zoom lewat gerbang

    Link, Meeting ID, dan passcode tidak pernah ada di halaman publik; dibuka lewat tombol untuk yang sudah ikut, satu jam sebelum mulai.

  • Undang tidak memegang saldo

    Saat pembayaran aktif nanti, dana diteruskan ke host H+1. Tidak ada top-up, tidak ada dompet.

  • Masuk tanpa password

    Kode sekali pakai via WhatsApp (kedaluwarsa 10 menit, maksimal 5 percobaan) atau tautan email sekali pakai yang harus dikonfirmasi. Tidak ada password yang bisa bocor.

  • Temukan celah? Kami bayar

    Program pelaporan bertanggung jawab dengan apresiasi Rp 1–5 juta untuk temuan valid berdampak tinggi.

Prinsip

  1. Minimal data. RSVP hanya butuh nama. Setiap data tambahan diminta dengan alasan yang terlihat, dan bisa ditolak.
  2. Rahasia tetap rahasia secara struktural. Nomor HP, link sesi, dan catatan host dipisahkan di lapisan kueri, bukan disembunyikan di tampilan. Halaman publik tidak bisa menampilkan apa yang tidak pernah ia terima.
  3. Uang tidak pernah ditahan. Undang bukan dompet digital. Dana patungan diteruskan ke host, dengan jejak audit yang tidak bisa diubah.
  4. Semua bisa diperiksa. Aturan-aturan ini tertulis di repositori kode sebagai aturan keras dan diuji otomatis.

Bagaimana kami melindungi aplikasi

  • Transportasi

    Yang kami lakukanHTTPS untuk semua halaman dan API; cookie ditandai Secure, HttpOnly, dan SameSite.

  • Identitas

    Yang kami lakukanTanpa password. Kode sekali pakai dikirim ke WhatsApp (atau SMS cadangan), berlaku 10 menit, 5 percobaan, lalu hangus. Cookie sesi ditandatangani HMAC dan berlaku 30 hari.

  • Nomor HP

    Yang kami lakukanTidak pernah dipilih oleh kueri daftar tamu, tidak pernah ada di HTML atau data halaman, disamarkan di semua log.

  • Link sesi daring

    Yang kami lakukanTersimpan terpisah dari data acara publik; hanya dibaca oleh gerbang “Masuk sesi” (peserta terdaftar, jendela waktu) dan dashboard host.

  • Akses acara

    Yang kami lakukanMode “hanya yang diundang” menolak RSVP orang luar di server dan menyembunyikan alamat, pengisi, serta daftar hadir.

  • Masukan

    Yang kami lakukanSemua input divalidasi di server dengan skema ketat; batas panjang dan format diberlakukan sebelum menyentuh basis data.

  • Pembatasan laju

    Yang kami lakukanSetiap endpoint publik (RSVP, OTP, klaim nama, gerbang sesi, laporan) dibatasi per alamat IP dan per nomor.

  • Header peramban

    Yang kami lakukanContent-Security-Policy, X-Frame-Options DENY, Referrer-Policy ketat, Permissions-Policy yang mematikan mikrofon dan lokasi (kamera hanya untuk pemindai check-in Undang sendiri), HSTS, dan isolasi jendela.

  • Kunci rahasia

    Yang kami lakukanTidak pernah ada di repositori; hook pra-commit menolak pola kunci API. Kunci produksi hanya di penyedia hosting.

  • Dependensi

    Yang kami lakukanSengaja sedikit (delapan pustaka saat aplikasi berjalan, versi dikunci), diperiksa terhadap kerentanan yang diketahui; tiap tambahan butuh alasan tertulis.

  • Cadangan

    Yang kami lakukanBasis data dicadangkan otomatis oleh penyedia dengan pemulihan titik waktu.

Bagaimana kami melindungi uang

Pembayaran dalam mode uji

Patungan, tiket, dan kado lewat QRIS atau transfer bank sudah dibangun dan sedang diuji bersama penyedia pembayaran sebelum dibuka untuk uang sungguhan.

  • Tidak ada saldo pengguna, tidak ada top-up. Setiap pembayaran diteruskan ke rekening host H+1.
  • Pencairan hanya setelah status pembayaran dicek ulang langsung ke penyedia pembayaran, bukan hanya dari notifikasi webhook.
  • Penggantian rekening tujuan baru berlaku setelah jeda 24–48 jam, dengan pemberitahuan ke nomor host.
  • Batas nominal per host per hari dan total per hari, dengan alarm otomatis saat mendekati batas.
  • Setiap aksi yang menyentuh uang dicatat di tabel audit yang dikunci di tingkat basis data: baris tidak bisa diubah, dihapus, atau dikosongkan oleh aplikasi.
  • Refund yang hasilnya tidak pasti tidak pernah ikut dicairkan; pemilik menyelesaikannya setelah mengecek penyedia.
  • Acara berbayar yang terbuka untuk orang asing hanya boleh dibuat host yang sudah verifikasi identitas atau organisasi terverifikasi.
  • Acara yang dilaporkan dibekukan otomatis sampai ditinjau.

Melindungi diri sendiri

  • Periksa domainnya. Link Undang selalu undang.com/…, tidak pernah dipendekkan, dan preview WhatsApp-nya selalu menampilkan logo Undang. Domain mirip seperti “undang-com.xyz” bukan kami.
  • Kami tidak pernah meminta kode OTP lewat chat. Kode hanya diketik di halaman undang.com. Siapa pun yang meminta kodemu, termasuk yang mengaku dari Undang, adalah penipu.
  • Host tidak pernah melihat nomormu. Kalau ada “host” yang menghubungimu dan menyebut nomormu didapat dari Undang, laporkan.
  • Link Zoom hanya lewat tombol “Masuk sesi”. Kalau link sesi disebar mentah di luar halaman acara, host bisa menggantinya dari dashboard.
  • Tombol “Laporkan” ada di setiap halaman acara. Acara penipuan atau spam kami tinjau dan nonaktifkan.

Melaporkan celah keamanan

Kami menghargai peneliti keamanan yang melapor dengan bertanggung jawab. Kirim temuan ke keamanan@undang.com dengan langkah reproduksi yang jelas.

Yang kami janjikan

  • Balasan pertama dalam 2 hari kerja, triase dalam 7 hari.
  • Celah kritis diperbaiki paling lama 30 hari; kami kabari saat selesai.
  • Tidak ada tuntutan hukum untuk penelitian yang mengikuti aturan di bawah (safe harbor).
  • Apresiasi Rp 1–5 juta untuk temuan valid berdampak tinggi, misalnya akses ke nomor HP orang lain, link sesi tanpa hak, atau mengubah RSVP orang lain.
  • Publikasi terkoordinasi: kamu boleh menulis temuanmu setelah perbaikan dirilis, atau 90 hari setelah laporan, mana yang lebih dulu.

Yang kami minta

  • Jangan mengakses data orang lain lebih dari yang diperlukan untuk membuktikan temuan. Pakai akun uji milikmu sendiri.
  • Jangan mengganggu layanan: tanpa pengujian beban, tanpa spam ke pengguna nyata, tanpa rekayasa sosial terhadap tim atau pengguna.
  • Beri kami waktu memperbaiki sebelum dipublikasikan.

Di luar cakupan

  • Serangan penolakan layanan dan pembatasan laju yang bisa dilewati hanya dengan volume besar.
  • Temuan pada layanan pihak ketiga (WhatsApp, Vercel, Neon) yang harus dilaporkan ke mereka.
  • Laporan pemindai otomatis tanpa bukti dampak, dan praktik terbaik tanpa jalur eksploitasi.

Kalau ada insiden

Kalau data pribadi terdampak, kami memberi tahu pengguna yang terdampak dan otoritas yang berwenang paling lambat 3×24 jam setelah insiden diketahui, sesuai UU PDP: apa yang terjadi, data apa yang terdampak, dan apa yang perlu kamu lakukan. Status gangguan layanan diumumkan di halaman ini. Rencana tanggap insiden kami diuji dengan simulasi berkala M6, termasuk skenario kunci API bocor dan rekening host diganti.