Ringkasan Utama
UU PDP No. 27/2022 adalah undang-undang perlindungan data pribadi komprehensif pertama di Indonesia, sebagian mencontoh GDPR dan berlaku penuh sejak Oktober 2024. Undang-undang ini mengikat organisasi mana pun yang memproses data pribadi orang Indonesia, sehingga catatan consent, batas retensi dan notifikasi kebocoran menjadi kebutuhan rekayasa, bukan sekadar urusan dokumen hukum.
Undang-Undang Perlindungan Data Pribadi (UU PDP) No. 27/2022 adalah undang-undang perlindungan data pribadi komprehensif pertama Indonesia, sebagian dimodelkan berdasarkan GDPR Eropa. Berlaku penuh mulai Oktober 2024, UU ini membebankan kewajiban mengikat pada setiap organisasi — publik atau swasta, domestik maupun asing — yang memproses data pribadi warga negara Indonesia. Bagi developer, ini berarti sistem yang ada harus dinilai secara retroaktif dan diperbarui untuk memenuhi lima kewajiban inti UU PDP.
Lima Kewajiban Inti Developer Berdasarkan UU PDP
Berbeda dari regulasi data sektoral Indonesia sebelumnya (OJK, BI, BPJS), UU PDP berlaku secara horizontal di semua industri. Lima kewajiban yang paling langsung mempengaruhi software engineer adalah: (1) menetapkan dasar hukum sebelum mengumpulkan data pribadi apa pun; (2) mengimplementasikan manajemen persetujuan yang granular dan dapat dicabut; (3) hanya mengumpulkan data yang benar-benar diperlukan untuk tujuan yang dinyatakan (minimisasi data); (4) memberlakukan batas retensi dengan penghapusan otomatis; dan (5) mendeteksi dan memberi tahu pelanggaran dalam 72 jam.
Implementasi Dasar Hukum dan Manajemen Persetujuan
UU PDP mengakui enam dasar hukum: persetujuan eksplisit, kebutuhan kontraktual, kewajiban hukum, kepentingan vital, kepentingan publik, dan kepentingan sah. Setiap titik pengumpulan data dalam aplikasi Anda harus dipetakan ke salah satu dasar ini dan didokumentasikan. Untuk pemrosesan berbasis persetujuan, implementasikan alur persetujuan double-opt-in dengan pemilihan tujuan granular (misalnya persetujuan terpisah untuk email pemasaran, pelacakan analitik, dan berbagi data pihak ketiga). Simpan catatan persetujuan dengan timestamp, versi kebijakan privasi yang disetujui, dan IP/perangkat dari mana persetujuan diberikan.
Minimisasi Data dan Pembatasan Tujuan dalam Praktik
Minimisasi data mengharuskan Anda hanya mengumpulkan field yang benar-benar diperlukan untuk tujuan yang dinyatakan. Audit formulir pendaftaran, body request API, dan skema event analitik Anda — setiap field tanpa justifikasi bisnis yang terdokumentasi adalah kewajiban. Pembatasan tujuan berarti data yang dikumpulkan untuk autentikasi pengguna tidak dapat digunakan kembali untuk iklan bertarget tanpa persetujuan baru. Implementasikan komentar kolom tingkat database yang menandai setiap kolom dengan klasifikasi data dan dasar hukumnya untuk mempercepat audit di masa mendatang.
Bangun Register Pemrosesan Data terpusat sebagai manifes JSON atau YAML yang dapat dibaca mesin di repositori Anda. Setiap entri mendokumentasikan kategori data, dasar hukum, periode retensi, pemroses pihak ketiga, dan apakah transfer lintas batas terjadi. Pasal 31 UU PDP mewajibkan Pengendali merekam seluruh kegiatan pemrosesan Data Pribadi, dan register seperti ini adalah cara praktis memenuhinya sekaligus mempercepat respons audit regulasi secara signifikan.
Pengamanan Teknis: Enkripsi, RLS, dan Pseudonymization
Pasal 35 UU PDP mewajibkan Pengendali Data untuk mengimplementasikan pengamanan teknis yang proporsional dengan tingkat risiko data yang diproses. Untuk sebagian besar aplikasi yang memproses NIK (nomor induk kependudukan), nomor rekening keuangan, data kesehatan, atau biometrik, ini berarti enkripsi at rest (AES-256), enkripsi in transit (TLS 1.3), pseudonymization atau tokenisasi untuk pipeline analitik, dan kontrol akses yang diberlakukan di tingkat database menggunakan Row-Level Security.
PostgreSQL RLS untuk Isolasi Data dan Pseudonymization Python
Row-Level Security (RLS) di PostgreSQL memberlakukan kebijakan akses data di tingkat storage engine, memastikan bug aplikasi atau query yang salah konfigurasi tidak dapat secara tidak sengaja mengekspos data pribadi pengguna lain. Dikombinasikan dengan pseudonymization — mengganti field PII dengan token HMAC-SHA256 yang berasal dari kunci rahasia — pipeline analitik dan pelaporan Anda dapat beroperasi pada data tanpa pernah menyentuh informasi pribadi mentah. Blok kode di bawah menampilkan kedua teknik dalam implementasi terpadu.
-- PostgreSQL Row-Level Security for UU PDP data isolation
-- Each tenant/user can only access their own personal data
ALTER TABLE user_personal_data ENABLE ROW LEVEL SECURITY;
-- Policy: users can only read their own rows
CREATE POLICY user_data_isolation ON user_personal_data
FOR ALL
TO app_user
USING (owner_id = current_setting('app.current_user_id')::uuid);
-- Pseudonymization function (Python) — store real data separately
-- ---------------------------------------------------------------
# pseudonymize.py
import hashlib
import hmac
import os
PSEUDONYM_SECRET = os.environ['PSEUDONYM_SECRET'].encode()
def pseudonymize(value: str) -> str:
"""
One-way HMAC-SHA256 pseudonym — consistent per value,
cannot be reversed without the secret key.
Compliant with UU PDP data minimization principle.
"""
return hmac.new(PSEUDONYM_SECRET,
value.encode('utf-8'),
hashlib.sha256).hexdigest()
def pseudonymize_record(record: dict, pii_fields: list[str]) -> dict:
"""Replace PII fields with pseudonyms before storing in analytics DB."""
result = dict(record)
for field in pii_fields:
if field in result and result[field]:
result[field] = pseudonymize(str(result[field]))
return result
# Example usage
raw = {'user_id': 'USR-001', 'nik': '3271012345670001',
'email': 'user@example.com', 'amount': 50000}
safe = pseudonymize_record(raw, pii_fields=['nik', 'email'])
# safe = {'user_id': 'USR-001', 'nik': '<hash>', 'email': '<hash>', 'amount': 50000}
-- Audit log table for data access tracking (UU PDP Article 31)
CREATE TABLE personal_data_access_log (
id BIGSERIAL PRIMARY KEY,
accessed_by UUID NOT NULL,
table_name TEXT NOT NULL,
record_id UUID NOT NULL,
operation TEXT CHECK (operation IN ('SELECT','UPDATE','DELETE')),
accessed_at TIMESTAMPTZ DEFAULT NOW(),
purpose TEXT NOT NULL,
legal_basis TEXT NOT NULL -- consent / contract / legal_obligation / vital_interest
);Audit Logging untuk Event Akses Data
UU PDP mewajibkan event akses data pribadi dapat dilacak dan diaudit. Setiap SELECT, UPDATE, atau DELETE pada tabel yang berisi data pribadi harus dicatat dengan: identitas pengakses, dasar hukum yang diklaim, timestamp, dan tujuan bisnis. Gunakan trigger PostgreSQL atau middleware tingkat aplikasi untuk menangkap event ini, dan simpan log dalam tabel audit write-once, append-only atau bucket object storage yang memenuhi standar WORM (Write Once Read Many).
Hak Subjek Data dan API Penanganan Permintaan
UU PDP memberikan enam hak inti kepada subjek data Indonesia: akses (melihat semua data yang dimiliki tentang mereka), rektifikasi (koreksi data yang tidak akurat), penghapusan (hak untuk dilupakan), portabilitas (menerima data dalam format yang dapat dibaca mesin), pembatasan pemrosesan, dan keberatan terhadap pengambilan keputusan otomatis. Developer harus membangun endpoint API atau alur UI untuk memenuhi permintaan ini, dan tenggatnya dihitung dalam jam: memperbaiki data (Pasal 30), memberikan akses atas data beserta rekam jejak pemrosesannya (Pasal 32), menghentikan pemrosesan setelah persetujuan ditarik (Pasal 40), serta menunda dan membatasi pemrosesan (Pasal 41) masing-masing wajib dilakukan paling lambat 3 x 24 jam sejak permintaan diterima. Merancang alur ini sejak awal jauh lebih murah daripada memasangnya belakangan di codebase yang sudah matang.
Mengimplementasikan Hak Penghapusan Data
Permintaan penghapusan secara teknis kompleks karena data pribadi sering tersebar di berbagai sistem: database utama, data warehouse analitik, backup, log email, dan pemroses pihak ketiga. Bangun layanan orkestrasi Data Subject Request (DSR) yang: (1) mengidentifikasi semua penyimpan data yang menyimpan data subjek menggunakan ID pengguna mereka; (2) menerbitkan perintah penghapusan ke setiap sistem dengan deadline; (3) memberi tahu sub-pemroses pihak ketiga untuk menghapus; dan (4) mengkonfirmasi penyelesaian kepada subjek data. Backup dikecualikan dari penghapusan segera tetapi tidak boleh dipulihkan untuk data individu tersebut.
Pasal 56 UU PDP menetapkan uji bertingkat untuk transfer data pribadi ke luar wilayah hukum Indonesia. Pertama, Anda wajib memastikan negara penerima memiliki tingkat pelindungan yang setara atau lebih tinggi dari UU PDP. Jika tidak terpenuhi, harus ada pelindungan yang memadai dan bersifat mengikat. Jika keduanya tidak terpenuhi, Anda wajib mendapatkan persetujuan subjek data. Undang-undang ini tidak menyebut negara mana pun, dan per Oktober 2026 belum ada daftar resmi negara yang memenuhi syarat, sehingga penilaian itu harus Anda lakukan dan dokumentasikan sendiri; melewatkan satu tahap dapat dikenai sanksi administratif menurut Pasal 57. Ini mempengaruhi praktik umum seperti mengirim log ke Datadog US, data pengguna ke Salesforce, atau analitik ke Google Analytics — masing-masing memerlukan penilaian transfer terdokumentasi yang menunjukkan dasar mana dari ketiganya yang dipakai.
Denda dan Lanskap Penegakan Hukum
Sanksi UU PDP disusun dalam tiga tingkatan: sanksi administratif menurut Pasal 57 (peringatan tertulis, penghentian sementara kegiatan pemrosesan, penghapusan atau pemusnahan Data Pribadi, dan denda administratif paling tinggi 2% dari pendapatan atau penerimaan tahunan, tanpa batas nominal rupiah); sanksi pidana menurut Pasal 67 dan 68 (paling lama 5 tahun dan Rp 5 miliar karena secara melawan hukum memperoleh, mengumpulkan, atau menggunakan Data Pribadi milik orang lain, paling lama 4 tahun dan Rp 4 miliar karena secara melawan hukum mengungkapkannya, serta paling lama 6 tahun dan Rp 6 miliar karena membuat Data Pribadi palsu atau memalsukannya); dan pertanggungjawaban korporasi menurut Pasal 70, di mana korporasi hanya dapat dijatuhi pidana denda, tetapi hingga sepuluh kali denda maksimal, ditambah pidana tambahan seperti perampasan keuntungan, pembekuan usaha, atau pencabutan izin.
Deteksi Pelanggaran dan Persyaratan Notifikasi 72 Jam
Pasal 46 UU PDP mewajibkan pemberitahuan tertulis paling lambat 3 x 24 jam setiap kali terjadi kegagalan Pelindungan Data Pribadi, yang menurut penjelasan undang-undang ini mencakup setiap gangguan kerahasiaan, integritas, atau ketersediaan data, baik disengaja maupun tidak. Pemberitahuan itu ditujukan kepada subjek data yang terdampak dan kepada lembaga pengawas (lembaga yang menurut Pasal 58 ditetapkan oleh Presiden). Tidak ada syarat risiko tinggi, dan pasal itu tidak menyebut kapan hitungan waktunya dimulai, jadi rencanakan sejak saat kegagalan ditemukan. Pemberitahuan minimal memuat data pribadi yang terungkap, kapan dan bagaimana terungkapnya, serta upaya penanganan dan pemulihannya; dalam hal tertentu Anda juga wajib memberi tahu masyarakat. Bangun deteksi pelanggaran otomatis ke pipeline SIEM Anda — deteksi anomali pada volume egress data, lonjakan autentikasi gagal, dan pola akses database setelah jam kerja yang tidak biasa adalah sinyal pelanggaran yang kuat. Siapkan runbook notifikasi pelanggaran dengan template yang disetujui sebelumnya dan incident commander yang ditunjuk sebelum insiden terjadi.
Manajemen Vendor dan Sub-Pemroses
Setiap layanan pihak ketiga yang memproses data pribadi pengguna Anda atas nama Anda (penyedia cloud, penyedia layanan email, platform analitik, alat dukungan pelanggan) adalah sub-pemroses di bawah UU PDP. Pertahankan register sub-pemroses dengan Data Processing Agreement (DPA) atau perlindungan kontraktual setara untuk setiap vendor. Saat vendor dihapus dari stack Anda, akhiri DPA secara formal dan konfirmasi penghapusan data — ini adalah bagian dari kewajiban manajemen siklus hidup data Anda.
Implementasikan deteksi PII otomatis di pipeline CI/CD Anda menggunakan tools seperti Presidio (Microsoft) atau AWS Macie untuk memindai commit kode dan migrasi database dari penyertaan PII yang tidak disengaja dalam log, event analitik, atau pesan error. Menemukan `console.log(user.nik)` di log produksi adalah pelanggaran UU PDP sekaligus risiko reputasi.
Membangun Budaya Rekayasa Privacy-by-Design
Kepatuhan UU PDP bukan proyek satu kali — ini membutuhkan penyematan pertimbangan privasi ke dalam setiap keputusan produk. Privacy Impact Assessment (PIA) harus wajib untuk setiap fitur baru yang mengumpulkan atau memproses data pribadi. Sesi threat modeling harus secara eksplisit menyertakan risiko privasi data di samping risiko keamanan. Engineer harus diberdayakan untuk mengangkat masalah privasi selama code review tanpa memerlukan persetujuan hukum untuk setiap keputusan.
Membangun Roadmap Kepatuhan UU PDP
Roadmap kepatuhan UU PDP yang praktis untuk tim rekayasa mencakup tiga fase: Penemuan (audit inventaris data, assessment risiko, analisis kesenjangan terhadap persyaratan UU PDP), Implementasi (pengamanan teknis: enkripsi, RLS, pseudonymization, manajemen persetujuan, API DSR), dan Operasionalisasi (berkelanjutan: prosedur respons pelanggaran, pelatihan staf, audit pihak ketiga, penunjukan Data Protection Officer jika memproses data sensitif dalam skala besar). Sebagian besar perusahaan menengah membutuhkan 6–12 bulan untuk menyelesaikan ketiga fase.
Istilah kunci dalam artikel ini meliputi UU PDP, Pengendali Data, Pseudonymization, and RLS.

