diff --git a/PLACEHOLDER_API_README.md b/PLACEHOLDER_API_README.md
new file mode 100644
index 0000000..dfa439a
--- /dev/null
+++ b/PLACEHOLDER_API_README.md
@@ -0,0 +1,70 @@
+# Placeholder API Permission
+
+## Deskripsi
+Placeholder API untuk permission digunakan untuk testing dan development ketika backend API tidak tersedia.
+
+## Cara Menggunakan
+
+### 1. Menggunakan Placeholder API secara Default
+Placeholder API akan otomatis digunakan sebagai fallback jika backend API (`http://10.10.150.131:8089/api/v1/permission`) tidak dapat diakses.
+
+### 2. Memaksa Menggunakan Placeholder API
+Tambahkan query parameter `usePlaceholder=true` pada request:
+```
+GET /api/permission?roles=superadmin&groups=STIM&usePlaceholder=true
+```
+
+### 3. Menonaktifkan Placeholder API
+Tambahkan query parameter `usePlaceholder=false` pada request:
+```
+GET /api/permission?roles=superadmin&groups=STIM&usePlaceholder=false
+```
+
+## Data Placeholder yang Tersedia
+
+### Role: superadmin, Group: STIM
+Data placeholder mengembalikan 5 permission items:
+- Halaman Utama (read: true, active: true)
+- Pengaturan (read: true, active: true)
+- Halaman (read: true, active: true, disable: true)
+- Dashboard (read: true, active: true, disable: true)
+
+## Mapping Pagename ke Menu Sidebar
+
+Sistem akan otomatis memetakan pagename dari API ke nama menu di sidebar:
+- "Halaman Utama" → "Dashboard"
+- "Pengaturan" → "Master Data"
+- "Halaman" → "Master Data"
+- "Dashboard" → "Dashboard"
+
+## Testing dengan User bayurssa
+
+Untuk testing dengan user email "bayurssa":
+1. Pastikan user memiliki role "superadmin" dan group "STIM" di Keycloak
+2. Login dengan email "bayurssa" dan password "12345"
+3. Sistem akan otomatis menggunakan placeholder API jika backend tidak tersedia
+4. Sidebar akan terfilter berdasarkan permissions dari placeholder API
+
+## Mapping Role dan Group
+
+Sistem secara otomatis melakukan normalisasi untuk role dan group:
+
+### Normalisasi Role
+- `default-roles-sandbox` → `superadmin`
+- Role lain akan digunakan apa adanya (lowercase)
+
+### Normalisasi Group
+- `Instalasi STIM` → `STIM`
+- Group yang mengandung "Instalasi" akan diekstrak untuk mengambil bagian "STIM"
+- Group lain akan digunakan apa adanya (uppercase)
+
+### Contoh Mapping
+- Role: `default-roles-sandbox` + Group: `Instalasi STIM` → API akan menggunakan `roles=superadmin&groups=STIM`
+- Role: `default-roles-sandbox` + Group: `STIM` → API akan menggunakan `roles=superadmin&groups=STIM`
+
+## Catatan
+- Placeholder API hanya tersedia untuk kombinasi role dan group yang sudah didefinisikan
+- Sistem akan otomatis melakukan normalisasi role dan group sebelum memanggil API
+- Jika role/group tidak ditemukan di placeholder, sistem akan mencoba menggunakan backend API
+- Jika backend API juga gagal, sistem akan mengembalikan data kosong
+
diff --git a/components/HakAkses/EditHakAkses.vue b/components/HakAkses/EditHakAkses.vue
index ed16bda..df08103 100644
--- a/components/HakAkses/EditHakAkses.vue
+++ b/components/HakAkses/EditHakAkses.vue
@@ -1,71 +1,161 @@
-
-
- Edit Hak Akses Menu
-