Integrate Databunker with GO for PDP Compliance

Introduction

Dalam era digital saat ini, perlindungan data pribadi (Personal Data Protection/PDP) menjadi prioritas utama dalam pengembangan aplikasi. Dengan meningkatnya regulasi seperti GDPR, PDP di Indonesia, dan lainnya, developer dituntut untuk memastikan bahwa data pengguna disimpan dan dikelola secara aman.

Databunker adalah solusi open-source yang dirancang khusus untuk menyimpan data pribadi secara aman sesuai standar keamanan dan kepatuhan. Sementara itu, Go (Golang) merupakan bahasa pemrograman yang ringan, efisien, dan cocok digunakan untuk membangun layanan backend modern.

Pada kesempatan ini, saya akan mencoba membuat simple endpoint menggunakan Go untuk mengimplementasikan skema PDP berbasis Databunker. Ini akan menjadi contoh sederhana bagaimana aplikasi Go dapat terintegrasi dengan Databunker untuk menyimpan dan mengelola data pribadi secara aman, Integrate Databunker with GO for PDP Compliance.

Flow

Untuk proses deployment Databunker, kamu bisa mengikuti panduan yang sudah saya tulis sebelumnya di blog berikut:

Langkah-langkah :

Berikut adalah langkah-langkah sederhana untuk membangun simple endpoint integrasi antara Go dan Databunker untuk keperluan PDP compliance:

1. Clone Repository

git clone https://github.com/gunawan-d/go-pdp.git
cd go-pdp

2. Struktur Directory

3. Konfigurasi Environment

Buat file .env atau export variabel berikut di terminal sebelum menjalankan aplikasi (opsional, jika dibutuhkan untuk integrasi token) siapkan deployment databunkernya :

DATABUNKER_URL=https://your-databunker-instance
DATABUNKER_TOKEN=your-token-here

4. Running App GO

a. Create Account (Tokenisasi Data PII)

Request Endpoint:

POST /borrower/create

curl --location 'http://localhost:8080/borrower/create' \
--header 'X-Bunker-Token: ***' \
--header 'Content-Type: application/json' \
--data-raw '{
"login": "David Laly",
"no_hp": "081234561810",
"email": "david@example.com",
"nama": "david",
"alamat": "Jl Flamboyan no 24",
"nik": "1231231231231231"
}'

Response:

{
"nama": "david",
"nik": "**** **** **** 1231",
"no_hp": "**** **** 1810",
"alamat": "Jl Flamboyan no 24",
"databunker_id": "ac2d3fc3-3bc6-1b81-6dc6-4f05ece4da29",
"email": "david@example.com"
}

b. Get Account

GET /borrower/email/{email}

Request Endpoint:

curl --location 'http://localhost:8080/borrower/email/david@example.com' \
--header 'X-Bunker-Token: ***'

Response Endpoint:

{
"nama": "david",
"nik": "1231231231231231",
"no_hp": "081234561810",
"alamat": "Jl Flamboyan no 24",
"databunker_id": "ac2d3fc3-3bc6-1b81-6dc6-4f05ece4da29",
"email": "david@example.com"
}

5. Masking On Database

Dengan tujuan data credentials di simpan kedalam Bunker dan hanya 1 pintu untuk membukanya, maka data yang asli akan di masking kemudian baru dilkukan insert kedalam Database kita.

Dashboard dril down Databunker

Repository : https://github.com/gunawan-d/go-pdp

Leave a Reply

Your email address will not be published. Required fields are marked *