Pola UX akses ditolak yang mengurangi tiket dukungan
Pola UX dan teks untuk layar akses ditolak yang membantu pengguna meminta akses lebih cepat, menghindari kebocoran informasi, dan mengurangi tiket dukungan dengan langkah selanjutnya yang jelas.

Mengapa layar akses-ditolak menghasilkan begitu banyak tiket dukungan
Menabrak tembok izin terasa personal. Orang sering mengira mereka melakukan kesalahan, akun mereka rusak, atau mereka akan mendapat masalah karena mengklik hal yang salah.
Campuran kebingungan, takut, dan frustrasi itu mendorong pengguna melakukan hal tercepat yang mungkin berhasil: membuka tiket, mengirim pesan ke admin, atau men-klik-klik sampai sesuatu terbuka.
Halaman “403” generik adalah pabrik tiket karena tidak menjawab pertanyaan yang sebenarnya pengguna punya. Orang ingin tahu apakah masalah bersifat sementara, apakah mereka berada di tempat yang benar, dan apa yang harus dilakukan selanjutnya. Ketika layar hanya menampilkan kode, dukungan harus menanyakan pertanyaan lanjutan seperti “Apa yang Anda coba akses?” dan “Akun mana yang Anda gunakan?” sehingga mulai terjadi bolak-balik.
UX akses-ditolak yang baik mengurangi tiket dengan membimbing pengguna tanpa membocorkan informasi terbatas. Anda bisa jelas soal situasinya sambil tetap samar tentang konten yang dilindungi. Misalnya, Anda dapat mengonfirmasi bahwa akses dibatasi dan menyebut jenis izin secara umum (peran, tim, proyek), tanpa mengungkap judul halaman, nama record, atau siapa yang punya akses.
Layar yang dirancang dengan baik diam-diam melakukan empat pekerjaan:
- Mengonfirmasi pengguna sudah masuk dengan akun yang diharapkan
- Menjelaskan alasan dengan bahasa sederhana (masalah izin, bukan “error”)
- Menawarkan tindakan selanjutnya yang tepat (minta akses, ganti workspace, hubungi admin)
- Menangkap konteks secara otomatis (area halaman, waktu, ID referensi) untuk menghindari pertanyaan lanjutan
Keberhasilan terlihat sebagai berkurangnya tiket “Saya tidak bisa mengakses”, persetujuan yang lebih cepat, dan kepercayaan yang lebih baik. Pengguna merasa dibimbing, bukan diblokir, dan admin menerima permintaan yang bersih dengan detail yang mereka butuhkan.
Jika Anda membangun alat internal atau portal di AppMaster, anggap status akses-ditolak sebagai layar nyata dalam alur, bukan jalan buntu. Ini berada di jalur kritis pekerjaan sehari-hari.
Alasan utama pengguna terblokir (dengan bahasa sederhana)
Sebagian besar momen “akses ditolak” bukan karena pengguna melakukan kesalahan. Mereka bertemu aturan yang harus ditegakkan produk Anda. UX akses-ditolak yang baik menyebutkan situasinya tanpa mengekspos hal sensitif.
Alasan umum dan tidak menakutkan mengapa orang terblokir:
- Mereka tidak punya peran atau izin yang tepat untuk halaman atau aksi.
- Undangan mereka kadaluwarsa, dicabut, atau tidak pernah diterima.
- Mereka masuk ke organisasi atau workspace yang salah.
- Fitur tidak diaktifkan untuk paket, akun, atau tenant mereka.
- Resource berpindah, dihapus, atau tidak lagi dibagikan kepada mereka.
Sumber kebingungan besar adalah perbedaan antara unauthenticated dan unauthorized. Unauthenticated artinya “kami belum tahu siapa Anda” (belum masuk, sesi kedaluwarsa). Unauthorized berarti “kami tahu siapa Anda, tetapi akun ini tidak bisa mengakses ini.” Kasus-kasus itu perlu langkah selanjutnya yang berbeda.
Beberapa pemblokiran bersifat sementara dan beberapa permanen. Pemblokiran sementara termasuk sesi kedaluwarsa, persetujuan yang tertunda, atau undangan yang bisa dikirim ulang. Pemblokiran permanen termasuk aturan kebijakan, peran yang dihapus, atau fitur yang memang tidak tersedia. Pesan sementara harus menunjukkan jalur kembali yang jelas. Pesan permanen harus sopan, tegas, dan menunjuk ke pemilik yang tepat.
Saat memilih tindakan yang ditampilkan, jaga agar sederhana:
- Jika belum masuk: arahkan mereka untuk login.
- Jika sudah masuk tetapi kekurangan izin: tawarkan “Request access.”
- Jika ini bergantung pada pengaturan org atau paket: beri tahu siapa yang bisa mengubahnya (admin).
- Jika mereka sudah disetujui atau diblokir karena kesalahan: tawarkan cara menghubungi dukungan atau admin mereka.
Jangan ungkap informasi terbatas: aturan praktis
Layar akses-ditolak punya dua tugas: melindungi data dan membuat pengguna bisa kembali bekerja. Cara termudah menciptakan risiko (dan tiket) adalah secara tidak sengaja mengonfirmasi apa yang ada di balik tembok.
Default yang baik sederhana: “You do not have permission to view this page.” Kalimat itu mengatakan apa yang terjadi, tapi tidak memberitahu pengguna apa yang hampir mereka lihat.
Aturan praktis yang menjaga pesan kesalahan izin tetap aman:
- Jangan konfirmasi bahwa suatu record, proyek, atau pengguna tertentu ada. Hindari pesan seperti “Project Phoenix is restricted” atau “User [email protected] is not in your org.”
- Jangan ungkap nama peran, ID grup internal, atau logika kebijakan. “Requires role: FINANCE_ADMIN” mengajari penyerang apa yang harus ditargetkan dan membingungkan pengguna biasa.
- Jangan mengulang pengidentifikasi sensitif dari URL atau request. Jika deep link berisi ID, jangan tampilkan kembali di halaman.
- Perlakukan pencarian dan autocomplete sebagai akses data. Jika hasil muncul untuk hal yang pengguna tidak bisa buka, Anda sedang membocorkan eksistensi.
- Hati-hati dengan pratinjau “membantu” di area terbatas (thumbnail, judul, breadcrumb). Itu bisa mengungkap lebih banyak daripada halaman itu sendiri.
Anda tetap bisa memberi cukup konteks untuk mengurangi tiket dukungan. Jaga konteks bersifat generik (tingkat halaman, bukan tingkat objek) dan fokus pada tindakan selanjutnya.
Contoh kata yang aman:
- “You’re signed in, but you don’t have access to this page.”
- “Access is limited to approved members of this workspace.”
- “Request access or switch to an account with permission.”
Contoh konkret: seseorang menempelkan tautan berbagi ke record pelanggan internal. Pesan kesalahan izin tidak boleh mengatakan “Customer: Acme Corp” atau “Record found.” Itu hanya harus mengatakan mereka tidak bisa melihat halaman, dan menawarkan alur request access yang jelas. Itu menjaga UX akses-ditolak membantu tanpa menjadikannya alat pengungkapan data.
Pola penulisan (copy) yang mengurangi kebingungan dan bolak-balik
Sebagian besar tiket dukungan dimulai karena pesan terasa seperti jalan buntu. Copy UX akses-ditolak yang baik melakukan dua hal: mengonfirmasi apa yang terjadi dengan bahasa manusia, dan memberi tahu pengguna apa yang harus dilakukan selanjutnya.
Mulai dengan judul yang jelas dan manusiawi. “You don’t have access” lebih baik daripada “403 Forbidden” karena menjelaskan situasi tanpa terdengar teknis atau menyalahkan.
Lalu tambahkan satu kalimat pendek yang menjawab pertanyaan berikutnya: “Bagaimana saya memperbaikinya?” Jaga agar spesifik, tetapi jangan bocorkan detail terbatas. Hindari menyebut pemilik resource, peran yang tepat, atau apakah halaman ada untuk orang lain.
Gunakan tombol berfokus pada aksi. Satu aksi utama harus membantu pengguna maju, dan satu aksi sekunder membantu mereka pulih jika akses tidak memungkinkan saat itu.
Blok copy yang bisa dipakai ulang dan disesuaikan:
- Headline: “You don’t have access to this page.”
- Helper line: “Request access from an admin, or go back to continue your work.”
- Primary button: “Request access” (atau “Ask an admin” jika permintaan manual)
- Secondary button: “Go back” (atau “Return to dashboard”)
- Detail opsional (aman): “Your account may not have permission for this area.”
Jaga nada netral dan tidak menyalahkan. Jangan tulis “You are not authorized” atau “You tried to access a restricted resource.” Itu terdengar seperti pengguna melakukan kesalahan.
Jika Anda membangun aplikasi di AppMaster, lebih mudah menjaga konsistensi ini dengan membuat satu komponen layar akses-ditolak yang dapat dipakai ulang dan menggunakannya di UI web dan mobile Anda. Pengguna melihat langkah selanjutnya yang sama di mana-mana.
Pola UI: tindakan yang pengguna butuhkan sekarang juga
Layar UX akses-ditolak harus menjawab satu pertanyaan dengan cepat: apa yang bisa saya lakukan selanjutnya? Jika halaman diblokir, jangan biarkan orang menatap error. Beri satu jalur jelas ke depan, plus satu fallback yang aman.
Pola 1: Satu aksi utama, selalu terlihat
Buat tombol utama sama di setiap keadaan diblokir: Request access. Buat formulirnya singkat agar pengguna benar-benar menggunakannya. Minta alasan hanya jika membantu pemberi persetujuan memutuskan, dan jadikan itu opsional.
Tata letak sederhana yang bekerja:
- Primary CTA: Request access
- Field singkat: alasan (opsional)
- Konfirmasi: “Request sent. You’ll get an update here and by email.”
- Aksi sekunder: Switch account
- Potongan dukungan: Reference ID + timestamp
Ini mengurangi tiket “apa yang harus saya lakukan?” dan menjaga pengguna tetap di dalam produk.
Pola 2: Fallback aman ketika self-serve tidak memungkinkan
Terkadang pengguna tidak bisa meminta akses (tidak ada workspace, tidak ada approver, atau tautan eksternal). Dalam kasus itu, tunjukkan fallback yang mengarah ke orang yang tepat tanpa mengekspos detail terbatas: Contact workspace admin (atau nama tim, jika itu aman).
Jika Anda bisa jujur menyatakannya, tambahkan ekspektasi: “Most requests are answered within 1 business day.” Jika tidak bisa, jangan menebak. Gunakan copy netral seperti “We’ll notify you when it’s reviewed.”
Detail kecil yang mencegah bolak-balik
Tambahkan opsi “Switch account” untuk orang yang menggunakan beberapa akun (kerja dan pribadi). Banyak masalah akses hanyalah login yang salah.
Sertakan potongan dukungan aman yang bisa ditempelkan pengguna ke tiket: reference ID dan timestamp. Contoh: “Ref: 8F3K2, 2026-01-29 14:12 UTC.” Dukungan bisa menemukan event tanpa pengguna harus menggambarkan halaman terbatas itu.
Jaga pesan tetap generik. Bahkan jika pengguna menebak ada halaman tertentu, UI Anda tidak boleh mengonfirmasi nama, pemilik, atau konten. Tujuannya adalah kejelasan tindakan selanjutnya, bukan cerita kesalahan yang rinci.
Langkah demi langkah: merancang alur permintaan akses
Alur request-access yang baik mengubah jalan buntu menjadi langkah nyata. Tujuannya sederhana: membantu pengguna ter-unblock tanpa memberi petunjuk tentang apa yang tidak bisa mereka lihat. Jika dilakukan dengan benar, UX akses-ditolak mengurangi tiket dukungan karena orang berhenti menebak siapa yang harus dihubungi dan apa yang harus dikatakan.
1) Mulai dengan mendeteksi situasinya
Sebelum menampilkan pesan apapun, klasifikasikan apa yang terjadi. Hasil “no access” yang sama bisa berarti hal berbeda: belum masuk, masuk dengan akun/org yang salah, kekurangan peran, atau fitur dinonaktifkan.
Setelah Anda tahu statusnya, pilih layar yang sesuai:
- Not signed in: tunjukkan prompt sign-in, lalu kembalikan mereka ke tempat semula.
- Wrong account or organization: tampilkan akun saat ini dan opsi “switch account” yang jelas.
- Missing permission: tawarkan “Request access” dan, jika tepat, fallback “Contact an admin.”
- Feature disabled: jelaskan bahwa fitur tidak tersedia untuk workspace ini, dengan langkah netral selanjutnya.
- Policy block (user dinonaktifkan, workspace ditangguhkan): beri pesan generik dan jalur ke dukungan.
2) Minta seminimal mungkin, bukan formulir dukungan mini
Permintaan Anda harus menangkap hanya apa yang approver butuhkan: aksi yang dicoba pengguna, di mana itu terjadi, dan siapa mereka. Isi otomatis detail seperti area halaman, workspace, timestamp, dan perangkat. Biarkan kotak catatan singkat opsional untuk konteks.
Setelah dikirim, konfirmasi segera dan beri ekspektasi. Pengguna ingin tahu siapa yang akan meninjau, kapan mereka mendapat kabar, dan apa yang bisa dilakukan sembari menunggu.
Lacak beberapa status kecil agar pengguna tidak mengirim ulang:
- Pending review
- Approved (dengan “Try again”)
- Denied (dengan kategori alasan singkat)
- Needs more info
Contoh: seseorang membuka tautan yang tersimpan ke halaman internal. Alih-alih “403,” tunjukkan “You can’t access this page with your current role” plus aksi “Request access” yang mengirimkan identifier halaman secara otomatis. Dalam UI berbasis peran, perilaku “kirim konteks untuk saya” itu menghentikan thread dukungan sebelum dimulai.
Apa yang harus disertakan dalam persetujuan dan pembaruan status
Pengalaman persetujuan yang baik dimulai di tempat UX akses-ditolak berakhir. Pengguna harus tahu apa yang dilakukan selanjutnya, dan approver harus bisa bertindak tanpa thread chat panjang.
Jaga formulir permintaan singkat dan aman. Minta hanya hal yang membantu admin memutuskan, dan hindari mengulang nama halaman sensitif atau detail record. Sertakan:
- Identitas (isi otomatis jika sudah masuk)
- Apa yang mereka butuhkan aksesnya (label umum seperti “Finance reports”)
- Tingkat akses (view atau edit)
- Sampai kapan dibutuhkan (opsional)
- Alasan singkat (opsional)
Di sisi admin, buat persetujuan jadi satu langkah. Satu-klik approve atau deny adalah ideal, dengan template alasan singkat untuk mengurangi kebingungan. Contoh: “Not part of your team’s scope,” “Request manager approval,” atau “Use the shared dashboard instead.”
Pembaruan status yang dipahami pengguna
Gunakan status sederhana dan tampilkan di mana pun pengguna mengecek:
- Pending: “Waiting for review”
- Approved: “You can try again now”
- Denied: “Here’s what to do next”
- Expired: “Access ended on [date]”
Audit-friendly, bukan menakutkan
Catatan singkat seperti “This request was recorded for security” sudah cukup. Hindari bahasa yang mengancam. Simpan siapa yang meminta, siapa yang menyetujui, cap waktu, dan alasan, tapi jangan tampilkan detail sensitif kembali ke pemohon.
Untuk notifikasi, kirim hanya konteks yang aman: request ID, status, dan tindakan selanjutnya. Email atau chat (misalnya Telegram) bekerja baik, selama pesan tidak menyertakan judul halaman terbatas atau data pribadi.
Kesalahan umum dan jebakan yang harus dihindari
Sebagian besar masalah “permission denied” bukan soal izin itu sendiri. Masalahnya adalah apa yang layar membuat orang lakukan selanjutnya. Perubahan copy kecil bisa memangkas banyak tiket.
Jangan bocorkan detail secara tidak sengaja
Kesalahan umum adalah menamai hal yang pengguna tidak bisa lihat, seperti “Invoice #4932” atau nama pelanggan di header. Itu mengonfirmasi resource ada dan bisa mengekspos info sensitif. Jaga judul generik (misalnya, “Restricted page”) dan pindahkan identifier ke pihak approver saja.
Jebakan lain adalah memberi tahu pengguna peran tepat yang mereka butuhkan, seperti “Need FinanceAdmin.” Itu terdengar membantu, tapi mengajari penyerang dan membingungkan pengguna biasa. Sebagai gantinya, jelaskan jenis akses yang diperlukan dengan istilah biasa (“You need approval from Finance”) tanpa menyebut peran internal.
Hindari jalan buntu dan loop
Tiket dukungan melonjak ketika satu-satunya tombol adalah “Contact support” dan pengguna tidak punya konteks untuk disertakan. Beri aksi terpandu yang mengumpulkan detail yang tepat.
Waspadai pola ini:
- Menampilkan nama atau ID item terbatas di state error
- Mencantumkan peran atau kode izin tepat yang kurang
- Memaksa “Contact support” tanpa detail terisi atau langkah selanjutnya
- Menggunakan bahasa hukum yang menakutkan sehingga pengguna berhenti bergerak
- Mengirim pengguna lewat “Request access” lalu kembali ke layar yang sama tanpa status
Cek cepat: jika seseorang mengklik tautan bersama, terkena denial, meminta akses, lalu mendarat kembali di denial yang sama, mereka akan mengira tidak terjadi apa-apa dan menghubungi dukungan. Selalu konfirmasi permintaan terkirim dan tunjukkan apa yang terjadi selanjutnya (siapa meninjau, dan di mana memeriksa status).
Contoh skenario: tautan berbagi ke halaman terbatas
Seorang sales rep, Maya, menerima pesan dari kolega: “Gunakan tautan ini untuk meninjau pengaturan portal pelanggan sebelum panggilan.” Dia membukanya di ponsel lima menit sebelum meeting.
Alih-alih melihat halaman portal, dia menemui layar akses-ditolak. UX akses-ditolak yang baik tidak menyebut pelanggan mana, pengaturan apa, atau apakah halaman itu ada. Itu mengonfirmasi satu hal: Maya sudah masuk, tetapi aksesnya tidak mengizinkan aksi ini.
Yang dilihat Maya:
- “You don’t have permission to view this page.”
- Tombol utama: “Request access”
- Opsi sekunder: “Switch organization” (berguna jika dia berada di workspace yang salah)
- Baris konteks aman: “Signed in as [email protected]”
- Fallback: “If this is urgent, contact your admin.”
Ketika Maya menekan “Request access,” dia tidak perlu menjelaskan masalah dari awal. Formulir sudah terisi dengan detail aman seperti area halaman (“Customer portal”), aksi (“View”), peran saat ini, dan kotak catatan opsional.
Di sisi admin, pemberi persetujuan melihat kartu bersih: siapa yang meminta, jenis izin yang diminta, dan mengapa (catatan Maya). Mereka tidak melihat judul halaman terbatas atau nama pelanggan kecuali mereka sudah punya akses.
Hasil: admin menyetujui, Maya mendapat notifikasi, mengetuk “Open page,” dan melanjutkan pekerjaannya. Tidak ada tiket dukungan.
Apa yang menyebabkan tiket pada desain lama: “403 Forbidden” yang samar, tidak ada tombol permintaan, dan jalan buntu yang memaksa Maya mengirim pesan ke dukungan dengan screenshot dan tebakan.
Daftar periksa cepat untuk layar akses-ditolak
UX akses-ditolak yang baik melindungi detail sensitif dan membantu pengguna mengambil langkah selanjutnya tanpa menebak.
- Katakan apa yang terjadi dengan bahasa sederhana. “You don’t have access to this page” lebih jelas daripada “403 Forbidden.” Pastikan judul mencerminkan situasi sebenarnya (belum login, peran salah, undangan kedaluwarsa, mismatch org).
- Berikan setidaknya satu tindakan jelas. Tambahkan tombol utama seperti “Request access” atau “Switch account,” plus opsi sekunder seperti “Go back” atau “Open dashboard.” Jangan tinggalkan pengguna pada jalan buntu.
- Tampilkan nol detail terbatas. Jangan ungkapkan nama proyek, nama pelanggan, judul record, jumlah, atau breadcrumb.
- Sertakan ID referensi untuk dukungan. Tampilkan kode pendek yang bisa disalin pengguna (dan sertakan otomatis dalam pesan permintaan). Ini memangkas bolak-balik.
- Buat alur permintaan terasa lengkap. Setelah “Request access,” tampilkan konfirmasi (“Request sent”) dan status yang bisa dicek pengguna nanti (pending, approved, denied, expired).
Tes praktis: tempel tautan terbatas ke akun berbeda dan lihat apa yang layar ungkapkan. Jika orang asing bisa menebak apa yang ada di balik halaman, hapus detail itu dan pindahkan ke sisi approver saja.
Apa yang diukur setelah diluncurkan
Setelah UX akses-ditolak baru hidup, ukur apakah itu membantu orang maju tanpa menimbulkan kebisingan lebih. Fokus pada tren dan gesekan, bukan mengidentifikasi record terbatas. Mulai dengan volume dan lokasi. Lacak seberapa sering layar akses-ditolak muncul, dikelompokkan menurut area umum (misalnya: “Reports”, “Billing”, “Admin settings”), tipe perangkat, dan titik masuk (menu, pencarian, tautan berbagi). Hindari pelacakan nama halaman spesifik atau ID item jika itu bisa mengekspos struktur sensitif.
Metrik inti yang biasanya menceritakan:
- Hit akses-ditolak per area per minggu (dan bagaimana itu berubah)
- Pengiriman request-access (rasio per denial, dan tingkat penyelesaian)
- Median waktu hingga persetujuan (dan ekor panjang: persentil ke-90)
- Tiket dukungan bertanda “permissions/access” (volume dan waktu respons pertama)
- Pengulangan denial oleh pengguna yang sama dalam 7 hari (tanda peran yang tidak jelas, navigasi yang membingungkan, atau celah kebijakan)
Jangan berhenti di jumlah. Cari pola yang mengarah ke perbaikan cepat. Jika banyak orang terkena denial dari tautan berbagi, masalahnya mungkin kebiasaan berbagi tautan atau kurangnya konteks di entry. Jika denial terkonsentrasi di satu area, peran Anda mungkin terlalu ketat, atau menu menampilkan tujuan yang orang tidak bisa gunakan.
Jaga analisis teranonimkan dan agregat bila mungkin. Gunakan temuan untuk menyesuaikan definisi peran, petunjuk onboarding, dan label navigasi.
Terakhir, jalankan tes copy kecil. Ganti hanya judul dan teks tombol utama (misalnya: “You don’t have access” vs “Request access to continue”, dan “Request access” vs “Ask an admin”). Ukur versi mana yang mengurangi denial berulang dan meningkatkan permintaan yang selesai tanpa menaikkan tiket.
Langkah selanjutnya: kirim alur yang lebih aman dan jelas (dengan usaha minimal)
Mulai kecil dan jaga konsistensi. UX akses-ditolak yang baik biasanya membutuhkan tiga state layar, masing-masing dengan satu tindakan jelas:
- Login needed: “Sign in to continue.” Aksi utama: Sign in.
- Request access: “You’re signed in, but you don’t have access to this area.” Aksi utama: Request access.
- Contact admin: “This item is restricted. If you think you should have access, contact your admin.” Aksi utama: Contact.
Tulis copy sebelum mendesain UI. Ketika pesan jelas, tata letak menjadi jelas: satu kalimat yang menjelaskan apa yang terjadi, satu kalimat yang menjelaskan apa yang harus dilakukan selanjutnya, dan satu tombol utama.
Untuk pengiriman cepat tanpa merombak semuanya, pilotkan alur di tempat yang menghasilkan paling banyak tiket. Titik awal umum adalah panel admin, portal pelanggan, atau alat internal di mana peran sering berubah.
Rencana rollout yang bisa selesai dalam beberapa hari:
- Pilih satu halaman dengan friction tinggi dan ganti error saat ini dengan template tiga-state.
- Tambahkan formulir permintaan singkat yang hanya mengumpulkan apa yang diperlukan (misalnya, alasan opsional).
- Rute permintaan ke approver yang tepat dan tunjukkan status yang jelas: pending, approved, denied.
- Tambahkan layar persetujuan untuk admin dengan aksi approve/deny dan catatan opsional.
- Ukur: berapa banyak permintaan yang dikirim, bagaimana volume tiket berubah, dan copy mana yang menyebabkan denial berulang.
Jika Anda membangun di AppMaster (appmaster.io), Anda bisa mengimplementasikan ini sebagai layar yang dapat dipakai ulang plus alur request/approval sederhana menggunakan visual UI builders, Data Designer, dan Business Process Editor platform, lalu memurnikannya berdasarkan permintaan nyata.
FAQ
Karena terasa seperti jalan buntu. Pengguna tidak tahu apakah mereka sudah masuk dengan benar, apakah tautan rusak, atau apakah mereka kekurangan izin, jadi mereka menghubungi dukungan untuk mencari tahu.
Perlakukan layar itu sebagai langkah nyata dalam alur produk, bukan tempat membuang error. Jelaskan apa yang terjadi dengan bahasa sederhana, berikan satu tindakan jelas, dan sertakan ID referensi agar dukungan bisa menemukan kejadian dengan cepat.
Unauthenticated berarti sistem belum bisa memastikan siapa pengguna (biasanya karena belum masuk atau sesi kedaluwarsa). Unauthorized berarti sistem tahu siapa pengguna, tetapi akun itu tidak punya akses ke area tersebut—langkah selanjutnya biasanya meminta akses atau mengganti workspace.
Konfirmasi hanya hal yang aman: bahwa akses dibatasi dan jenis batasannya secara umum, misalnya “workspace ini” atau “area ini.” Hindari menyebut nama record, judul halaman, atau pemiliknya, meskipun data itu tersedia.
Default yang baik adalah “You don’t have access to this page.” Tambahkan satu baris penjelas pendek yang menunjuk ke tindakan selanjutnya, misalnya meminta akses atau mengganti akun, tanpa menyebut nama resource atau apakah resource itu ada.
Tampilkan “Request access” ketika pengguna sudah masuk dan ada jalur persetujuan yang realistis. Jika persetujuan tidak tersedia, gunakan fallback seperti “Contact admin,” tetapi tetap kumpulkan konteks agar pengguna tidak perlu menjelaskan semuanya secara manual.
Buat singkat dan otomatis sebisa mungkin. Tangkap siapa pengguna, area umum yang dicoba diakses, jenis aksi, dan cap waktu, lalu biarkan mereka menambahkan catatan opsional agar pemberi persetujuan memperoleh konteks tanpa mengubahnya jadi formulir dukungan panjang.
Tampilkan konfirmasi yang jelas, status yang terlihat untuk dicek nanti, dan ekspektasi singkat seperti “We’ll notify you when it’s reviewed.” Jika pengguna tidak tahu apakah sesuatu terjadi, mereka akan mengirim ulang atau membuka tiket.
Tampilkan akun saat ini dan berikan opsi “Switch account” atau “Switch organization” yang menonjol. Banyak masalah izin muncul karena pengguna berada di workspace yang salah atau menggunakan login personal.
Buat satu komponen layar akses-ditolak yang dapat dipakai ulang dan padukan dengan alur request/approval sederhana sehingga pengalaman konsisten di mana-mana. Di AppMaster, Anda bisa mengimplementasikan layar ini di UI builders dan merutekan request lewat Business Process sambil menyimpan metadata request yang aman di Data Designer.


