# Multitenancy & isolation SUMMARY: Hur Synapse isolerar data mellan användare och minds — säkerhetsgränser förklarade. Multitenancy & isolation Synapse är multitenant: flera användare, var och en med flera minds, fullständigt isolerade från varandra. Den här sidan förklarar isolationsmodellen. Klienthierarki [CODE BLOCK] Isolationsnivåer Nivå 1: Användarisolation Varje användarkonto är isolerat. Alice kan inte: - Se Bobs minds - Komma åt Bobs minnen (även med sin JWT) - Lista Bobs kontoinformation Upprätthålls av: -kolumn på alla tabeller, JWT innehåller , alla frågor filtrerar efter . Nivå 2: Mind-isolation Inom en användare är varje mind isolerad. Mind A kan inte: - Se Mind B:s minnen - Komma åt Mind B:s uppgifter, chatt, skript Upprätthålls av: -kolumn på alla datatabeller, Mind Key innehåller , alla frågor filtrerar efter . > [!CRITICAL] > Mind Key-isolation är den primära säkerhetsgränsen. En läckt Mind Key ger > full åtkomst till den mindens data — men ENDAST den minden. Autentiseringstoken | Token | Omfattning | Vad den kan komma åt | |-------|-------|-------------------| | Mind Key | Enskild mind | Endast den mindens data | | JWT | Användarkonto | Kontohantering (skapa/lista/ta bort minds) | | Computer Token | Enskild dator | Den datorns kommandon | Åtkomst över mind-gränser Inom samma användare Användaren kan komma åt alla sina minds via JWT (t.ex. listar alla). Men för att läsa/skriva minnesdata behöver de specifik Mind Key. Mellan användare Användare kan inte komma åt varandras data — OM INTE de uttryckligen delar en mind via Sharing API: [CODE BLOCK] Efter delning kan Bob komma åt Mind A via sin JWT (skrivskyddad om ). Säkerhetsgränser [CODE BLOCK] Vanliga multitenancy-mönster Mönster 1: Enskild användare, enskild mind Vanligast för enskilda LLM-agentanvändare. - 1 användarkonto - 1 mind - 1 Mind Key - Alla minnen i en omfattning Mönster 2: Enskild användare, flera minds För användare med flera kontexter (arbete, personligt, projekt). - 1 användarkonto - N minds (t.ex. "work", "personal", "project-x") - N Mind Keys - Varje LLM-session använder en Mind Key Mönster 3: Team-delad mind För team som samarbetar kring ett projekt. - 1 användare skapar minden (får Mind Key) - Skaparen delar med teammedlemmar via JWT - Alla teammedlemmar kommer åt via JWT (eller delad Mind Key) > [!WARNING] > Att dela en Mind Key ger full läs/skriv-åtkomst. För teamsamarbete, > föredra Sharing API (JWT-baserad) framom att dela Mind Keys direkt. Mönster 4: SaaS-leverantör För appar som bäddar in Synapse som sitt minneslager. - Varje kund = 1 användarkonto - Varje kundprojekt = 1 mind - Appen lagrar Mind Keys per kund/projekt - Full isolation mellan kunder Verifiering av isolation Test: Mind Key kan inte komma åt andra minds [CODE BLOCK] Test: JWT kan inte läsa minnesdata direkt [CODE BLOCK] Bästa praxis > [!TIP] > - Använd en mind per projekt/kontext — isolation är er vän > - Dela aldrig Mind Keys — använd Sharing API istället > - Rotera Mind Keys om komprometterade (ta bort mind, skapa ny) > - Granska delade minds — se över regelbundet > - Använd JWT för mänskligt gränssnitt — exponera aldrig Mind Keys för slutanvändare Nästa steg - Autentisering - Mind Key vs JWT - Arkitektur