UU PDP No. 27/2022: Panduan Kepatuhan Developer untuk Hukum Perlindungan Data Indonesia

Foto oleh Unsplash

Foto oleh Unsplash
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.
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.
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 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. Register ini adalah persyaratan formal di bawah Pasal 25 UU PDP dan secara signifikan mempercepat respons audit regulasi.
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.
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 28)
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
);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).
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 dalam 14 hari kerja.
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 membatasi transfer data pribadi warga negara Indonesia ke negara-negara yang tidak memiliki tingkat perlindungan data yang memadai. Pemerintah Indonesia menerbitkan daftar negara yang disetujui, tetapi per 2025, sangat sedikit negara yang telah menerima keputusan kecukupan formal. Transfer lintas batas apa pun tanpa keputusan kecukupan, Standard Contractual Clauses (SCC), atau persetujuan pengguna eksplisit merupakan pelanggaran langsung. Ini mempengaruhi praktik umum seperti mengirim log ke Datadog US, data pengguna ke Salesforce, atau analitik ke Google Analytics — masing-masing memerlukan Data Transfer Impact Assessment.
Sanksi UU PDP disusun dalam tiga tingkatan: sanksi administratif (peringatan, remediasi kepatuhan wajib, penangguhan pemrosesan sementara, dan denda hingga 2% dari pendapatan tahunan atau Rp 20 miliar, mana yang lebih tinggi); sanksi pidana untuk pemrosesan data ilegal yang disengaja (hingga 6 tahun penjara untuk orang alami); dan sanksi yang diperberat untuk pemrosesan kategori data khusus (biometrik, data kesehatan, data keuangan, data anak) tanpa pengamanan yang tepat.
Pasal 46 UU PDP mewajibkan pemberitahuan kepada otoritas pengawas (KOMDIGI) dan subjek data yang terdampak dalam 72 jam setelah menemukan pelanggaran yang menimbulkan risiko tinggi bagi individu. 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.
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.
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.
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.