# Multi-tenancy & isolatie SUMMARY: Hoe Synapse data isoleert tussen gebruikers en minds — uitleg van beveiligingsgrenzen. Multi-tenancy & isolatie Synapse is multi-tenant: meerdere gebruikers, elk met meerdere minds, volledig geïsoleerd van elkaar. Deze pagina legt het isolatiemodel uit. Tenant-hiërarchie [CODE BLOCK] Isolatieniveaus Niveau 1: Gebruikersisolatie Elk gebruikersaccount is geïsoleerd. Alice kan niet: - Bobs minds zien - Bobs herinneringen benaderen (zelfs met haar JWT) - Bobs accountinformatie tonen Afgedwongen door: -kolom op alle tabellen, JWT bevat , alle query's filteren op . Niveau 2: Mind-isolatie Binnen een gebruiker is elke mind geïsoleerd. Mind A kan niet: - Mind B's herinneringen zien - Mind B's taken, chat of scripts benaderen Afgedwongen door: -kolom op alle datatabellen, Mind Key bevat , alle query's filteren op . > [!CRITICAL] > Mind Key-isolatie is de primaire beveiligingsgrens. Een gelekte Mind Key > verleent volledige toegang tot die mind's data — maar ALLÉÉN die mind. Authenticatie-tokens | Token | Bereik | Wat het kan benaderen | |-------|--------|-----------------------| | Mind Key | Eén mind | Alleen die mind's data | | JWT | Gebruikersaccount | Accountbeheer (minds aanmaken/tonen/verwijderen) | | Computer Token | Eén computer | Die computer's commando's | Cross-mind-toegang Binnen dezelfde gebruiker Gebruikers kunnen al hun minds benaderen via JWT (bijv. toont allemaal). Maar om memory-data te lezen/schrijven, hebben ze de specifieke Mind Key nodig. Tussen gebruikers Gebruikers kunnen elkaars data niet benaderen — TENZIJ ze expliciet een mind delen via de Sharing-API: [CODE BLOCK] Na het delen kan Bob Mind A benaderen via zijn JWT (alleen-lezen als ). Beveiligingsgrenzen [CODE BLOCK] Veelvoorkomende multi-tenant-patronen Patroon 1: Eén gebruiker, één mind Meest voorkomend voor individuele LLM-agent-gebruikers. - 1 gebruikersaccount - 1 mind - 1 Mind Key - Alle herinneringen in één scope Patroon 2: Eén gebruiker, meerdere minds Voor gebruikers met meerdere contexten (werk, persoonlijk, projecten). - 1 gebruikersaccount - N minds (bijv. "work", "personal", "project-x") - N Mind Keys - Elke LLM-sessie gebruikt één Mind Key Patroon 3: Team-gedeelde mind Voor teams die samenwerken aan een project. - 1 gebruiker maakt de mind aan (krijgt Mind Key) - Maker deelt met teamleden via JWT - Alle teamleden benaderen via JWT (of gedeelde Mind Key) > [!WARNING] > Het delen van een Mind Key geeft volledige lees/schrijftoegang. Voor teamsamenwerking > geeft u de voorkeur aan de Sharing-API (JWT-gebaseerd) boven het direct delen van Mind Keys. Patroon 4: SaaS-provider Voor apps die Synapse insluiten als hun memory-laag. - Elke klant = 1 gebruikersaccount - Elk klantenproject = 1 mind - App slaat Mind Keys op per klant/project - Volledige isolatie tussen klanten Isolatieverificatie Test: Mind Key kan andere minds niet benaderen [CODE BLOCK] Test: JWT kan geen memory-data direct lezen [CODE BLOCK] Best practices > [!TIP] > - Gebruik één mind per project/context — isolatie is uw vriend > - Deel nooit Mind Keys — gebruik de Sharing-API in plaats daarvan > - Roteer Mind Keys indien gecompromitteerd (verwijder mind, maak nieuwe aan) > - Controleer gedeelde minds — bekijk periodiek > - Gebruik JWT voor human-UI — stel Mind Keys nooit bloot aan eindgebruikers Volgende stappen - Authenticatie - Mind Key vs JWT - Architectuur