{"content_id":"gjd7nkra8p","slug":"ai-generated-signup-security-privacy-checklist","locale":"id","schema_type":"TechArticle","category":"how_to","category_name":"Panduan","title":"Kebijakan keamanan dan hukum yang perlu diperiksa sebelum memakai kode pendaftaran buatan AI dalam layanan","summary":"Kode pendaftaran yang dibuat AI dalam 5 menit mungkin berfungsi, tetapi mudah melewatkan kebijakan operasional seperti pengaturan ulang kata sandi, penutupan akun, kebijakan privasi, dan syarat penggunaan. Sebelum diterapkan ke layanan nyata, manusia harus menetapkan dengan jelas desain keamanan, kewajiban hukum, serta standar penyimpanan dan penghapusan data.","author":{"name":"injoys","url":"https://injoys.com/ko/about"},"key_points":["Fungsi pendaftaran bukan sekadar masalah kode, melainkan sistem operasional yang menggabungkan autentikasi, pemulihan akun, penutupan akun, syarat, dan standar pemrosesan data pribadi.","Kata sandi tidak boleh disimpan dalam bentuk asli, tetapi harus disimpan dengan metode hash satu arah yang aman seperti bcrypt, Argon2id, atau PBKDF2.","Tautan pengaturan ulang kata sandi memerlukan kebijakan seperti masa berlaku singkat, penggunaan satu kali, penyimpanan token yang aman, dan pencegahan pengungkapan apakah akun ada atau tidak.","Di Korea, bagi layanan yang mengumpulkan data pribadi seperti email, penting untuk memublikasikan kebijakan privasi, menyatakan tujuan pengumpulan dan penggunaan, serta menetapkan periode penyimpanan dan prosedur pemusnahan.","Saat meminta kode kepada AI, AI harus dibuat untuk menanyakan kebijakan yang belum diputuskan sebelum implementasi agar celah keamanan dan hukum dapat dikurangi."],"content_markdown":"## Mengapa berbahaya memakai begitu saja kode pendaftaran anggota yang dibuat AI\n\nJika Anda meminta AI generatif seperti ChatGPT atau Claude dengan kalimat “buatkan fitur pendaftaran anggota dengan email dan kata sandi”, Anda bisa memperoleh kode yang berfungsi dalam waktu singkat. Namun pendaftaran anggota pada layanan nyata bukan sekadar formulir input dan fungsi penyimpanan ke database. Ini adalah sistem operasional yang harus dirancang bersama dengan pemulihan akun, perubahan kata sandi, penutupan akun, kebijakan pemrosesan data pribadi, syarat penggunaan, hak admin, dan kebijakan retensi data.\n\nKhususnya di Korea, jika Anda mengumpulkan informasi yang dapat mengidentifikasi seseorang seperti email, nama, nomor ponsel, atau pengenal login sosial, Anda harus mempertimbangkan kewajiban terkait pemrosesan data pribadi menurut Undang-Undang Perlindungan Data Pribadi. Kode yang dibuat AI hanyalah contoh umum, dan tanggung jawab hukum serta tanggung jawab operasional layanan tetap berada pada operator layanan.\n\n## Prinsip inti: AI bisa membuat kode, tetapi tidak bisa menggantikan keputusan kebijakan\n\nKode yang dibuat AI cenderung berfokus pada “apakah fiturnya berjalan”. Sebaliknya, layanan nyata harus mampu menjawab pertanyaan berikut.\n\n- Dengan prosedur apa akun dipulihkan ketika pengguna lupa kata sandi?\n- Saat mengubah kata sandi, apakah kata sandi saat ini diperiksa ulang?\n- Ketika ada permintaan penutupan akun, data apa yang dihapus dan data apa yang disimpan?\n- Apakah item yang benar-benar dikumpulkan, tujuan, dan periode penyimpanan tertulis secara akurat dalam kebijakan pemrosesan data pribadi?\n- Apakah ada dasar kontraktual untuk menangguhkan pengguna yang melanggar ketentuan?\n- Apakah layar admin menampilkan data pribadi seminimal mungkin dan menyimpan catatan akses?\n\nJika Anda hanya berkata kepada AI “buatkan pendaftaran anggota”, keputusan-keputusan seperti ini bisa terlewat. Karena itu, operator harus lebih dulu menetapkan kebijakan, dan merancang prompt agar AI bertanya tentang hal-hal yang belum ditentukan.\n\n## Keamanan dasar: kata sandi tidak boleh pernah disimpan dalam bentuk asli\n\nOperator layanan pun tidak boleh dapat mengetahui kata sandi asli pengguna. Jika kata sandi disimpan sebagai teks biasa di database, ketika terjadi insiden kebocoran, dampaknya akan langsung meluas.\n\nCara yang aman adalah menyimpan kata sandi setelah mengubahnya menjadi hash satu arah. Hash satu arah adalah metode transformasi yang dirancang agar pemulihan teks asli secara praktis tidak mungkin dilakukan. Secara umum, untuk penyimpanan kata sandi, algoritma yang dirancang untuk penyimpanan kata sandi seperti bcrypt, Argon2id, dan PBKDF2 lebih direkomendasikan daripada fungsi hash umum yang cepat.\n\n### Hal yang harus diperiksa saat menyimpan kata sandi\n\n| Item pemeriksaan | Arah yang disarankan | Alasan |\n|---|---|---|\n| Penyimpanan teks biasa | Dilarang keras | Jika DB bocor, semua akun langsung berada dalam bahaya |\n| Algoritma hash | Gunakan bcrypt, Argon2id, PBKDF2, dan sejenisnya | Meningkatkan biaya serangan brute force |\n| Penggunaan salt | Terapkan salt unik per pengguna | Kata sandi yang sama pun menghasilkan hash yang berbeda |\n| Pengaturan biaya kerja | Tetapkan cukup tinggi dengan mempertimbangkan performa server | Mempersulit serangan tebakan massal |\n| Pencatatan log | Jangan tinggalkan kata sandi dan token reset di log | Mencegah insiden lanjutan akibat kebocoran log |\n\nFramework web utama seperti Ruby on Rails, Django, dan Laravel menyediakan fitur penyimpanan kata sandi yang aman, tetapi menggunakan nilai bawaan framework tidak berarti pemulihan akun, penutupan akun, hingga kebijakan pemrosesan data pribadi otomatis terselesaikan.\n\n## 5 kebijakan wajib yang mudah dilewatkan AI\n\n### 1. Kebijakan reset kata sandi\n\nPengguna pasti akan lupa kata sandi. Jika tidak ada fitur reset kata sandi, operator harus menangani permintaan pemulihan akun secara manual, dan dalam proses itu risiko kesalahan verifikasi identitas atau paparan data pribadi dapat meningkat.\n\nReset kata sandi bukan sekadar “mengirim tautan lewat email”, tetapi juga mencakup masa berlaku token, pencegahan penggunaan ulang, dan pencegahan pengungkapan keberadaan akun.\n\n#### Kebijakan yang harus diputuskan\n\n- Masa berlaku tautan reset: Tetapkan singkat, misalnya 15 menit atau 30 menit.\n- Penggunaan satu kali: Tautan yang sudah digunakan sekali harus segera dinonaktifkan.\n- Cara penyimpanan token: Pertimbangkan cara menyimpan token reset dalam bentuk hash, bukan menyimpan teks asli token reset di DB.\n- Pencegahan pengungkapan keberadaan akun: Meskipun email yang tidak ada dimasukkan, tampilkan respons yang sama seperti “Jika email terdaftar, kami telah mengirim email panduan.”\n- Pembatasan permintaan: Jika terjadi permintaan reset berlebihan dari email atau IP yang sama, terapkan pembatasan kecepatan.\n- Notifikasi: Jika kata sandi diubah, kirim notifikasi perubahan kepada pengguna.\n\n### 2. Kebijakan perubahan informasi anggota\n\nAnggota ingin mengubah email, kata sandi, nama panggilan, pengaturan penerimaan notifikasi, dan lainnya. Pada fitur minimal yang dibuat AI, layar perubahan informasi anggota sering kali terlewat.\n\nKhususnya perubahan kata sandi adalah pekerjaan yang sensitif secara keamanan. Jika perubahan diizinkan hanya dengan mempercayai sesi yang sudah login, orang lain dapat mengambil alih akun saat pengguna meninggalkan tempat duduk di kafe atau kantor.\n\n#### Kebijakan yang harus diputuskan\n\n- Putuskan apakah akan meminta kata sandi saat ini kembali saat mengubah kata sandi.\n- Putuskan apakah akan mewajibkan verifikasi alamat email baru saat mengubah email.\n- Putuskan apakah akan mengirim notifikasi ke email lama dan email baru setelah perubahan email.\n- Putuskan apakah akan mempertahankan sesi login yang ada setelah perubahan informasi penting, atau mewajibkan login ulang.\n- Putuskan apakah akan menyimpan riwayat perubahan informasi anggota sebagai audit log.\n\n### 3. Kebijakan penutupan akun anggota dan penghapusan data\n\nPenutupan akun anggota adalah salah satu kebijakan terpenting dalam layanan nyata. Pengguna harus dapat berhenti menggunakan layanan, dan dapat mengajukan permintaan terkait penghapusan atau penghentian pemrosesan data pribadi. Jika fitur penutupan akun tidak ada, atau setelah penutupan akun pengguna masih tetap bisa login, risiko kepercayaan dan hukum akan meningkat secara bersamaan.\n\nNamun, menghapus semua data secara fisik segera bukan selalu jawaban yang benar. Data yang memiliki alasan retensi yang sah seperti pembayaran, pajak, penanganan sengketa, dan pencegahan penyalahgunaan mungkin perlu disimpan selama periode tertentu. Karena itu, kebijakan penutupan akun harus membedakan “apa yang dihapus, apa yang dianonimkan, dan apa yang disimpan”.\n\n#### Perbandingan Soft Delete dan Hard Delete\n\n| Kategori | Makna | Kelebihan | Hal yang perlu diperhatikan |\n|---|---|---|---|\n| Hard Delete | Menghapus data secara fisik dari DB | Mengurangi risiko tersisanya data pribadi | Jika catatan pembayaran dan sengketa ikut dihapus, dapat timbul masalah hukum dan akuntansi |\n| Soft Delete | Menandai sebagai status penutupan akun dan memblokir login | Mudah mempertahankan catatan transaksi, relasi postingan, dan catatan audit | Data pribadi dapat tetap tersisa, sehingga diperlukan anonimisasi dan pembatasan akses |\n| Anonimisasi | Mengubah atau menghapus pengenal seperti email dan nama agar sulit dipulihkan | Menurunkan risiko identifikasi sambil mempertahankan statistik dan catatan transaksi | Perlu ditinjau apakah tingkatnya benar-benar menyulitkan identifikasi ulang |\n\n#### Cara yang sering digunakan dalam praktik\n\n- Bedakan status akun seperti `active`, `suspended`, `deleted`.\n- Akun yang ditutup harus segera tidak dapat login.\n- Pengenal langsung seperti email, nama, dan nomor telepon dihapus atau dianonimkan.\n- Riwayat pembayaran, catatan terkait pajak, dan catatan penanganan penyalahgunaan disimpan secara terbatas dengan dasar hukum dan periode penyimpanan yang ditetapkan.\n- Tuliskan dengan jelas dalam kebijakan pemrosesan data pribadi item yang disimpan setelah penutupan akun, tujuan, dan periodenya.\n\n### 4. Kebijakan pemrosesan data pribadi\n\nBahkan jika hanya mengumpulkan satu email, pemberitahuan terkait pemrosesan data pribadi tetap diperlukan. Kebijakan pemrosesan data pribadi bukanlah “dokumen yang kira-kira harus kita unggah juga”, melainkan dokumen resmi yang menjelaskan informasi apa yang diproses layanan nyata dan untuk tujuan apa.\n\nMenyalin begitu saja kebijakan pemrosesan data pribadi dari situs lain berbahaya. Jika Anda menuliskan informasi yang sebenarnya tidak dikumpulkan, atau melewatkan informasi yang sebenarnya dikumpulkan, dokumen dan layanan menjadi tidak sesuai. Jika memanfaatkan AI, pertama-tama susun field database, formulir pendaftaran anggota, item yang diberikan oleh login sosial, item pengumpulan log, dan item integrasi pembayaran, lalu minta AI membuat draf berdasarkan hal tersebut.\n\n#### Item utama yang perlu disertakan dalam kebijakan pemrosesan data pribadi\n\n- Item data pribadi yang dikumpulkan: email, nama, nama panggilan, pengenal login sosial, informasi pembayaran, dan sebagainya\n- Tujuan pengumpulan dan penggunaan: identifikasi anggota, login, dukungan pelanggan, pemrosesan pembayaran, pencegahan penyalahgunaan, dan sebagainya\n- Periode penyimpanan dan penggunaan: sampai penutupan akun anggota, periode retensi menurut peraturan perundang-undangan terkait, dan sebagainya\n- Prosedur dan metode pemusnahan: penghapusan DB, anonimisasi, siklus pemusnahan data cadangan, dan sebagainya\n- Ada tidaknya pemberian kepada pihak ketiga: jika ada pemberian eksternal seperti iklan, analitik, pembayaran, pengiriman, dan sebagainya\n- Ada tidaknya pendelegasian pemrosesan: cloud, pengiriman email, perantara pembayaran, alat konsultasi pelanggan, dan sebagainya\n- Hak pengguna dan cara menjalankannya: permintaan akses, perbaikan, penghapusan, penghentian pemrosesan, dan sebagainya\n- Penanggung jawab perlindungan data pribadi atau kanal pertanyaan\n\n## Perbedaan antara kebijakan pemrosesan data pribadi dan syarat penggunaan\n\nKedua dokumen sama-sama penting, tetapi perannya berbeda.\n\n| Dokumen | Peran inti | Risiko jika tidak ada atau lemah |\n|---|---|---|\n| Kebijakan pemrosesan data pribadi | Menjelaskan mengapa dan bagaimana data pribadi diproses | Pelanggaran kewajiban pemberitahuan dan publikasi menurut Undang-Undang Perlindungan Data Pribadi, penurunan kepercayaan pengguna |\n| Syarat penggunaan | Menentukan ketentuan penggunaan layanan dan dasar tindakan operator | Kurangnya dasar pembatasan terhadap abuse, penipuan, ujaran kasar, akun spam |\n\nKebijakan pemrosesan data pribadi lebih dekat dengan panduan pemrosesan data, sedangkan syarat penggunaan lebih dekat dengan ketentuan kontrak antara pengguna dan layanan. Salah satu saja tidak cukup.\n\n### 5. Syarat penggunaan dan kebijakan sanksi\n\nJika tidak ada syarat penggunaan, meskipun pengguna jahat menyalahgunakan layanan, dasar untuk menangguhkan akun, menghapus postingan, dan membatasi penggunaan menjadi lemah. Khususnya layanan seperti komunitas, marketplace, SaaS, dan platform konten, tempat pengguna meninggalkan aktivitas, wajib memiliki ketentuan dan kebijakan operasional.\n\n#### Konten utama yang perlu disertakan dalam syarat penggunaan\n\n- Syarat pendaftaran anggota dan tanggung jawab pengelolaan akun\n- Tindakan yang dilarang: tindakan ilegal, penipuan, spam, penyalahgunaan crawling, ujaran kasar, pelanggaran hak orang lain, dan sebagainya\n- Alasan dan prosedur pembatasan penggunaan layanan\n- Standar penanganan postingan atau konten buatan pengguna\n- Jika ada layanan berbayar, ketentuan pembayaran, pengembalian dana, dan pembatalan\n- Pemberitahuan tentang perubahan, penghentian sementara, dan penghentian layanan\n- Batasan tanggung jawab dan prosedur penyelesaian sengketa\n\nPada layar pendaftaran, prosedur persetujuan terhadap kebijakan pemrosesan data pribadi dan syarat penggunaan harus dimasukkan dengan jelas. Jika persetujuan opsional dan persetujuan wajib bercampur, pengguna harus dapat membedakan dan memilihnya.\n\n## Kebijakan tidak hilang meskipun menggunakan login sosial\n\nJika menggunakan login sosial seperti Google, Kakao, atau Apple, beban penyimpanan kata sandi sendiri dan fitur pencarian kata sandi berkurang. Namun kebijakan pendaftaran anggota tidak hilang.\n\nDalam login sosial pun, item berikut tetap diperlukan.\n\n- Nyatakan informasi apa yang diterima dari penyedia login sosial mana.\n- Bedakan pemutusan koneksi akun sosial dan penutupan akun anggota layanan.\n- Cerminkan item yang dikumpulkan seperti email, gambar profil, dan pengenal unik dalam kebijakan pemrosesan data pribadi.\n- Persetujuan terhadap syarat penggunaan layanan itu sendiri harus diperoleh secara terpisah.\n- Kebijakan penangguhan akun, penutupan akun, dan retensi data harus ditentukan oleh operator layanan.\n\n## Prinsip keamanan saat membuat halaman admin\n\nJika anggota sudah ada, halaman admin juga menjadi diperlukan. Namun halaman admin adalah area berisiko tinggi yang mudah menyebabkan insiden kebocoran data pribadi. Desain “admin dapat melihat semua informasi” harus dihindari.\n\n### Item pemeriksaan halaman admin\n\n| Item | Kebijakan yang disarankan |\n|---|---|\n| Hak akses | Berikan hanya hak minimum sesuai peran admin |\n| Informasi yang ditampilkan | Tampilkan hanya informasi yang diperlukan seperti email, status pendaftaran, status sanksi |\n| Informasi sensitif | Jangan tampilkan kata sandi, token, dan informasi pembayaran lengkap |\n| Fitur sanksi | Catat alasan penangguhan yang terhubung dengan tindakan terlarang dalam syarat penggunaan |\n| Audit log | Catat siapa, kapan, dan informasi anggota apa yang dilihat atau diubah |\n| Autentikasi admin | Terapkan kata sandi yang kuat dan autentikasi multifaktor |\n\n## Struktur prompt yang baik saat meminta kepada AI\n\nKepada AI, Anda harus menyampaikan bukan hanya “fitur”, tetapi juga “kebijakan”. Menggunakan struktur berikut dapat mengurangi hal yang terlewat.\n\n### Item yang perlu disertakan dalam prompt\n\n1. Stack teknologi: misalnya Ruby on Rails, Next.js, Django, Laravel, dan sebagainya\n2. Metode pendaftaran anggota: email dan kata sandi, login sosial, sistem undangan, dan sebagainya\n3. Kebijakan autentikasi: verifikasi email, pembatasan kegagalan login, kedaluwarsa sesi, ada tidaknya autentikasi 2 langkah\n4. Kebijakan kata sandi: metode hash, prosedur perubahan, masa berlaku tautan reset\n5. Kebijakan penutupan akun: penghapusan, anonimisasi, data yang disimpan, apakah pendaftaran ulang diizinkan\n6. Dokumen hukum: dasar pembuatan draf kebijakan pemrosesan data pribadi dan syarat penggunaan\n7. Kebijakan admin: pencarian anggota, penangguhan, audit log, hak minimum\n8. Penanganan pengecualian: email yang sudah terdaftar, pendaftaran ulang akun yang sudah ditutup, login akun yang ditangguhkan, dan sebagainya\n\n### Contoh prompt\n\n```text\nImplementasikan fitur pendaftaran anggota dan login dengan email dan kata sandi.\nSimpan kata sandi dengan hash satu arah yang aman dan jangan simpan teks biasa.\nTautan reset kata sandi hanya berlaku 30 menit dan harus dibuang setelah digunakan 1 kali.\nSaat mengubah kata sandi, minta pengguna memasukkan kembali kata sandi saat ini.\nSaat penutupan akun anggota, blokir login segera, anonimisasi email dan nama, tetapi rancang agar riwayat pembayaran dapat disimpan dalam status terpisah dengan mempertimbangkan kebutuhan retensi hukum.\nBuat daftar item yang perlu masuk ke draf kebijakan pemrosesan data pribadi dan syarat penggunaan berdasarkan field database yang dikumpulkan.\nMasukkan kotak centang persetujuan ketentuan wajib di layar pendaftaran.\nRancang halaman admin berdasarkan prinsip hak minimum agar hanya email, status pendaftaran, dan status sanksi yang terlihat, serta simpan semua pencarian dan perubahan sebagai audit log.\nSebelum implementasi, jika ada kebijakan yang belum saya tetapkan tetapi perlu diputuskan, tanyakan terlebih dahulu.\n```\n\nKalimat terakhir, “Sebelum implementasi, jika ada kebijakan yang belum saya tetapkan tetapi perlu diputuskan, tanyakan terlebih dahulu,” sangat penting. Jika kalimat ini dimasukkan, AI tidak hanya menjadi alat pembuat kode, tetapi berperan sebagai perencana pendukung yang menemukan kekurangan kebijakan.\n\n## Checklist sebelum deployment\n\nSebelum diterapkan pada layanan nyata, periksa item berikut.\n\n- Apakah kata sandi tidak disimpan sebagai teks biasa?\n- Apakah tautan reset kata sandi memiliki masa berlaku singkat dan batasan penggunaan 1 kali?\n- Apakah layar permintaan reset tidak mengungkapkan keberadaan akun?\n- Apakah perubahan kata sandi mewajibkan pemeriksaan ulang kata sandi saat ini?\n- Apakah perubahan email memiliki prosedur verifikasi email baru?\n- Apakah fitur penutupan akun anggota benar-benar ada dan login diblokir?\n- Apakah data yang dihapus, dianonimkan, dan disimpan setelah penutupan akun dibedakan?\n- Apakah kebijakan pemrosesan data pribadi sesuai dengan item yang benar-benar dikumpulkan?\n- Apakah syarat penggunaan mencakup tindakan terlarang dan dasar sanksi akun?\n- Apakah ada prosedur persetujuan terhadap ketentuan dan kebijakan pemrosesan data pribadi saat pendaftaran?\n- Apakah halaman admin dirancang berdasarkan prinsip hak minimum?\n- Apakah akses admin dan riwayat pencarian serta perubahan data pribadi tersimpan dalam log?\n- Apakah kata sandi, token, dan informasi sensitif tidak tersisa di log serta alat pelacakan error?\n- Jika menggunakan login sosial, apakah informasi yang diterima dan kebijakan pemutusan koneksi tercermin dalam dokumen?\n\n## Kesimpulan\n\nKemampuan pengembangan produk di era AI tidak ditentukan hanya oleh kemampuan membuat kode dengan cepat. Untuk mengoperasikan layanan nyata, keamanan autentikasi, perlindungan data pribadi, penutupan akun dan retensi, ketentuan, hak admin, serta situasi pengecualian harus diputuskan lebih dulu.\n\nAI meningkatkan kecepatan implementasi, tetapi operatorlah yang harus menilai kebijakan apa yang aman, legal, dan sesuai untuk layanan. Saat membuat fitur pendaftaran anggota, sebelum meminta kode kepada AI, Anda harus terlebih dahulu mendefinisikan “apa yang dikumpulkan, bagaimana melindunginya, kapan menghapusnya, dan dengan dasar apa memberikan sanksi”.","content_html":"\u003ch2\u003e\n\u003ca href=\"#mengapa-berbahaya-memakai-begitu-saja-kode-pendaftaran-anggota-yang-dibuat-ai\" class=\"anchor\" id=\"mengapa-berbahaya-memakai-begitu-saja-kode-pendaftaran-anggota-yang-dibuat-ai\"\u003e\u003c/a\u003eMengapa berbahaya memakai begitu saja kode pendaftaran anggota yang dibuat AI\u003c/h2\u003e\n\u003cp\u003eJika Anda meminta AI generatif seperti ChatGPT atau Claude dengan kalimat “buatkan fitur pendaftaran anggota dengan email dan kata sandi”, Anda bisa memperoleh kode yang berfungsi dalam waktu singkat. Namun pendaftaran anggota pada layanan nyata bukan sekadar formulir input dan fungsi penyimpanan ke database. Ini adalah sistem operasional yang harus dirancang bersama dengan pemulihan akun, perubahan kata sandi, penutupan akun, kebijakan pemrosesan data pribadi, syarat penggunaan, hak admin, dan kebijakan retensi data.\u003c/p\u003e\n\u003cp\u003eKhususnya di Korea, jika Anda mengumpulkan informasi yang dapat mengidentifikasi seseorang seperti email, nama, nomor ponsel, atau pengenal login sosial, Anda harus mempertimbangkan kewajiban terkait pemrosesan data pribadi menurut Undang-Undang Perlindungan Data Pribadi. Kode yang dibuat AI hanyalah contoh umum, dan tanggung jawab hukum serta tanggung jawab operasional layanan tetap berada pada operator layanan.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#prinsip-inti-ai-bisa-membuat-kode-tetapi-tidak-bisa-menggantikan-keputusan-kebijakan\" class=\"anchor\" id=\"prinsip-inti-ai-bisa-membuat-kode-tetapi-tidak-bisa-menggantikan-keputusan-kebijakan\"\u003e\u003c/a\u003ePrinsip inti: AI bisa membuat kode, tetapi tidak bisa menggantikan keputusan kebijakan\u003c/h2\u003e\n\u003cp\u003eKode yang dibuat AI cenderung berfokus pada “apakah fiturnya berjalan”. Sebaliknya, layanan nyata harus mampu menjawab pertanyaan berikut.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDengan prosedur apa akun dipulihkan ketika pengguna lupa kata sandi?\u003c/li\u003e\n\u003cli\u003eSaat mengubah kata sandi, apakah kata sandi saat ini diperiksa ulang?\u003c/li\u003e\n\u003cli\u003eKetika ada permintaan penutupan akun, data apa yang dihapus dan data apa yang disimpan?\u003c/li\u003e\n\u003cli\u003eApakah item yang benar-benar dikumpulkan, tujuan, dan periode penyimpanan tertulis secara akurat dalam kebijakan pemrosesan data pribadi?\u003c/li\u003e\n\u003cli\u003eApakah ada dasar kontraktual untuk menangguhkan pengguna yang melanggar ketentuan?\u003c/li\u003e\n\u003cli\u003eApakah layar admin menampilkan data pribadi seminimal mungkin dan menyimpan catatan akses?\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eJika Anda hanya berkata kepada AI “buatkan pendaftaran anggota”, keputusan-keputusan seperti ini bisa terlewat. Karena itu, operator harus lebih dulu menetapkan kebijakan, dan merancang prompt agar AI bertanya tentang hal-hal yang belum ditentukan.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#keamanan-dasar-kata-sandi-tidak-boleh-pernah-disimpan-dalam-bentuk-asli\" class=\"anchor\" id=\"keamanan-dasar-kata-sandi-tidak-boleh-pernah-disimpan-dalam-bentuk-asli\"\u003e\u003c/a\u003eKeamanan dasar: kata sandi tidak boleh pernah disimpan dalam bentuk asli\u003c/h2\u003e\n\u003cp\u003eOperator layanan pun tidak boleh dapat mengetahui kata sandi asli pengguna. Jika kata sandi disimpan sebagai teks biasa di database, ketika terjadi insiden kebocoran, dampaknya akan langsung meluas.\u003c/p\u003e\n\u003cp\u003eCara yang aman adalah menyimpan kata sandi setelah mengubahnya menjadi hash satu arah. Hash satu arah adalah metode transformasi yang dirancang agar pemulihan teks asli secara praktis tidak mungkin dilakukan. Secara umum, untuk penyimpanan kata sandi, algoritma yang dirancang untuk penyimpanan kata sandi seperti bcrypt, Argon2id, dan PBKDF2 lebih direkomendasikan daripada fungsi hash umum yang cepat.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#hal-yang-harus-diperiksa-saat-menyimpan-kata-sandi\" class=\"anchor\" id=\"hal-yang-harus-diperiksa-saat-menyimpan-kata-sandi\"\u003e\u003c/a\u003eHal yang harus diperiksa saat menyimpan kata sandi\u003c/h3\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eItem pemeriksaan\u003c/th\u003e\n\u003cth\u003eArah yang disarankan\u003c/th\u003e\n\u003cth\u003eAlasan\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item pemeriksaan\"\u003ePenyimpanan teks biasa\u003c/td\u003e\n\u003ctd data-label=\"Arah yang disarankan\"\u003eDilarang keras\u003c/td\u003e\n\u003ctd data-label=\"Alasan\"\u003eJika DB bocor, semua akun langsung berada dalam bahaya\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item pemeriksaan\"\u003eAlgoritma hash\u003c/td\u003e\n\u003ctd data-label=\"Arah yang disarankan\"\u003eGunakan bcrypt, Argon2id, PBKDF2, dan sejenisnya\u003c/td\u003e\n\u003ctd data-label=\"Alasan\"\u003eMeningkatkan biaya serangan brute force\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item pemeriksaan\"\u003ePenggunaan salt\u003c/td\u003e\n\u003ctd data-label=\"Arah yang disarankan\"\u003eTerapkan salt unik per pengguna\u003c/td\u003e\n\u003ctd data-label=\"Alasan\"\u003eKata sandi yang sama pun menghasilkan hash yang berbeda\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item pemeriksaan\"\u003ePengaturan biaya kerja\u003c/td\u003e\n\u003ctd data-label=\"Arah yang disarankan\"\u003eTetapkan cukup tinggi dengan mempertimbangkan performa server\u003c/td\u003e\n\u003ctd data-label=\"Alasan\"\u003eMempersulit serangan tebakan massal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item pemeriksaan\"\u003ePencatatan log\u003c/td\u003e\n\u003ctd data-label=\"Arah yang disarankan\"\u003eJangan tinggalkan kata sandi dan token reset di log\u003c/td\u003e\n\u003ctd data-label=\"Alasan\"\u003eMencegah insiden lanjutan akibat kebocoran log\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eFramework web utama seperti Ruby on Rails, Django, dan Laravel menyediakan fitur penyimpanan kata sandi yang aman, tetapi menggunakan nilai bawaan framework tidak berarti pemulihan akun, penutupan akun, hingga kebijakan pemrosesan data pribadi otomatis terselesaikan.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#5-kebijakan-wajib-yang-mudah-dilewatkan-ai\" class=\"anchor\" id=\"5-kebijakan-wajib-yang-mudah-dilewatkan-ai\"\u003e\u003c/a\u003e5 kebijakan wajib yang mudah dilewatkan AI\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#1-kebijakan-reset-kata-sandi\" class=\"anchor\" id=\"1-kebijakan-reset-kata-sandi\"\u003e\u003c/a\u003e1. Kebijakan reset kata sandi\u003c/h3\u003e\n\u003cp\u003ePengguna pasti akan lupa kata sandi. Jika tidak ada fitur reset kata sandi, operator harus menangani permintaan pemulihan akun secara manual, dan dalam proses itu risiko kesalahan verifikasi identitas atau paparan data pribadi dapat meningkat.\u003c/p\u003e\n\u003cp\u003eReset kata sandi bukan sekadar “mengirim tautan lewat email”, tetapi juga mencakup masa berlaku token, pencegahan penggunaan ulang, dan pencegahan pengungkapan keberadaan akun.\u003c/p\u003e\n\u003ch4\u003e\n\u003ca href=\"#kebijakan-yang-harus-diputuskan\" class=\"anchor\" id=\"kebijakan-yang-harus-diputuskan\"\u003e\u003c/a\u003eKebijakan yang harus diputuskan\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eMasa berlaku tautan reset: Tetapkan singkat, misalnya 15 menit atau 30 menit.\u003c/li\u003e\n\u003cli\u003ePenggunaan satu kali: Tautan yang sudah digunakan sekali harus segera dinonaktifkan.\u003c/li\u003e\n\u003cli\u003eCara penyimpanan token: Pertimbangkan cara menyimpan token reset dalam bentuk hash, bukan menyimpan teks asli token reset di DB.\u003c/li\u003e\n\u003cli\u003ePencegahan pengungkapan keberadaan akun: Meskipun email yang tidak ada dimasukkan, tampilkan respons yang sama seperti “Jika email terdaftar, kami telah mengirim email panduan.”\u003c/li\u003e\n\u003cli\u003ePembatasan permintaan: Jika terjadi permintaan reset berlebihan dari email atau IP yang sama, terapkan pembatasan kecepatan.\u003c/li\u003e\n\u003cli\u003eNotifikasi: Jika kata sandi diubah, kirim notifikasi perubahan kepada pengguna.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#2-kebijakan-perubahan-informasi-anggota\" class=\"anchor\" id=\"2-kebijakan-perubahan-informasi-anggota\"\u003e\u003c/a\u003e2. Kebijakan perubahan informasi anggota\u003c/h3\u003e\n\u003cp\u003eAnggota ingin mengubah email, kata sandi, nama panggilan, pengaturan penerimaan notifikasi, dan lainnya. Pada fitur minimal yang dibuat AI, layar perubahan informasi anggota sering kali terlewat.\u003c/p\u003e\n\u003cp\u003eKhususnya perubahan kata sandi adalah pekerjaan yang sensitif secara keamanan. Jika perubahan diizinkan hanya dengan mempercayai sesi yang sudah login, orang lain dapat mengambil alih akun saat pengguna meninggalkan tempat duduk di kafe atau kantor.\u003c/p\u003e\n\u003ch4\u003e\n\u003ca href=\"#kebijakan-yang-harus-diputuskan-1\" class=\"anchor\" id=\"kebijakan-yang-harus-diputuskan-1\"\u003e\u003c/a\u003eKebijakan yang harus diputuskan\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003ePutuskan apakah akan meminta kata sandi saat ini kembali saat mengubah kata sandi.\u003c/li\u003e\n\u003cli\u003ePutuskan apakah akan mewajibkan verifikasi alamat email baru saat mengubah email.\u003c/li\u003e\n\u003cli\u003ePutuskan apakah akan mengirim notifikasi ke email lama dan email baru setelah perubahan email.\u003c/li\u003e\n\u003cli\u003ePutuskan apakah akan mempertahankan sesi login yang ada setelah perubahan informasi penting, atau mewajibkan login ulang.\u003c/li\u003e\n\u003cli\u003ePutuskan apakah akan menyimpan riwayat perubahan informasi anggota sebagai audit log.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#3-kebijakan-penutupan-akun-anggota-dan-penghapusan-data\" class=\"anchor\" id=\"3-kebijakan-penutupan-akun-anggota-dan-penghapusan-data\"\u003e\u003c/a\u003e3. Kebijakan penutupan akun anggota dan penghapusan data\u003c/h3\u003e\n\u003cp\u003ePenutupan akun anggota adalah salah satu kebijakan terpenting dalam layanan nyata. Pengguna harus dapat berhenti menggunakan layanan, dan dapat mengajukan permintaan terkait penghapusan atau penghentian pemrosesan data pribadi. Jika fitur penutupan akun tidak ada, atau setelah penutupan akun pengguna masih tetap bisa login, risiko kepercayaan dan hukum akan meningkat secara bersamaan.\u003c/p\u003e\n\u003cp\u003eNamun, menghapus semua data secara fisik segera bukan selalu jawaban yang benar. Data yang memiliki alasan retensi yang sah seperti pembayaran, pajak, penanganan sengketa, dan pencegahan penyalahgunaan mungkin perlu disimpan selama periode tertentu. Karena itu, kebijakan penutupan akun harus membedakan “apa yang dihapus, apa yang dianonimkan, dan apa yang disimpan”.\u003c/p\u003e\n\u003ch4\u003e\n\u003ca href=\"#perbandingan-soft-delete-dan-hard-delete\" class=\"anchor\" id=\"perbandingan-soft-delete-dan-hard-delete\"\u003e\u003c/a\u003ePerbandingan Soft Delete dan Hard Delete\u003c/h4\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eKategori\u003c/th\u003e\n\u003cth\u003eMakna\u003c/th\u003e\n\u003cth\u003eKelebihan\u003c/th\u003e\n\u003cth\u003eHal yang perlu diperhatikan\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kategori\"\u003eHard Delete\u003c/td\u003e\n\u003ctd data-label=\"Makna\"\u003eMenghapus data secara fisik dari DB\u003c/td\u003e\n\u003ctd data-label=\"Kelebihan\"\u003eMengurangi risiko tersisanya data pribadi\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperhatikan\"\u003eJika catatan pembayaran dan sengketa ikut dihapus, dapat timbul masalah hukum dan akuntansi\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kategori\"\u003eSoft Delete\u003c/td\u003e\n\u003ctd data-label=\"Makna\"\u003eMenandai sebagai status penutupan akun dan memblokir login\u003c/td\u003e\n\u003ctd data-label=\"Kelebihan\"\u003eMudah mempertahankan catatan transaksi, relasi postingan, dan catatan audit\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperhatikan\"\u003eData pribadi dapat tetap tersisa, sehingga diperlukan anonimisasi dan pembatasan akses\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Kategori\"\u003eAnonimisasi\u003c/td\u003e\n\u003ctd data-label=\"Makna\"\u003eMengubah atau menghapus pengenal seperti email dan nama agar sulit dipulihkan\u003c/td\u003e\n\u003ctd data-label=\"Kelebihan\"\u003eMenurunkan risiko identifikasi sambil mempertahankan statistik dan catatan transaksi\u003c/td\u003e\n\u003ctd data-label=\"Hal yang perlu diperhatikan\"\u003ePerlu ditinjau apakah tingkatnya benar-benar menyulitkan identifikasi ulang\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch4\u003e\n\u003ca href=\"#cara-yang-sering-digunakan-dalam-praktik\" class=\"anchor\" id=\"cara-yang-sering-digunakan-dalam-praktik\"\u003e\u003c/a\u003eCara yang sering digunakan dalam praktik\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBedakan status akun seperti \u003ccode\u003eactive\u003c/code\u003e, \u003ccode\u003esuspended\u003c/code\u003e, \u003ccode\u003edeleted\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAkun yang ditutup harus segera tidak dapat login.\u003c/li\u003e\n\u003cli\u003ePengenal langsung seperti email, nama, dan nomor telepon dihapus atau dianonimkan.\u003c/li\u003e\n\u003cli\u003eRiwayat pembayaran, catatan terkait pajak, dan catatan penanganan penyalahgunaan disimpan secara terbatas dengan dasar hukum dan periode penyimpanan yang ditetapkan.\u003c/li\u003e\n\u003cli\u003eTuliskan dengan jelas dalam kebijakan pemrosesan data pribadi item yang disimpan setelah penutupan akun, tujuan, dan periodenya.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#4-kebijakan-pemrosesan-data-pribadi\" class=\"anchor\" id=\"4-kebijakan-pemrosesan-data-pribadi\"\u003e\u003c/a\u003e4. Kebijakan pemrosesan data pribadi\u003c/h3\u003e\n\u003cp\u003eBahkan jika hanya mengumpulkan satu email, pemberitahuan terkait pemrosesan data pribadi tetap diperlukan. Kebijakan pemrosesan data pribadi bukanlah “dokumen yang kira-kira harus kita unggah juga”, melainkan dokumen resmi yang menjelaskan informasi apa yang diproses layanan nyata dan untuk tujuan apa.\u003c/p\u003e\n\u003cp\u003eMenyalin begitu saja kebijakan pemrosesan data pribadi dari situs lain berbahaya. Jika Anda menuliskan informasi yang sebenarnya tidak dikumpulkan, atau melewatkan informasi yang sebenarnya dikumpulkan, dokumen dan layanan menjadi tidak sesuai. Jika memanfaatkan AI, pertama-tama susun field database, formulir pendaftaran anggota, item yang diberikan oleh login sosial, item pengumpulan log, dan item integrasi pembayaran, lalu minta AI membuat draf berdasarkan hal tersebut.\u003c/p\u003e\n\u003ch4\u003e\n\u003ca href=\"#item-utama-yang-perlu-disertakan-dalam-kebijakan-pemrosesan-data-pribadi\" class=\"anchor\" id=\"item-utama-yang-perlu-disertakan-dalam-kebijakan-pemrosesan-data-pribadi\"\u003e\u003c/a\u003eItem utama yang perlu disertakan dalam kebijakan pemrosesan data pribadi\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eItem data pribadi yang dikumpulkan: email, nama, nama panggilan, pengenal login sosial, informasi pembayaran, dan sebagainya\u003c/li\u003e\n\u003cli\u003eTujuan pengumpulan dan penggunaan: identifikasi anggota, login, dukungan pelanggan, pemrosesan pembayaran, pencegahan penyalahgunaan, dan sebagainya\u003c/li\u003e\n\u003cli\u003ePeriode penyimpanan dan penggunaan: sampai penutupan akun anggota, periode retensi menurut peraturan perundang-undangan terkait, dan sebagainya\u003c/li\u003e\n\u003cli\u003eProsedur dan metode pemusnahan: penghapusan DB, anonimisasi, siklus pemusnahan data cadangan, dan sebagainya\u003c/li\u003e\n\u003cli\u003eAda tidaknya pemberian kepada pihak ketiga: jika ada pemberian eksternal seperti iklan, analitik, pembayaran, pengiriman, dan sebagainya\u003c/li\u003e\n\u003cli\u003eAda tidaknya pendelegasian pemrosesan: cloud, pengiriman email, perantara pembayaran, alat konsultasi pelanggan, dan sebagainya\u003c/li\u003e\n\u003cli\u003eHak pengguna dan cara menjalankannya: permintaan akses, perbaikan, penghapusan, penghentian pemrosesan, dan sebagainya\u003c/li\u003e\n\u003cli\u003ePenanggung jawab perlindungan data pribadi atau kanal pertanyaan\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\n\u003ca href=\"#perbedaan-antara-kebijakan-pemrosesan-data-pribadi-dan-syarat-penggunaan\" class=\"anchor\" id=\"perbedaan-antara-kebijakan-pemrosesan-data-pribadi-dan-syarat-penggunaan\"\u003e\u003c/a\u003ePerbedaan antara kebijakan pemrosesan data pribadi dan syarat penggunaan\u003c/h2\u003e\n\u003cp\u003eKedua dokumen sama-sama penting, tetapi perannya berbeda.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDokumen\u003c/th\u003e\n\u003cth\u003ePeran inti\u003c/th\u003e\n\u003cth\u003eRisiko jika tidak ada atau lemah\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Dokumen\"\u003eKebijakan pemrosesan data pribadi\u003c/td\u003e\n\u003ctd data-label=\"Peran inti\"\u003eMenjelaskan mengapa dan bagaimana data pribadi diproses\u003c/td\u003e\n\u003ctd data-label=\"Risiko jika tidak ada atau lemah\"\u003ePelanggaran kewajiban pemberitahuan dan publikasi menurut Undang-Undang Perlindungan Data Pribadi, penurunan kepercayaan pengguna\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Dokumen\"\u003eSyarat penggunaan\u003c/td\u003e\n\u003ctd data-label=\"Peran inti\"\u003eMenentukan ketentuan penggunaan layanan dan dasar tindakan operator\u003c/td\u003e\n\u003ctd data-label=\"Risiko jika tidak ada atau lemah\"\u003eKurangnya dasar pembatasan terhadap abuse, penipuan, ujaran kasar, akun spam\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eKebijakan pemrosesan data pribadi lebih dekat dengan panduan pemrosesan data, sedangkan syarat penggunaan lebih dekat dengan ketentuan kontrak antara pengguna dan layanan. Salah satu saja tidak cukup.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#5-syarat-penggunaan-dan-kebijakan-sanksi\" class=\"anchor\" id=\"5-syarat-penggunaan-dan-kebijakan-sanksi\"\u003e\u003c/a\u003e5. Syarat penggunaan dan kebijakan sanksi\u003c/h3\u003e\n\u003cp\u003eJika tidak ada syarat penggunaan, meskipun pengguna jahat menyalahgunakan layanan, dasar untuk menangguhkan akun, menghapus postingan, dan membatasi penggunaan menjadi lemah. Khususnya layanan seperti komunitas, marketplace, SaaS, dan platform konten, tempat pengguna meninggalkan aktivitas, wajib memiliki ketentuan dan kebijakan operasional.\u003c/p\u003e\n\u003ch4\u003e\n\u003ca href=\"#konten-utama-yang-perlu-disertakan-dalam-syarat-penggunaan\" class=\"anchor\" id=\"konten-utama-yang-perlu-disertakan-dalam-syarat-penggunaan\"\u003e\u003c/a\u003eKonten utama yang perlu disertakan dalam syarat penggunaan\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eSyarat pendaftaran anggota dan tanggung jawab pengelolaan akun\u003c/li\u003e\n\u003cli\u003eTindakan yang dilarang: tindakan ilegal, penipuan, spam, penyalahgunaan crawling, ujaran kasar, pelanggaran hak orang lain, dan sebagainya\u003c/li\u003e\n\u003cli\u003eAlasan dan prosedur pembatasan penggunaan layanan\u003c/li\u003e\n\u003cli\u003eStandar penanganan postingan atau konten buatan pengguna\u003c/li\u003e\n\u003cli\u003eJika ada layanan berbayar, ketentuan pembayaran, pengembalian dana, dan pembatalan\u003c/li\u003e\n\u003cli\u003ePemberitahuan tentang perubahan, penghentian sementara, dan penghentian layanan\u003c/li\u003e\n\u003cli\u003eBatasan tanggung jawab dan prosedur penyelesaian sengketa\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePada layar pendaftaran, prosedur persetujuan terhadap kebijakan pemrosesan data pribadi dan syarat penggunaan harus dimasukkan dengan jelas. Jika persetujuan opsional dan persetujuan wajib bercampur, pengguna harus dapat membedakan dan memilihnya.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#kebijakan-tidak-hilang-meskipun-menggunakan-login-sosial\" class=\"anchor\" id=\"kebijakan-tidak-hilang-meskipun-menggunakan-login-sosial\"\u003e\u003c/a\u003eKebijakan tidak hilang meskipun menggunakan login sosial\u003c/h2\u003e\n\u003cp\u003eJika menggunakan login sosial seperti Google, Kakao, atau Apple, beban penyimpanan kata sandi sendiri dan fitur pencarian kata sandi berkurang. Namun kebijakan pendaftaran anggota tidak hilang.\u003c/p\u003e\n\u003cp\u003eDalam login sosial pun, item berikut tetap diperlukan.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNyatakan informasi apa yang diterima dari penyedia login sosial mana.\u003c/li\u003e\n\u003cli\u003eBedakan pemutusan koneksi akun sosial dan penutupan akun anggota layanan.\u003c/li\u003e\n\u003cli\u003eCerminkan item yang dikumpulkan seperti email, gambar profil, dan pengenal unik dalam kebijakan pemrosesan data pribadi.\u003c/li\u003e\n\u003cli\u003ePersetujuan terhadap syarat penggunaan layanan itu sendiri harus diperoleh secara terpisah.\u003c/li\u003e\n\u003cli\u003eKebijakan penangguhan akun, penutupan akun, dan retensi data harus ditentukan oleh operator layanan.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\n\u003ca href=\"#prinsip-keamanan-saat-membuat-halaman-admin\" class=\"anchor\" id=\"prinsip-keamanan-saat-membuat-halaman-admin\"\u003e\u003c/a\u003ePrinsip keamanan saat membuat halaman admin\u003c/h2\u003e\n\u003cp\u003eJika anggota sudah ada, halaman admin juga menjadi diperlukan. Namun halaman admin adalah area berisiko tinggi yang mudah menyebabkan insiden kebocoran data pribadi. Desain “admin dapat melihat semua informasi” harus dihindari.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#item-pemeriksaan-halaman-admin\" class=\"anchor\" id=\"item-pemeriksaan-halaman-admin\"\u003e\u003c/a\u003eItem pemeriksaan halaman admin\u003c/h3\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eItem\u003c/th\u003e\n\u003cth\u003eKebijakan yang disarankan\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item\"\u003eHak akses\u003c/td\u003e\n\u003ctd data-label=\"Kebijakan yang disarankan\"\u003eBerikan hanya hak minimum sesuai peran admin\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item\"\u003eInformasi yang ditampilkan\u003c/td\u003e\n\u003ctd data-label=\"Kebijakan yang disarankan\"\u003eTampilkan hanya informasi yang diperlukan seperti email, status pendaftaran, status sanksi\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item\"\u003eInformasi sensitif\u003c/td\u003e\n\u003ctd data-label=\"Kebijakan yang disarankan\"\u003eJangan tampilkan kata sandi, token, dan informasi pembayaran lengkap\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item\"\u003eFitur sanksi\u003c/td\u003e\n\u003ctd data-label=\"Kebijakan yang disarankan\"\u003eCatat alasan penangguhan yang terhubung dengan tindakan terlarang dalam syarat penggunaan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item\"\u003eAudit log\u003c/td\u003e\n\u003ctd data-label=\"Kebijakan yang disarankan\"\u003eCatat siapa, kapan, dan informasi anggota apa yang dilihat atau diubah\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item\"\u003eAutentikasi admin\u003c/td\u003e\n\u003ctd data-label=\"Kebijakan yang disarankan\"\u003eTerapkan kata sandi yang kuat dan autentikasi multifaktor\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch2\u003e\n\u003ca href=\"#struktur-prompt-yang-baik-saat-meminta-kepada-ai\" class=\"anchor\" id=\"struktur-prompt-yang-baik-saat-meminta-kepada-ai\"\u003e\u003c/a\u003eStruktur prompt yang baik saat meminta kepada AI\u003c/h2\u003e\n\u003cp\u003eKepada AI, Anda harus menyampaikan bukan hanya “fitur”, tetapi juga “kebijakan”. Menggunakan struktur berikut dapat mengurangi hal yang terlewat.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#item-yang-perlu-disertakan-dalam-prompt\" class=\"anchor\" id=\"item-yang-perlu-disertakan-dalam-prompt\"\u003e\u003c/a\u003eItem yang perlu disertakan dalam prompt\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003eStack teknologi: misalnya Ruby on Rails, Next.js, Django, Laravel, dan sebagainya\u003c/li\u003e\n\u003cli\u003eMetode pendaftaran anggota: email dan kata sandi, login sosial, sistem undangan, dan sebagainya\u003c/li\u003e\n\u003cli\u003eKebijakan autentikasi: verifikasi email, pembatasan kegagalan login, kedaluwarsa sesi, ada tidaknya autentikasi 2 langkah\u003c/li\u003e\n\u003cli\u003eKebijakan kata sandi: metode hash, prosedur perubahan, masa berlaku tautan reset\u003c/li\u003e\n\u003cli\u003eKebijakan penutupan akun: penghapusan, anonimisasi, data yang disimpan, apakah pendaftaran ulang diizinkan\u003c/li\u003e\n\u003cli\u003eDokumen hukum: dasar pembuatan draf kebijakan pemrosesan data pribadi dan syarat penggunaan\u003c/li\u003e\n\u003cli\u003eKebijakan admin: pencarian anggota, penangguhan, audit log, hak minimum\u003c/li\u003e\n\u003cli\u003ePenanganan pengecualian: email yang sudah terdaftar, pendaftaran ulang akun yang sudah ditutup, login akun yang ditangguhkan, dan sebagainya\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3\u003e\n\u003ca href=\"#contoh-prompt\" class=\"anchor\" id=\"contoh-prompt\"\u003e\u003c/a\u003eContoh prompt\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eImplementasikan fitur pendaftaran anggota dan login dengan email dan kata sandi.\n\u003c/span\u003e\u003cspan\u003eSimpan kata sandi dengan hash satu arah yang aman dan jangan simpan teks biasa.\n\u003c/span\u003e\u003cspan\u003eTautan reset kata sandi hanya berlaku 30 menit dan harus dibuang setelah digunakan 1 kali.\n\u003c/span\u003e\u003cspan\u003eSaat mengubah kata sandi, minta pengguna memasukkan kembali kata sandi saat ini.\n\u003c/span\u003e\u003cspan\u003eSaat penutupan akun anggota, blokir login segera, anonimisasi email dan nama, tetapi rancang agar riwayat pembayaran dapat disimpan dalam status terpisah dengan mempertimbangkan kebutuhan retensi hukum.\n\u003c/span\u003e\u003cspan\u003eBuat daftar item yang perlu masuk ke draf kebijakan pemrosesan data pribadi dan syarat penggunaan berdasarkan field database yang dikumpulkan.\n\u003c/span\u003e\u003cspan\u003eMasukkan kotak centang persetujuan ketentuan wajib di layar pendaftaran.\n\u003c/span\u003e\u003cspan\u003eRancang halaman admin berdasarkan prinsip hak minimum agar hanya email, status pendaftaran, dan status sanksi yang terlihat, serta simpan semua pencarian dan perubahan sebagai audit log.\n\u003c/span\u003e\u003cspan\u003eSebelum implementasi, jika ada kebijakan yang belum saya tetapkan tetapi perlu diputuskan, tanyakan terlebih dahulu.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eKalimat terakhir, “Sebelum implementasi, jika ada kebijakan yang belum saya tetapkan tetapi perlu diputuskan, tanyakan terlebih dahulu,” sangat penting. Jika kalimat ini dimasukkan, AI tidak hanya menjadi alat pembuat kode, tetapi berperan sebagai perencana pendukung yang menemukan kekurangan kebijakan.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#checklist-sebelum-deployment\" class=\"anchor\" id=\"checklist-sebelum-deployment\"\u003e\u003c/a\u003eChecklist sebelum deployment\u003c/h2\u003e\n\u003cp\u003eSebelum diterapkan pada layanan nyata, periksa item berikut.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eApakah kata sandi tidak disimpan sebagai teks biasa?\u003c/li\u003e\n\u003cli\u003eApakah tautan reset kata sandi memiliki masa berlaku singkat dan batasan penggunaan 1 kali?\u003c/li\u003e\n\u003cli\u003eApakah layar permintaan reset tidak mengungkapkan keberadaan akun?\u003c/li\u003e\n\u003cli\u003eApakah perubahan kata sandi mewajibkan pemeriksaan ulang kata sandi saat ini?\u003c/li\u003e\n\u003cli\u003eApakah perubahan email memiliki prosedur verifikasi email baru?\u003c/li\u003e\n\u003cli\u003eApakah fitur penutupan akun anggota benar-benar ada dan login diblokir?\u003c/li\u003e\n\u003cli\u003eApakah data yang dihapus, dianonimkan, dan disimpan setelah penutupan akun dibedakan?\u003c/li\u003e\n\u003cli\u003eApakah kebijakan pemrosesan data pribadi sesuai dengan item yang benar-benar dikumpulkan?\u003c/li\u003e\n\u003cli\u003eApakah syarat penggunaan mencakup tindakan terlarang dan dasar sanksi akun?\u003c/li\u003e\n\u003cli\u003eApakah ada prosedur persetujuan terhadap ketentuan dan kebijakan pemrosesan data pribadi saat pendaftaran?\u003c/li\u003e\n\u003cli\u003eApakah halaman admin dirancang berdasarkan prinsip hak minimum?\u003c/li\u003e\n\u003cli\u003eApakah akses admin dan riwayat pencarian serta perubahan data pribadi tersimpan dalam log?\u003c/li\u003e\n\u003cli\u003eApakah kata sandi, token, dan informasi sensitif tidak tersisa di log serta alat pelacakan error?\u003c/li\u003e\n\u003cli\u003eJika menggunakan login sosial, apakah informasi yang diterima dan kebijakan pemutusan koneksi tercermin dalam dokumen?\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\n\u003ca href=\"#kesimpulan\" class=\"anchor\" id=\"kesimpulan\"\u003e\u003c/a\u003eKesimpulan\u003c/h2\u003e\n\u003cp\u003eKemampuan pengembangan produk di era AI tidak ditentukan hanya oleh kemampuan membuat kode dengan cepat. Untuk mengoperasikan layanan nyata, keamanan autentikasi, perlindungan data pribadi, penutupan akun dan retensi, ketentuan, hak admin, serta situasi pengecualian harus diputuskan lebih dulu.\u003c/p\u003e\n\u003cp\u003eAI meningkatkan kecepatan implementasi, tetapi operatorlah yang harus menilai kebijakan apa yang aman, legal, dan sesuai untuk layanan. Saat membuat fitur pendaftaran anggota, sebelum meminta kode kepada AI, Anda harus terlebih dahulu mendefinisikan “apa yang dikumpulkan, bagaimana melindunginya, kapan menghapusnya, dan dengan dasar apa memberikan sanksi”.\u003c/p\u003e\n","tags":["Perlindungan data pribadi","Pengembangan AI","Pendaftaran akun","Keamanan web","Kebijakan operasional"],"faqs":[{"question":"Mengapa kode pendaftaran anggota yang dibuat oleh AI tidak boleh langsung dideploy?","answer":"Kode yang dibuat oleh AI mungkin dapat menjalankan fungsi login dasar, tetapi bisa saja melewatkan kebijakan operasional seperti pengaturan ulang kata sandi, penutupan akun anggota, kebijakan privasi, ketentuan penggunaan, dan hak administrator. Dalam layanan nyata, bukan hanya kesalahan kode yang harus dikelola, tetapi juga perlindungan data pribadi, pembajakan akun, penanganan pelanggaran ketentuan, hingga kewajiban penyimpanan data."},{"question":"Mengapa berbahaya menyimpan kata sandi apa adanya di database?","answer":"Jika kata sandi disimpan dalam teks biasa, akun pengguna akan langsung terekspos begitu database bocor. Kata sandi harus disimpan dengan metode hash satu arah yang sesuai untuk penyimpanan kata sandi, seperti bcrypt, Argon2id, atau PBKDF2, dan operator layanan pun tidak boleh dapat melihat kata sandi aslinya."},{"question":"Berapa lama tautan pengaturan ulang kata sandi sebaiknya berlaku?","answer":"Jawaban yang tepat bergantung pada tingkat risiko layanan, tetapi secara umum lebih aman menetapkan masa berlaku yang singkat. Misalnya, disarankan untuk membatasinya menjadi 15 menit atau 30 menit, segera menonaktifkan tautan yang sudah digunakan sekali, dan menerapkan pembatasan laju pada permintaan pengaturan ulang yang berlebihan."},{"question":"Apakah semua data harus segera dihapus saat anggota menutup akun?","answer":"Tidak selalu benar bahwa semua data harus segera dihapus. Informasi identitas seperti email dan nama umumnya dihapus atau dianonimkan, tetapi informasi yang perlu disimpan karena alasan hukum atau akuntansi, seperti riwayat pembayaran atau catatan penanganan sengketa, dapat disimpan secara terbatas dengan menetapkan tujuan dan jangka waktunya."},{"question":"Apakah Soft Delete aman dari sudut pandang perlindungan data pribadi?","answer":"Soft Delete adalah metode yang menandai akun sebagai telah ditutup sehingga mencegah login dan penggunaan, tetapi data pribadi masih dapat tetap berada di database. Oleh karena itu, pengenal seperti email, nama, dan nomor telepon harus dianonimkan atau aksesnya dibatasi, dan tujuan serta jangka waktu penyimpanan harus tercermin secara jelas dalam kebijakan privasi."},{"question":"Apakah kebijakan privasi diperlukan meskipun hanya mengumpulkan email?","answer":"Di Korea, alamat email juga dapat termasuk data pribadi jika dapat mengidentifikasi seseorang atau dapat mengidentifikasi seseorang jika digabungkan dengan informasi lain. Jika Anda mengumpulkan email saat mengoperasikan layanan, Anda harus merangkum dalam kebijakan privasi item yang dikumpulkan, tujuan penggunaan, jangka waktu penyimpanan, metode pemusnahan, dan cara pengguna menggunakan haknya."},{"question":"Bolehkah menyalin dan memakai kebijakan privasi layanan lain?","answer":"Menyalinnya begitu saja berisiko. Jika Anda mencantumkan item yang sebenarnya tidak dikumpulkan atau melewatkan item yang sebenarnya dikumpulkan, isi dokumen tidak akan sesuai dengan operasional layanan. Kebijakan harus disusun berdasarkan field database Anda sendiri, formulir pendaftaran, item yang diberikan melalui login sosial, dan alat eksternal yang dialihdayakan."},{"question":"Mengapa ketentuan penggunaan diperlukan?","answer":"Ketentuan penggunaan adalah syarat kontrak antara pengguna dan layanan. Dengan adanya ketentuan, Anda dapat menyajikan secara jelas standar operasional seperti tindakan yang dilarang, penangguhan akun, penghapusan postingan, pengembalian dana layanan berbayar, dan penghentian layanan, serta menyiapkan dasar untuk mengambil tindakan terhadap pengguna berbahaya."},{"question":"Jika menggunakan login sosial, apakah tidak perlu membuat fungsi pengaturan ulang kata sandi?","answer":"Jika layanan tidak menyimpan kata sandi sendiri, beban pengaturan ulang kata sandi dapat beralih ke penyedia login sosial. Namun, penutupan akun anggota, kebijakan privasi, ketentuan penggunaan, penangguhan akun, halaman administrator, dan pemberitahuan tentang informasi yang diterima dari penyedia sosial tetap diperlukan."},{"question":"Kalimat apa yang wajib dimasukkan saat meminta AI membuat fitur pendaftaran anggota?","answer":"Sebaiknya masukkan kalimat, “Sebelum mengimplementasikan, jika ada kebijakan yang belum saya tetapkan dan perlu diputuskan, tanyakan dulu kepada saya.” Kalimat ini berfungsi membuat AI menanyakan kembali kebijakan yang terlewat, seperti verifikasi email, penanganan penutupan akun, jangka waktu penyimpanan, dan persetujuan ketentuan, sebelum sekadar membuat kode."},{"question":"Data pribadi apa yang sebaiknya dapat dilihat di halaman administrator?","answer":"Administrator hanya boleh dapat melihat informasi minimum yang diperlukan untuk pekerjaannya. Misalnya, lebih aman untuk hanya menampilkan item yang diperlukan secara operasional seperti email, status pendaftaran, dan status sanksi, serta tidak menampilkan informasi sensitif seperti kata sandi, token pengaturan ulang, atau seluruh informasi pembayaran."}],"sources":[{"url":"https://www.law.go.kr/법령/개인정보보호법","title":"Undang-Undang Perlindungan Informasi Pribadi Pusat Informasi Peraturan Perundang-undangan Nasional","type":"source"},{"url":"https://owasp.org/www-project-application-security-verification-standard/","title":"Standar Verifikasi Keamanan Aplikasi OWASP","type":"source"},{"url":"https://cheatsheetseries.owasp.org/cheatsheets/Forgot_Password_Cheat_Sheet.html","title":"Lembar Panduan Lupa Kata Sandi OWASP","type":"source"},{"url":"https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html","title":"Lembar Panduan Penyimpanan Kata Sandi OWASP","type":"source"},{"url":"https://pages.nist.gov/800-63-3/sp800-63b.html","title":"Publikasi Khusus NIST 800-63B Pedoman Identitas Digital: Autentikasi dan Manajemen Siklus Hidup","type":"source"}],"images":[{"id":264,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjYyNCwicHVyIjoiYmxvYl9pZCJ9fQ==--0893ad23b7ea7bbe6d1ef282efb9d1c931ec9db4/ai-d2835ae1.webp","is_representative":true,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"사람과 AI 로봇이 보안 아이콘이 있는 노트북 회원가입 양식을 검토하는 일러스트","caption":"AI가 만든 회원가입 기능을 서비스에 적용하기 전 보안과 정책을 점검하는 장면입니다.","description":null},"en":{"alt":"Person and AI robot reviewing a laptop sign-up form with security and compliance icons","caption":"The illustration shows an AI-assisted sign-up flow being checked for security and policy readiness.","description":null},"ja":{"alt":"人物とAIロボットがセキュリティアイコン付きのノートPC登録フォームを確認するイラスト","caption":"AIが作成した会員登録機能を公開前にセキュリティとポリシー面で確認する場面です。","description":null},"es":{"alt":"Persona y robot de IA revisan un formulario de registro en un portátil con iconos de seguridad","caption":"La escena muestra la revisión de un registro creado con IA antes de usarlo en un servicio.","description":null},"id":{"alt":"Orang dan robot AI meninjau formulir pendaftaran di laptop dengan ikon keamanan","caption":"Ilustrasi ini menunjukkan pemeriksaan keamanan dan kebijakan pada fitur pendaftaran buatan AI.","description":null},"pt":{"alt":"Pessoa e robô de IA revisam um formulário de cadastro no notebook com ícones de segurança","caption":"A cena mostra a checagem de segurança e políticas antes de usar um cadastro gerado por IA.","description":null},"zh-hant":{"alt":"人物與 AI 機器人查看筆電上的註冊表單，周圍有安全與審核圖示","caption":"這張插圖呈現將 AI 產生的註冊功能上線前進行安全與政策檢查。","description":null}}},{"id":265,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjYzMCwicHVyIjoiYmxvYl9pZCJ9fQ==--30aaa449fe22dfcb0737b24e7d1395585a305189/ai-1e42e3f5.webp","is_representative":false,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"잠금 장치가 있는 회원가입 화면과 비밀번호, 키, 삭제, 데이터 점검 아이콘","caption":"회원가입 기능에 필요한 인증, 암호화, 삭제, 데이터 점검 항목을 보여준다.","description":null},"en":{"alt":"Signup form with a lock, linked to password, key, deletion, data, and audit icons","caption":"The illustration shows key security checks around a signup system.","description":null},"ja":{"alt":"鍵付きの登録フォームと、パスワード、キー、削除、データ監査のアイコン","caption":"会員登録システムで確認すべき認証やデータ管理の項目を示している。","description":null},"es":{"alt":"Formulario de registro con candado y iconos de contraseña, clave, eliminación, datos y auditoría","caption":"La ilustración resume controles de seguridad y datos para un sistema de registro.","description":null},"id":{"alt":"Formulir pendaftaran berkunci dengan ikon kata sandi, kunci, penghapusan, data, dan audit","caption":"Ilustrasi ini menunjukkan pemeriksaan keamanan dan data pada sistem pendaftaran.","description":null},"pt":{"alt":"Formulário de cadastro com cadeado e ícones de senha, chave, exclusão, dados e auditoria","caption":"A ilustração destaca verificações de segurança e dados em um sistema de cadastro.","description":null},"zh-hant":{"alt":"帶鎖的註冊表單，連結密碼、金鑰、刪除、資料與稽核圖示","caption":"插圖呈現註冊系統周邊的安全與資料管理檢查。","description":null}}}],"published_at":"2026-07-23T17:57:27+09:00","updated_at":"2026-07-23T17:57:27+09:00","license":"cc_by","translation_status":"reviewed","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant"],"url":"https://injoys.com/en/articles/ai-generated-signup-security-privacy-checklist"}