Kembali ke blog
BackendTerbit 4 menit baca

Keamanan Login dan Data Pribadi Pelanggan di Aplikasi Bisnis

Pelanggan hanya mau mendaftar kalau yakin datanya aman. Ini dasar-dasar login yang aman dan pengelolaan data pribadi untuk aplikasi bisnis Anda.

Gembok merah di atas keyboard komputer berwarna hitam
Foto oleh FlyD di Unsplash

Begitu aplikasi bisnis Anda punya fitur login, Anda menyimpan data pribadi orang lain: nama, email, nomor telepon, dan riwayat transaksi. Pelanggan ragu mendaftar kalau tidak yakin datanya aman. Di sisi lain, bisnis juga perlu bukti persetujuan dan cara menghapus data bila diminta.

Artikel ini membahas dasar-dasarnya dengan bahasa sederhana, dengan contoh dari Numekara, bisnis pendidikan milik pemilik Lumekara. Bagian tentang hukum hanya bersifat pengenalan umum, bukan nasihat hukum.

Memilih cara login yang tepat

Tidak ada satu cara login yang paling cocok untuk semua bisnis. Numekara menyediakan tiga pilihan, dan masing-masing punya kelebihan:

  • Kode OTP lewat email. Pengguna memasukkan email, lalu menerima kode sekali pakai. Tidak ada kata sandi yang harus diingat, sehingga risiko kata sandi lemah atau dipakai ulang berkurang.
  • Email dan kata sandi. Cara yang paling dikenal. Tetap perlu aturan kata sandi yang wajar dan proses reset yang aman.
  • Masuk dengan Google. Cepat bagi pengguna yang sudah punya akun Google, dan Anda tidak perlu menyimpan kata sandi mereka.

Untuk login dengan OTP, ada satu hal yang sering dilupakan: pembatasan. Tanpa batas, orang iseng bisa meminta kode berulang kali ke email orang lain, atau mencoba menebak kode. Numekara menerapkan kuota OTP untuk mencegah penyalahgunaan seperti ini, sementara form laporan masalahnya memakai Cloudflare Turnstile sebagai pemeriksaan anti-bot.

Sesi login yang aman

Setelah pengguna berhasil masuk, aplikasi perlu “mengingat” mereka. Cara penyimpanan sesi ini sangat menentukan keamanan. Di Numekara, autentikasi memakai Supabase Auth dengan alur PKCE yang diproses di server, dan sesi disimpan dalam cookie httpOnly.

Bagi pemilik bisnis, artinya kira-kira begini: tanda pengenal sesi disimpan di tempat yang tidak bisa dibaca oleh skrip di halaman web. Kalau suatu saat ada skrip berbahaya yang lolos ke halaman, skrip itu tetap tidak bisa mengambil sesi pengguna dengan mudah. Ini lapisan perlindungan yang sederhana, tetapi penting. Atur juga agar sesi berakhir setelah jangka waktu tertentu, dan pastikan tombol keluar benar-benar menghapus sesi, terutama bagi pengguna yang membuka aplikasi dari komputer bersama.

Mencatat persetujuan dengan benar

Saat mengumpulkan data, misalnya lewat form pendaftaran atau tes gratis, mintalah persetujuan secara jelas: data apa yang dikumpulkan, untuk apa, dan apakah pengguna setuju dihubungi untuk keperluan pemasaran. Hindari kotak centang yang sudah tercentang otomatis.

Persetujuan juga harus tercatat dengan baik. Di Numekara, catatan persetujuan disimpan secara permanen dan tidak bisa diubah, sehingga ada bukti kapan dan untuk apa seseorang memberi izin. Catatan ini dipakai langsung oleh sistem: otomasi email lanjutan Numekara mengecek izin kontak seseorang sebelum mengirim pesan.

Memberi pengguna kendali atas akunnya

Pengguna sebaiknya bisa menghapus akunnya sendiri tanpa harus mengirim email dan menunggu admin. Numekara menyediakan halaman hapus akun mandiri untuk keperluan ini. Fitur seperti ini menunjukkan bahwa Anda serius menghormati data pelanggan, dan mengurangi pekerjaan manual tim.

Saat merancang fitur hapus akun, tentukan juga data apa yang benar-benar dihapus dan data apa yang masih perlu disimpan, misalnya catatan transaksi untuk keperluan pembukuan. Aturan ini sebaiknya dibahas dengan penasihat hukum atau konsultan pajak Anda.

Jaga data pribadi di log dan notifikasi

Kebocoran data tidak selalu terjadi di database. Sering kali data pribadi justru tercecer di log server, pesan galat, atau notifikasi ke grup chat tim. Beberapa kebiasaan yang membantu:

  • Saring data pribadi dari log. Di Numekara, log menyaring data pribadi sebelum ditulis.
  • Pakai ID, bukan isi data. Notifikasi Telegram dan email di Numekara disusun dari ID kejadian, sehingga data pribadi tidak ikut tersimpan di log.
  • Batasi akses admin. Tidak semua anggota tim perlu melihat semua data pelanggan.
  • Samarkan saat demo. Jangan merekam atau membagikan layar admin yang berisi data asli pelanggan.

Mengenal UU PDP secara umum

Indonesia memiliki UU No. 27 Tahun 2022 tentang Pelindungan Data Pribadi. Secara umum, undang-undang ini mengatur bagaimana data pribadi dikumpulkan, diproses, dan dilindungi. Undang-undang ini mengenal hak pemilik data, seperti hak mengakses, memperbaiki, dan meminta penghapusan datanya, serta kewajiban pihak yang mengelola data untuk menjaga keamanannya.

Fitur-fitur teknis di atas dapat membantu Anda menjalankan kewajiban tersebut, tetapi tidak otomatis membuat bisnis Anda patuh. Kepatuhan juga menyangkut kebijakan privasi, prosedur internal, dan perjanjian dengan pihak ketiga. Untuk memastikan kewajiban yang berlaku bagi bisnis Anda, konsultasikan dengan konsultan hukum yang memahami pelindungan data pribadi.

Langkah berikutnya

Periksa aplikasi atau website Anda saat ini: bagaimana pengguna masuk, di mana sesi disimpan, apakah persetujuan tercatat, dan apakah pengguna bisa menghapus akunnya. Mulailah memperbaiki dari celah yang paling berisiko, lalu lengkapi kebijakan privasi Anda bersama profesional hukum.