# Multi-Tenancy & Isolasi SUMMARY: Bagaimana Synapse mengisolasi data antar pengguna dan mind — batasan keamanan dijelaskan. Multi-Tenancy & Isolasi Synapse bersifat multi-tenant: beberapa pengguna, masing-masing dengan beberapa mind, sepenuhnya terisolasi satu sama lain. Halaman ini menjelaskan model isolasi. Hierarki Tenant [CODE BLOCK] Level Isolasi Level 1: Isolasi Pengguna Setiap akun pengguna terisolasi. Alice tidak dapat: - Melihat mind Bob - Mengakses memori Bob (bahkan dengan JWT miliknya) - Mendaftar info akun Bob Diterapkan oleh: kolom di semua tabel, JWT berisi , semua kueri memfilter berdasarkan . Level 2: Isolasi Mind Dalam satu pengguna, setiap mind terisolasi. Mind A tidak dapat: - Melihat memori Mind B - Mengakses tugas, chat, skrip Mind B Diterapkan oleh: kolom di semua tabel data, Mind Key berisi , semua kueri memfilter berdasarkan . > [!CRITICAL] > Isolasi Mind Key adalah batasan keamanan utama. Mind Key yang bocor > memberikan akses penuh ke data mind tersebut — tetapi HANYA mind itu. Token Autentikasi | Token | Cakupan | Apa yang dapat diakses | |-------|-------|-------------------| | Mind Key | Satu mind | Hanya data mind tersebut | | JWT | Akun pengguna | Manajemen akun (buat/daftar/hapus mind) | | Computer Token | Satu komputer | Perintah komputer tersebut | Akses Lintas-Mind Dalam pengguna yang sama Pengguna dapat mengakses semua mind mereka melalui JWT (mis. mendaftar semua). Tetapi untuk membaca/menulis data memori, mereka memerlukan Mind Key spesifik. Antar pengguna Pengguna tidak dapat mengakses data satu sama lain — KECUALI mereka secara eksplisit berbagi mind melalui Sharing API: [CODE BLOCK] Setelah dibagikan, Bob dapat mengakses Mind A melalui JWT miliknya (read-only jika ). Batasan Keamanan [CODE BLOCK] Pola Multi-Tenancy Umum Pola 1: Satu Pengguna, Satu Mind Paling umum untuk pengguna agen LLM individu. - 1 akun pengguna - 1 mind - 1 Mind Key - Semua memori dalam satu cakupan Pola 2: Satu Pengguna, Beberapa Mind Untuk pengguna dengan beberapa konteks (kerja, pribadi, proyek). - 1 akun pengguna - N mind (mis. "kerja", "pribadi", "proyek-x") - N Mind Key - Setiap sesi LLM menggunakan satu Mind Key Pola 3: Mind Tim Bersama Untuk tim yang berkolaborasi dalam suatu proyek. - 1 pengguna membuat mind (mendapatkan Mind Key) - Pembuat berbagi dengan anggota tim melalui JWT - Semua anggota tim mengakses melalui JWT (atau Mind Key bersama) > [!WARNING] > Berbagi Mind Key memberikan akses baca/tulis penuh. Untuk kolaborasi tim, > lebih baik gunakan Sharing API (berbasis JWT) daripada berbagi Mind Key secara langsung. Pola 4: Penyedia SaaS Untuk aplikasi yang menyematkan Synapse sebagai lapisan memori mereka. - Setiap pelanggan = 1 akun pengguna - Setiap proyek pelanggan = 1 mind - Aplikasi menyimpan Mind Key per pelanggan/proyek - Isolasi penuh antar pelanggan Verifikasi Isolasi Tes: Mind Key tidak dapat mengakses mind lain [CODE BLOCK] Tes: JWT tidak dapat membaca data memori langsung [CODE BLOCK] Praktik Terbaik > [!TIP] > - Gunakan satu mind per proyek/konteks — isolasi adalah teman Anda > - Jangan pernah berbagi Mind Key — gunakan Sharing API sebagai gantinya > - Rotasi Mind Key jika terkompromi (hapus mind, buat baru) > - Audit mind yang dibagikan — tinjau secara berkala > - Gunakan JWT untuk UI manusia — jangan pernah mengekspos Mind Key ke pengguna akhir Langkah Berikutnya - Autentikasi - Mind Key vs JWT - Arsitektur