Kapabilitas · Admin & Keamanan

Akses dibangun di atas
deny-by-default.

Compass menggunakan RBAC empat peran — Owner, Admin, Manager, Karyawan — didukung keamanan baris-level deny-by-default dan isolasi data per org. Kotak masuk persetujuan membatasi peningkatan peran. Log audit append-only mencatat setiap tindakan signifikan. Akses harus diraih dan diberikan — tidak pernah diasumsikan.

RLS deny-by-default diterapkan di lapisan database. Data org tidak pernah bocor antar tenant. Log audit append-only — tidak ada baris yang dihapus.

Apa ini

Keamanan yang hidup di lapisan data, bukan UI

Kebanyakan aplikasi mempercayai UI untuk menegakkan akses. Compass menegakkan akses di lapisan database — keamanan baris-level (RLS) deny-by-default berarti bahkan jika bug UI menampilkan tombol, kueri data mengembalikan kosong kecuali peran secara eksplisit diotorisasi. Isolasi org bersifat struktural. Tidak ada tombol konfigurasi yang bisa secara tidak sengaja mengekspos data satu org ke org lain.

🔒
RLS deny-by-default
Setiap tabel di Compass memiliki kebijakan keamanan baris. Default adalah tolak — tidak ada yang bisa dibaca kecuali kebijakan secara eksplisit memberikan akses untuk peran dan org pengguna yang terautentikasi. Akses bersifat aditif, bukan subtraktif. Kamu tidak bisa secara tidak sengaja memberikan terlalu banyak izin.
🏛
Isolasi data per org
Setiap baris data diberi tag ID org. Kebijakan RLS menegakkan bahwa setiap kueri memfilter ke org pengguna yang terautentikasi. Akses data lintas org tidak mungkin melalui lapisan aplikasi — memerlukan akses database langsung, yang dicatat dan dikontrol aksesnya secara independen.
📝
Log audit append-only
Setiap tindakan signifikan di Compass — perubahan peran, upload data, keputusan persetujuan, tampilan Rapor, pembacaan log audit — ditulis ke log append-only. Baris tidak pernah diperbarui atau dihapus. Log bersifat tamper-evident by design.
Matriks peran × izin

Apa yang bisa — dan tidak bisa — dilakukan setiap peran

Matriks di bawah menunjukkan kapabilitas mana yang dapat diakses setiap peran. Akses parsial () berarti dibatasi pada data sendiri saja — manajer bisa melihat data tim, bukan lintas tim. Ini diterapkan di lapisan data.

Compass · Admin & Keamanan — Matriks izin peran Owner Admin Manager Karyawan
Kapabilitas Owner Admin Manager Karyawan
Lihat data sendiri (KPI, Rapor, tugas)
Lihat data tim (agregat)
Drill-down Rapor individu
Kelola anggota (undang, hapus)
Undang massal CSV
Setujui permintaan peran Admin
Konfigurasi pengaturan org & definisi KPI
Upload aktual (CSV)
Baca log audit

= dibatasi tim atau data sendiri saja, diterapkan di lapisan data. = akses penuh untuk peran. = ditolak oleh kebijakan RLS.

Catatan arsitektur

Izin-izin ini diterapkan oleh kebijakan RLS Supabase di lapisan database — bukan hanya diperiksa dalam kode aplikasi. Bug UI tidak bisa mengekspos baris yang tidak diotorisasi untuk dilihat suatu peran. Isolasi org bersifat struktural: setiap kueri memfilter pada org_id = auth.jwt()->'org_id' sebagai kondisi kebijakan keras.

Deny-by-default Penerapan di lapisan data Isolasi per org Log audit append-only
Cara kerjanya

Empat langkah dari undangan ke akses yang dapat diaudit

01 — UNDANG
CSV / undangan massal

Admin mengundang anggota melalui UI atau dengan mengunggah CSV berisi nama, email, dan peran awal. Undangan massal diproses secara asinkron — setiap anggota yang diundang menerima email undangan yang dibatasi cakupannya. Tidak ada anggota yang ditambahkan ke org tanpa tindakan undangan eksplisit.

02 — SETUJUI
Kotak masuk persetujuan

Permintaan peran Admin dan permintaan akses yang ditingkatkan tertentu masuk ke kotak masuk persetujuan Owner. Tidak berlaku sampai disetujui secara eksplisit. Setiap persetujuan dan penolakan ditulis ke log audit dengan timestamp dan identitas penyetuju.

03 — LINGKUPI
RLS deny-by-default

Setelah anggota aktif, kueri mereka difilter oleh kebijakan RLS yang memeriksa peran dan org_id pada setiap permintaan. Data lintas org secara struktural tidak dapat diakses. Penurunan peran berlaku segera — tanpa cache, tanpa penundaan, tanpa sesi yang perlu ditunggu.

04 — AUDIT
Log append-only

Setiap peristiwa signifikan — undangan, persetujuan, perubahan peran, upload data, pembacaan log audit — ditulis ke log audit. Baris bersifat append-only: tidak ada pembaruan, tidak ada penghapusan. Owner dan Admin bisa membaca log lengkap untuk org mereka kapan saja.

Postur keamanan

Arsitektur, bukan konfigurasi

Properti keamanan yang memerlukan konfigurasi yang benar dari setiap admin adalah properti keamanan yang pada akhirnya akan salah dikonfigurasi. Compass menempatkan jaminan dalam arsitektur sehingga tidak bergantung pada penggunaan yang benar.

Model aditif single-project
Compass menggunakan satu project Supabase per environment. Semua kontrol akses bersifat aditif — kamu memberikan, bukan membatasi. Default tolak berarti hasil terburuk dari miskonfigurasi adalah "terlalu restriktif," bukan "terlalu permisif."
Penulisan hanya melalui edge
Operasi tulis melalui Supabase Edge Functions, bukan panggilan langsung klien-ke-database. Ini berarti validasi sisi server berjalan pada setiap penulisan sebelum mencapai database — termasuk pemeriksaan format data, injeksi org_id, dan penulisan log audit.
Batas privasi berdasarkan kebijakan, bukan kepercayaan
Akses data lintas tim oleh manajer memerlukan persetujuan Owner eksplisit, dicatat ke trail audit. Ini bukan pengaturan yang bisa diaktifkan secara diam-diam. Batasnya adalah kebijakan database keras — bukan toggle UI yang bisa dilewati.
Tidak ada fitur pengawasan
Admin & Keamanan memberi kamu kendali atas siapa yang bisa melihat apa — tidak memberimu kemampuan untuk memantau perilaku individu, melacak aktivitas, atau mengaktifkan pencatatan keystroke. Kemampuan ini tidak ada di Compass di tingkat peran mana pun.
Akses yang bisa dipercaya karena bisa diverifikasi

Undang. Setujui. Audit.

Admin & Keamanan sudah aktif di Compass. RBAC, RLS deny-by-default, isolasi org, kotak masuk persetujuan, dan log audit append-only aktif dari saat org kamu disiapkan — tanpa konfigurasi yang diperlukan.

Compass