Skip to main content
BlogSecurity

Membangun e-KYC untuk Fintech Indonesia: Verifikasi NIK/Dukcapil yang Benar

Cara memverifikasi identitas NIK/KTP ke Dukcapil lewat penyedia resmi, menambah face-match dan liveness, serta mengelola data sensitif sesuai UU PDP.

Matthews Wong

Software Engineer

Juli 202610 menit baca
Membangun e-KYC untuk Fintech Indonesia: Verifikasi NIK/Dukcapil yang Benar

Foto oleh User:Mattes via Wikimedia Commons (CC BY-SA 3.0)

Ringkasan Utama

Dukcapil tidak bisa diakses tanpa perjanjian. Permendagri 102/2019 yang diubah pada 2023 hanya memberi akses setelah nota kesepahaman dan perjanjian kerja sama, sehingga fintech tanpa perjanjian memverifikasi NIK lewat penyedia yang memilikinya. Badan hukum mayoritas asing hanya mendapat hasil sesuai atau tidak sesuai. Biometrik adalah data pribadi spesifik menurut UU PDP, sehingga wajib persetujuan eksplisit dan penyimpanan ketat.

Di sebuah proyek baru-baru ini saya membangun alur onboarding untuk aplikasi pinjaman di Indonesia, dan syarat yang paling sering disalahpahami adalah verifikasi identitas. Banyak founder mengira ada endpoint Dukcapil publik yang tinggal Anda kirimi NIK. Tidak ada. Dukcapil (Direktorat Jenderal Kependudukan dan Pencatatan Sipil) mengelola registri kependudukan nasional di balik e-KTP, dan hanya memberikan akses data kependudukan kepada lembaga yang menandatangani perjanjian dengannya. Aplikasi yang belum punya perjanjian sendiri terhubung lewat penyedia resmi yang sudah memilikinya.

Artikel ini membahas arsitektur dan kepatuhan alur tersebut, bukan scraping. Jika ada yang menawarkan cara melakukan lookup NIK secara massal, tinggalkan saja: itu ilegal, melanggar UU PDP, dan bisa membuat izin Anda dicabut. Jalur yang sah memang terkesan membosankan, dapat diaudit, dan justru itulah yang ingin dilihat OJK.

Cara kerja verifikasi Dukcapil yang sebenarnya

Dukcapil tidak menyediakan layanan lookup terbuka, dan seberapa banyak data yang dikembalikan bergantung pada siapa yang bertanya. Permendagri 102/2019 yang diubah dengan Permendagri 17/2023 membatasi badan hukum Indonesia dengan kepemilikan mayoritas asing pada jawaban sesuai atau tidak sesuai saja (Pasal 29 ayat 4). Bagi pengguna lain, data yang diakses lewat web service hanya boleh disimpan setelah persetujuan pemilik data diverifikasi dengan NIK dan biometrik (Pasal 30 ayat 1). Tingkatan akses yang akan Anda temui di lapangan adalah:

  • Verifikasi data — Anda mengirim NIK plus field demografis (nama, tanggal lahir) dan menerima true/false per field. Ini adalah pengecekan inti.
  • Verifikasi wajah — Anda mengirim selfie langsung dan pencocokan wajah di sisi Dukcapil membandingkannya dengan foto referensi yang tersimpan untuk NIK tersebut, mengembalikan skor kemiripan.
  • Akses perjanjian langsung — badan hukum Indonesia mengajukan permohonan kepada Dirjen Dukcapil, menandatangani nota kesepahaman lalu perjanjian kerja sama, dan terhubung lewat jaringan tertutup yang disediakannya sendiri. Bank, pelaku pasar modal seperti KSEI, dan perusahaan pengiriman uang sudah menempuh jalur ini.
  • Lewat penyedia e-KYC — aplikasi yang belum punya perjanjian sendiri memanggil penyedia yang sudah memilikinya. Permendagri 17/2023 menghapus ketentuan Platform Bersama sejak 30 Oktober 2023, sehingga regulasinya tidak lagi mengenal tingkatan perantara tersendiri: apa yang boleh dilakukan penyedia untuk Anda bergantung pada perjanjiannya sendiri dengan Dukcapil.

Sejak Permendagri 17/2023, setiap pengguna data kependudukan wajib menerapkan standar keamanan dengan prioritas Standar Nasional Indonesia (SNI) bidang keamanan informasi atau keamanan siber, dibuktikan dengan kepemilikan sertifikat standar keamanan (Pasal 18A), dan para pihak dalam perjanjian kerja sama dilarang memberikan data kependudukan kepada pihak ketiga atau menggunakannya di luar perjanjian (Pasal 7 huruf k). Penyedia mana pun yang mengaku bisa menjual lookup NIK-ke-profil-lengkap berarti berbohong atau melanggar hukum. Pilih penyedia yang mempublikasikan status kerja sama data dan sertifikasi keamanannya.

Alur verifikasi ujung ke ujung

Onboarding e-KYC produksi untuk aplikasi Indonesia biasanya merangkai lima langkah. Penyedia seperti Verihubs, Privy, dan lainnya menyediakan tiap langkah sebagai panggilan API, dan satu proses penuh umumnya selesai di bawah 30 detik.

  1. OCR KTP — pengguna memotret e-KTP, OCR mengekstrak NIK, nama, dan tanggal lahir. Jangan pernah percaya OCR saja; ia hanya mengisi awal field yang akan Anda verifikasi.
  2. Verifikasi demografi ke Dukcapil — kirim NIK plus field yang diekstrak; dapatkan hasil kecocokan per field.
  3. Ambil selfie liveness — SDK menjalankan liveness aktif atau pasif untuk menolak foto cetak, layar, dan deepfake.
  4. Cocokkan selfie dengan foto referensi Dukcapil — Anda menerima skor kemiripan, bukan gambar referensinya.
  5. Putuskan — setujui, tolak, atau arahkan ke tinjauan manual berdasarkan ambang batas Anda, lalu tulis catatan audit.
// POST /v1/identity/verify  (via authorized e-KYC provider)
// Request — you only ever send data the user gave you
{
  "nik": "3174xxxxxxxxxxxx",
  "name": "BUDI SANTOSO",
  "birth_date": "1994-03-12",
  "selfie_image": "<base64 jpeg>",
  "consent_id": "cns_01HXQ..."   // proof of user consent, see UU PDP section
}

// Response — match-only, no raw Dukcapil record is returned
{
  "nik_valid": true,
  "name_match": true,
  "birth_date_match": true,
  "face_match_score": 0.972,   // 0..1 similarity
  "liveness_passed": true,
  "decision": "approved",
  "reference_id": "vrf_01HXQ...", // store THIS, not the biometrics
  "verified_at": "2026-07-11T04:12:55Z"
}

Face-match dan liveness: setel ambang batasnya

Skor face-match adalah probabilitas, bukan ya/tidak. Tetapkan dua ambang: batas bawah auto-approve dan pita tinjauan manual di bawahnya. Satu batas keras saja akan meloloskan penipuan atau menolak pengguna sah yang pencahayaan selfienya berbeda dari foto KTP bertahun-tahun lalu. Liveness adalah gerbang terpisah yang tidak bisa ditawar — face-match tinggi pada foto palsu tak berarti apa-apa, jadi liveness harus lolos sebelum skor kecocokan dipertimbangkan.

Mulailah konservatif: auto-approve hanya di atas skor kemiripan tinggi, kirim pita tengah ke tinjauan manual, dan tolak keras sisanya. Catat setiap keputusan beserta skornya agar Anda bisa menggeser ambang batas nanti berdasarkan data nyata, bukan tebakan. Pemeriksa OJK menyukai jejak audit itu.

Mengelola data sensitif menurut UU PDP

UU No. 27 Tahun 2022 (UU PDP) sudah berlaku penuh sejak Oktober 2024. Undang-undang ini mengklasifikasikan data biometrik sebagai data pribadi spesifik yang menuntut pelindungan lebih ketat dan, yang penting, persetujuan eksplisit dan terpisah — bukan checkbox yang terselip di syarat umum Anda. NIK juga merupakan data pribadi. Kewajiban praktis yang membentuk arsitektur Anda adalah:

  • Persetujuan eksplisit — catat apa yang disetujui pengguna, kapan, dan untuk tujuan apa, sebelum Anda mengirim apa pun ke penyedia.
  • Pembatasan tujuan — Anda hanya boleh memakai data untuk tujuan KYC yang disetujui pengguna, bukan untuk pemasaran atau dijual kembali.
  • Minimalisasi data — simpan hasil verifikasi dan reference ID, bukan selfie mentah atau NIK dalam bentuk teks biasa jika bisa dihindari.
  • Retensi dan penghapusan — tentukan berapa lama Anda menyimpan data identitas dan hormati hak subjek data untuk penghapusan.
  • Penanganan kebocoran — Anda wajib memberi tahu subjek yang terdampak dan otoritas jika terjadi kebocoran data pribadi.
// Persist the CONSENT before the verify call, keep it immutable
CREATE TABLE kyc_consent (
  id            TEXT PRIMARY KEY,        -- consent_id sent to provider
  user_id       TEXT NOT NULL,
  purpose       TEXT NOT NULL,           -- 'identity_verification'
  scope         TEXT[] NOT NULL,         -- ['nik','biometric_face']
  policy_version TEXT NOT NULL,
  granted_at    TIMESTAMPTZ NOT NULL,
  ip_address    INET,
  revoked_at    TIMESTAMPTZ
);

// After verification: store the RESULT, discard the biometrics
CREATE TABLE kyc_result (
  id            TEXT PRIMARY KEY,        -- your reference_id
  user_id       TEXT NOT NULL,
  nik_hash      TEXT NOT NULL,           -- HMAC-SHA256(nik, pepper), never plaintext
  decision      TEXT NOT NULL,          -- approved | review | declined
  face_score    NUMERIC(4,3),
  liveness      BOOLEAN,
  provider_ref  TEXT,
  verified_at   TIMESTAMPTZ NOT NULL
);
// selfie bytes: process in memory, do NOT write to disk / object storage

Dua aturan rekayasa muncul dari sini. Pertama, hash NIK dengan HMAC berkunci dan pepper di sisi server agar Anda tetap bisa mendeduplikasi pengguna tanpa menyimpan angka mentahnya. Kedua, perlakukan selfie mentah seperti bahan radioaktif: alirkan ke penyedia, tahan di memori, dan jangan pernah biarkan menyentuh log, object storage, atau trace APM Anda. Simpan hanya skor dan keputusannya.

Sanksinya nyata. UU PDP memungkinkan denda administratif hingga 2% dari pendapatan tahunan perusahaan. Ketentuan pidananya mencapai 4 tahun penjara dan denda Rp4 miliar karena secara melawan hukum mengungkapkan data pribadi milik orang lain, serta 5 tahun dan Rp5 miliar karena secara melawan hukum memperoleh, mengumpulkan, atau menggunakannya (Pasal 67), dan di situlah menjual data identitas secara ilegal berada; ancaman maksimal 6 tahun dan Rp6 miliar berlaku untuk membuat data pribadi palsu atau memalsukannya (Pasal 68). Korporasi dapat didenda hingga sepuluh kali ancaman maksimal itu (Pasal 70). Menyimpan biometrik mentah atau NIK di log teks biasa persis jenis paparan yang mengubah kebocoran menjadi denda.

Memilih penyedia

Anda sebenarnya memilih mitra kepatuhan, bukan sekadar API. Pertanyaan yang tepat menyangkut kedudukan hukum dan penanganan data, bukan hanya uptime. Bandingkan kandidat pada sumbu berikut:

Yang diperiksaMengapa penting
Status kerja sama data DukcapilMemastikan penyedia resmi, bukan scraping.
Registrasi OJK / Bank IndonesiaWajib untuk produk keuangan yang diatur.
Liveness + face-match tergabungMenghindari menjahit dua vendor dan dua alur data.
Model harga per verifikasiBiaya unit yang terprediksi saat onboarding tumbuh.
Ketentuan residensi dan retensi dataMenentukan paparan UU PDP Anda ke hilir.
Ekspor log auditDiperlukan untuk memenuhi pemeriksaan OJK.

Harga biasanya per verifikasi berhasil. Sebagai acuan, satu penyedia (Didit) mencantumkan sekitar USD 0,30 per verifikasi dengan kuota gratis bulanan; pemain lama bisa beberapa kali lipat. Anggap angka publik mana pun sebagai titik awal dan konfirmasikan tarif serta tier volume terkini secara langsung, karena harga dan regulasi fintech Indonesia sama-sama cepat berubah.

FAQ

Pertanyaan Umum

Jawaban singkat untuk pertanyaan yang paling sering diajukan pembaca tentang topik ini.

Apakah saya bisa memanggil API Dukcapil langsung untuk verifikasi NIK?

Tidak tanpa perjanjian. Dukcapil tidak menyediakan API publik: menurut Permendagri 102/2019 yang diubah dengan Permendagri 17/2023, badan hukum Indonesia mengajukan permohonan kepada Dirjen Dukcapil, menandatangani nota kesepahaman dan perjanjian kerja sama, terhubung lewat jaringan tertutup, dan wajib memiliki sertifikat standar keamanan. Bank, KSEI, dan perusahaan pengiriman uang sudah menempuh jalur itu, sedangkan aplikasi yang belum punya perjanjian sendiri berintegrasi lewat penyedia e-KYC yang memilikinya. Karena para pihak dilarang memberikan data kependudukan kepada pihak ketiga, periksa apa yang benar-benar diizinkan perjanjian penyedia tersebut.

Apakah verifikasi Dukcapil mengembalikan data lengkap seseorang?

Tergantung siapa Anda. Permendagri 102/2019 membatasi badan hukum Indonesia dengan kepemilikan mayoritas asing pada jawaban sesuai atau tidak sesuai (Pasal 29 ayat 4), dan data yang diakses lewat web service hanya boleh disimpan setelah persetujuan pemilik data diverifikasi dengan NIK dan biometrik (Pasal 30 ayat 1). API penyedia e-KYC yang dibahas di artikel ini mengembalikan nilai boolean dan skor face-match, bukan field baru. Siapa pun yang menjual lookup NIK-ke-profil melanggar hukum.

Apakah NIK dan data wajah termasuk data sensitif menurut UU PDP?

Data biometrik seperti template wajah diklasifikasikan sebagai data pribadi spesifik menurut UU No. 27 Tahun 2022 dan butuh pelindungan lebih ketat serta persetujuan eksplisit dan terpisah. NIK juga data pribadi. Anda wajib membatasi penggunaannya sesuai tujuan yang disetujui, meminimalkan penyimpanan, dan menghormati permintaan penghapusan.

Berapa biaya verifikasi NIK/e-KYC di Indonesia?

Harga umumnya per verifikasi berhasil. Sebagai acuan publik, satu penyedia mencantumkan sekitar USD 0,30 per verifikasi dengan kuota gratis bulanan, sedangkan pemain lama beberapa kali lipat. Konfirmasikan tarif dan tier volume terkini langsung ke penyedia karena sering berubah.

Apa sanksi jika salah mengelola data identitas?

UU PDP memungkinkan denda administratif hingga 2% dari pendapatan tahunan perusahaan. Ketentuan pidana mencapai 4 tahun penjara dan denda Rp4 miliar karena secara melawan hukum mengungkapkan data pribadi milik orang lain, serta 5 tahun dan Rp5 miliar karena secara melawan hukum memperoleh, mengumpulkan, atau menggunakannya (Pasal 67), yang mencakup menjual data identitas secara ilegal; ancaman maksimal 6 tahun dan Rp6 miliar berlaku untuk memalsukan data pribadi (Pasal 68). Menyimpan biometrik mentah atau NIK teks biasa di log adalah cara umum mengubah kebocoran menjadi sanksi.