UU PDP untuk Aplikasi: Apa Saja yang Harus Diubah di Software Anda

Apa yang diminta UU No. 27 Tahun 2022 dari sisi software: data umum dan spesifik, pengendali dan prosesor, dasar pemrosesan dan catatan persetujuan, masking NIK di log, retensi data, permintaan subjek data, notifikasi kebocoran 3 x 24 jam, dan langkah awalnya.

Dipublikasikan 10 menit baca
Gembok kombinasi dan kartu pembayaran di atas keyboard laptop

UU No. 27 Tahun 2022 tentang Pelindungan Data Pribadi, yang biasa disebut UU PDP, disahkan pada 17 Oktober 2022 dengan masa transisi dua tahun yang berakhir 17 Oktober 2024. Hampir semua perusahaan yang kami temui sudah tahu UU ini ada. Yang belum banyak dipahami adalah dampaknya ke software: database berisi nomor HP pelanggan, file log yang penuh NIK, server staging yang isinya salinan data production. Dokumen kebijakan bisa selesai sebulan, tapi mengubah cara aplikasi mengumpulkan, menyimpan, dan menghapus data butuh waktu lebih lama, jadi mulai dari situ. Tulisan ini membahas sisi teknisnya dan bukan nasihat hukum. Untuk interpretasi kasus Anda, libatkan konsultan hukum.

Cakupan UU PDP dengan Bahasa Sederhana

UU PDP berlaku untuk siapa pun yang memproses data pribadi orang di Indonesia, termasuk pihak di luar negeri yang pemrosesannya berakibat hukum di sini. Data pribadi adalah data tentang orang yang bisa dikenali, langsung maupun setelah digabung dengan data lain. Nomor HP saja sudah termasuk.

UU ini membagi data pribadi jadi dua kelompok. Data pribadi yang bersifat umum mencakup nama lengkap, jenis kelamin, kewarganegaraan, agama, status perkawinan, dan data yang bila digabungkan bisa mengidentifikasi seseorang. Data pribadi yang bersifat spesifik risikonya lebih besar dan menuntut perlakuan lebih hati-hati. Isinya:

  • Data kesehatan, misalnya rekam medis klinik atau hasil medical check-up.
  • Data biometrik, seperti template wajah di aplikasi absensi.
  • Data genetika.
  • Catatan kejahatan, termasuk scan SKCK yang disimpan sistem HR.
  • Data anak, yang persetujuannya harus dari orang tua atau wali.
  • Data keuangan pribadi, seperti nomor rekening dan gaji.

Modul payroll menyimpan data keuangan dan aplikasi sekolah menyimpan data anak, sering tanpa ada yang sadar. Kalau aplikasi Anda termasuk, kewajiban di bawah jadi lebih berat.

Pengendali, Prosesor, dan Posisi Vendor Anda

Pengendali data pribadi menentukan tujuan dan cara pemrosesan, dan biasanya itu perusahaan Anda. Prosesor data pribadi memproses data atas nama pengendali. Termasuk di sini penyedia cloud, vendor email, SMS, dan WhatsApp, serta software house Anda kalau mereka meng-hosting aplikasi atau bisa melihat data production saat memperbaiki bug.

Tanggung jawab atas pekerjaan prosesor tetap di pengendali, jadi setiap prosesor perlu perjanjian tertulis: data apa yang dipegang dan untuk apa, pengamanannya, larangan memakai data untuk keperluan lain, seberapa cepat insiden dilaporkan, dan nasib datanya saat kontrak selesai. Kontrak perusahaan dengan developer di Indonesia sering tidak menyinggung data pribadi sama sekali. Perbaiki di perpanjangan berikutnya.

Transfer data ke luar Indonesia boleh dengan syarat, misalnya negara tujuan punya pelindungan setara atau lebih tinggi, atau kontraknya memuat pengamanan yang memadai. Kalau server Anda di region Singapura atau Anda memanggil API AI di luar negeri, catat itu dan tanyakan ke konsultan hukum dasar mana yang dipakai.

Dasar Pemrosesan dan Persetujuan yang Bisa Dibuktikan

Setiap pemrosesan butuh dasar hukum. Persetujuan (consent) cuma salah satunya. Dasar lain antara lain pemenuhan perjanjian dengan orang tersebut, kewajiban hukum, dan kepentingan yang sah. Toko online tidak perlu consent untuk memakai alamat pengiriman, karena itu bagian dari transaksi. Broadcast promo lewat WhatsApp lain cerita, dan dasarnya biasanya consent.

Kalau Anda mengandalkan consent, Anda yang harus membuktikannya, dan checkbox yang sudah dicentang otomatis tidak cukup. Simpan catatan consent per pengguna per tujuan: apa yang disetujui, versi pemberitahuan mana yang dilihat, kapan, dan lewat kanal apa. Penarikan consent dicatat dengan cara yang sama, lalu pemrosesan untuk tujuan itu berhenti.

Mengumpulkan data lebih sedikit adalah pengamanan paling murah, dan di sini banyak proyek salah langkah. Form pendaftaran meminta NIK, tanggal lahir, nama ibu kandung, dan foto KTP karena ada yang berpikir mungkin nanti berguna. Setiap field harus dijaga dan suatu saat dihapus. Kalau tidak ada yang bisa menjelaskan gunanya, buang.

Kewajiban UU PDP dan Wujudnya di Aplikasi

Tabel berikut memetakan kewajiban utama ke pekerjaan nyata. Anggap sebagai awal backlog, bukan checklist kepatuhan yang lengkap.

KewajibanArtinya di aplikasiContoh implementasi
Pencatatan pemrosesanTahu data pribadi apa yang disimpan, di mana, untuk apa, dan siapa yang bisa melihatInventaris data per tabel dan kolom berisi tujuan, dasar hukum, hak akses, dan masa simpan
Dasar hukum dan consentBisa membuktikan apa yang disetujui pengguna dan kapanTabel consents berisi user ID, tujuan, versi pemberitahuan, timestamp, kanal, dan withdrawn_at
Retensi dan penghapusanHapus atau anonimkan data setelah tujuannya selesaiJob terjadwal yang menganonimkan akun yang lama tidak aktif dan mencatat setiap eksekusinya
Keamanan pemrosesanMencegah akses, perubahan, dan pengungkapan tanpa hakTLS di semua koneksi, enkripsi disk dan backup, enkripsi per kolom untuk NIK dan data keuangan
AkuntabilitasBisa menunjukkan siapa yang melihat, mengekspor, atau mengubah data pribadiAudit log read-only untuk tampilan admin, ekspor, dan edit, disimpan terpisah dari database utama
Hak subjek dataMelayani permintaan akses, perbaikan, dan penghapusanTool admin untuk ekspor data satu orang lalu menghapus atau menganonimkannya di semua tabel
Notifikasi kegagalan pelindunganMemberi tahu subjek data dan lembaga paling lambat 3 x 24 jamAlerting, runbook tertulis, dan orang yang ditunjuk untuk memutuskan dan mengirim pemberitahuan

Log, Backup, dan Database Staging

Kebocoran yang pernah kami bantu bereskan jarang lewat database production. Biasanya lewat log aplikasi yang mencetak seluruh isi request lengkap dengan NIK dan nomor HP, file ekspor Excel yang dikirim ke Gmail pribadi, atau server staging berisi salinan penuh production dengan password default.

Lakukan masking di log: NIK jadi 3273********0001, nomor HP jadi 0812****5678. Pasang sekali di lapisan logging, jangan mengandalkan setiap developer untuk ingat. Database staging dan development diisi lewat script masking yang mengganti nama, NIK, nomor HP, dan alamat dengan data palsu sebelum salinannya keluar dari production. Dengan library Faker untuk PHP, Python, atau JavaScript, pekerjaan ini cukup satu atau dua hari.

Pakai TLS untuk data yang dikirim, termasuk koneksi aplikasi ke database yang beda server, dan enkripsi disk serta backup untuk data yang tersimpan. Untuk NIK, nomor rekening, dan catatan kesehatan, tambahkan enkripsi di level aplikasi supaya dump database yang dicuri tidak langsung terbaca. Data yang dihapus baru hilang dari backup setelah backup itu kedaluwarsa, jadi samakan masa simpan backup dengan kebijakan Anda.

Melayani Permintaan Subjek Data

Hak yang paling menambah pekerjaan di aplikasi adalah:

  • Akses: konfirmasi bahwa datanya diproses, beserta salinannya.
  • Perbaikan: membetulkan data yang salah atau tidak lengkap.
  • Penghapusan: data dihapus atau dimusnahkan, dengan memperhatikan kewajiban simpan dari aturan lain.
  • Penarikan persetujuan: pemrosesan yang berdasar consent dihentikan.
  • Keberatan atas keputusan otomatis: keputusan yang sepenuhnya berdasar pemrosesan otomatis, termasuk profiling, yang berdampak besar bagi orang itu.

Beberapa hak ini punya tenggat respons yang pendek, jadi pastikan angkanya dengan konsultan hukum dan rancang prosesnya dalam hitungan hari, bukan minggu. Buat fungsi admin yang mencari semua data satu orang di tabel users, orders, tiket support, riwayat chat, dan file storage, lalu mengekspor atau menganonimkannya. Catatan transaksi sering tetap harus disimpan untuk keperluan pembukuan, jadi untuk invoice identitas orangnya yang dianonimkan dan transaksinya tetap ada. Verifikasi identitas peminta dulu. Tanpa itu, fitur hapus data malah jadi celah baru untuk merugikan pengguna.

Saat Data Bocor: Hitungan 3 x 24 Jam

Kalau terjadi kegagalan pelindungan data pribadi, pengendali wajib memberi pemberitahuan tertulis kepada subjek data yang terdampak dan kepada lembaga pengawas paling lambat 3 x 24 jam. Isinya data apa yang terungkap, kapan dan bagaimana kejadiannya, serta langkah penanganan dan pemulihannya. Tujuh puluh dua jam itu sempit sekali kalau tidak jelas siapa yang memegang komando.

Tulis runbook-nya sebelum dibutuhkan: siapa yang pertama dihubungi, siapa yang memutuskan insiden wajib dilaporkan atau tidak, siapa yang menghubungi konsultan hukum, siapa yang menyusun pesan ke pengguna, dan bagaimana log diamankan. Latih setahun sekali dengan skenario karangan, misalnya database staging ditemukan di IP publik. Latihan pertama biasanya membuka fakta bahwa audit log cuma tersimpan tujuh hari, atau tidak ada yang pegang password root akun cloud.

Kalau Anda tidak tahu di mana nomor HP pelanggan tersimpan, Anda tidak bisa menghapusnya saat diminta, dan tidak bisa memberi tahu mereka saat data itu bocor.

Pejabat PDP, Sanksi, dan Aturan Pelaksana

Anda wajib menunjuk pejabat atau petugas pelindungan data pribadi kalau pemrosesannya untuk pelayanan publik, kalau kegiatan intinya memerlukan pemantauan yang teratur dan sistematis dalam skala besar, atau kalau kegiatan intinya memproses data spesifik atau catatan kejahatan dalam skala besar. Platform pinjaman online atau sistem rumah sakit jelas masuk. Distributor dengan aplikasi sales kemungkinan tidak, tapi tetap harus ada orang internal yang memegang urusan ini.

Sanksi administratif mulai dari peringatan tertulis, penghentian sementara pemrosesan, penghapusan data, sampai denda administratif paling banyak 2 persen dari pendapatan tahunan. Di luar itu, ada ketentuan pidana untuk perbuatan memperoleh, mengumpulkan, mengungkapkan, atau menggunakan data pribadi milik orang lain secara melawan hukum, dengan ancaman penjara dan denda sampai miliaran rupiah.

UU PDP mengamanatkan lembaga pengawas yang dibentuk Presiden dan Peraturan Pemerintah sebagai aturan pelaksananya. Keduanya lambat terwujud, jadi cek status terbaru lembaga dan aturan pelaksananya sebelum Anda memfinalkan kebijakan dan prosedur insiden. Pendapat kami, menunggu aturan turunan bukan alasan yang bagus untuk menunda pekerjaan teknis, karena semua yang dibahas di sini bersumber dari UU-nya langsung.

Mulai dari Mana

Sesuaikan usahanya dengan datanya. Kalau website Anda cuma company profile dengan form kontak, Anda tidak perlu proyek kepatuhan atau software house untuk urusan ini. Aktifkan HTTPS, pasang kebijakan privasi singkat, batasi siapa yang membaca isi form, dan hapus kiriman lama tiap tahun. Untuk aplikasi yang menyimpan akun pelanggan, transaksi, atau data spesifik, jalankan langkah berikut:

  1. 1Susun inventaris data: semua sistem yang menyimpan data pribadi, termasuk spreadsheet dan backup, dengan tujuan, dasar hukum, hak akses, dan masa simpan untuk setiap tabel atau file.
  2. 2Buang yang tidak perlu. Hapus field yang tidak dipakai, berhenti menyimpan foto KTP kalau nomor NIK saja sudah cukup, dan bersihkan data lama yang tidak dipakai siapa pun.
  3. 3Tutup kebocoran yang jelas: masking NIK dan nomor HP di log dan database non-production, keluarkan staging dari internet publik, dan hentikan akun admin yang dipakai bersama.
  4. 4Tambahkan catatan consent dengan timestamp dan versi kebijakan privasi, plus cara bagi pengguna untuk menarik persetujuan.
  5. 5Pasang hak akses berbasis role dan audit log di layar admin serta fitur ekspor, lalu enkripsi kolom sensitif dan backup.
  6. 6Bangun job retensi dan tool admin untuk permintaan akses, perbaikan, dan penghapusan.
  7. 7Tanda tangani perjanjian pemrosesan data dengan penyedia cloud, software house, dan vendor pesan Anda.
  8. 8Tulis runbook kebocoran data, tunjuk orangnya, dan latih setahun sekali.

Di sistem baru, inventaris data dan masking log kami masukkan ke sprint pertama, saat biayanya masih kecil. Untuk aplikasi yang sudah berjalan, biasanya kami mulai dengan review dua sampai tiga minggu atas kode, log, dan infrastruktur, lalu hasilnya kami ubah jadi backlog yang bisa dikerjakan tim Anda atau tim kami.

Poin penting

  • UU PDP (UU No. 27 Tahun 2022) berlaku penuh sejak 17 Oktober 2024, dan dampaknya sampai ke cara software menyimpan dan menghapus data.
  • Data pribadi spesifik seperti data kesehatan, biometrik, anak, dan keuangan menuntut perlakuan lebih ketat.
  • Simpan catatan consent yang bisa dibuktikan, lengkap dengan timestamp dan versi pemberitahuan, dan kumpulkan field sesedikit mungkin.
  • Log, file ekspor, dan salinan staging lebih sering bocor daripada production. Masking NIK dan nomor HP di semua tempat di luar production.
  • Siapkan perjanjian pemrosesan dengan setiap vendor dan runbook kebocoran yang sudah dilatih supaya tenggat 3 x 24 jam bisa dipenuhi.
Bagikan artikel ini

Artikel terkait

Artikel lain tentang software development, AI, cloud, dan infrastruktur.

Kode konfigurasi PHP di layar editor berlatar gelapKeamanan

9 menit baca

PHP2Shell Adalah: Celah Kritis di PHP dan Cara Mengamankan Server Anda

Tim PHP merilis update darurat untuk dua celah yang memungkinkan penyerang menjalankan kode di server tanpa login. Berikut penjelasan celahnya, cara mengecek versi PHP yang benar-benar dipakai web server, langkah update di berbagai lingkungan, dan apa yang perlu diperiksa setelahnya.

Mari berdiskusi

Sedang mencari partner untuk pengembangan software?

Ceritakan proyek yang sedang Anda bangun, kebutuhan yang ingin diselesaikan, dan tantangan yang dihadapi. Kami dapat membantu membahas pendekatan teknis, scope, timeline, dan estimasi biaya.

Mulai diskusi