# Mind Key vs JWT — vad när? Synapse har två autentiseringstoken. Att välja fel leder till 401-fel. Den här guiden ger er ett tydligt beslutsramverk. ## Snabb beslutstabell | Ni vill... | Använd | |----------------|-----| | Lagra / återkalla minnen | Mind Key | | Skicka / polla chattmeddelanden | Mind Key | | Hantera uppgifter | Mind Key | | Lagra skript | Mind Key | | Registrera webhooks | Mind Key | | Styr datorer | Mind Key (användarsida) / Computer Token (agentsida) | | Registrera användarkonto | Inget (publik) | | Logga in | Inget (publik) | | Skapa / lista / ta bort minds | JWT | | Dela en mind med en annan användare | JWT | | Prenumerera på web push-aviseringar | JWT | | Visa granskningslogg | Mind Key | ## Den enkla regeln > [!TIP] > **Om det rör en enskild minds data → Mind Key.** > **Om det hanterar kontot eller mind-metadata → JWT.** ## Mind Key — dataåtkomsttoken En Mind Key ger åtkomst till **en minds data**. Det är en långlivad token som aldrig löper ut (tills minden tas bort). Perfekt för: - LLM-agenter som persistens minnen mellan sessioner - Bakgrunds-cron-jobb - MCP-serverkonfiguration - Webhook-integrationer - Mobilappar som läser minne ### Vad Mind Key kan göra - `GET /memory/recall` — läsa alla minnen i denna mind - `POST /memory` — lagra/uppdatera minnen - `GET /chat/poll` — läsa chattmeddelanden - `POST /chat/reply` — skicka chattmeddelanden - `GET /mind/tasks` — lista uppgifter - `POST /mind/task` — skapa uppgifter - `POST /script` — lagra skript - `POST /webhooks` — registrera webhooks - `POST /computers/:id/commands` — köa datorkommandon ### Vad Mind Key INTE kan göra - Skapa / lista / ta bort minds (behöver JWT) - Dela mind med annan användare (behöver JWT) - Visa användarkontoinfo (behöver JWT) - Prenumerera på web push (behöver JWT) ## JWT — token för kontohantering En JWT autentiserar **användarkontot**. Den löper ut efter 7 dagar och används för kontooperationer som spänner över flera minds eller involverar andra användare. ### Vad JWT kan göra - `POST /minds` — skapa en ny mind (returnerar en ny Mind Key) - `GET /minds` — lista alla minds för denna användare - `DELETE /minds/:id` — ta bort en mind - `POST /sharing` — dela en mind med en annan användare - `POST /push/subscribe` — prenumerera på web push-aviseringar - `GET /sharing` — lista mind-delningar ### Vad JWT INTE kan göra - Läsa / skriva minnen (behöver Mind Key) - Skicka chattmeddelanden (behöver Mind Key) - Hantera uppgifter (behöver Mind Key) - Registrera webhooks (behöver Mind Key) ## Specialfall: Computer Token `/computers/me/*`-endpoints (agentriktade, för screen-remote-agent) använder en tredje tokentyp: **Computer Token**. Denna token returneras av `POST /computers/register` när en installationskod löses in och är specifik för en registrerad dator. | Endpoint | Autentisering | |----------|------| | `GET /computers/me/poll` | Computer Token | | `POST /computers/me/commands/:cid/result` | Computer Token | | `GET /computers/list` | Mind Key eller JWT | | `POST /computers/:id/commands` | Mind Key eller JWT | ## Vanliga mönster ### Mönster 1: Enskild LLM-agent 1. Registrera en gång → få JWT 2. Skapa en mind → få Mind Key 3. LLM använder Mind Key för allt ### Mönster 2: Flerprojektsagent 1. Registrera en gång → få JWT 2. Skapa flera minds (work, personal, project-x) → få flera Mind Keys 3. LLM laddar olika Mind Key baserat på kontext ### Mönster 3: Team-delning 1. Användare A skapar en mind → får Mind Key A 2. Användare A delar med Användare B via JWT (`POST /sharing`) 3. Användare B kan nu komma åt via sin egen JWT 4. För LLM-åtkomst måste Användare B skapa sin egen Mind Key (eller använda A:s) ### Mönster 4: MCP-server MCP-servrar använder alltid Mind Key (satt via `SYNAPSE_MIND_KEY`-miljövariabel). En MCP-serverinstans = en mind. För multi-mind-åtkomst, kör flera MCP-instanser eller implementera klientbaserad mind-växling. ## Fusklapp för tokenformat | Token | Format | Exempel | |-------|--------|---------| | Mind Key | `mk_` + 36 tecken | `mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789` | | JWT | `eyJ` + base64 | `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...` | | Computer Token | `ct_` + 36 tecken | `ct_xYzAbCdEfGhIjKlMnOpQrStUvWxYz0123456789` | ## Nästa steg - [Autentisering](/docs/getting-started/authentication) — fullständig auth-guide - [User & Minds API](/docs/api/user) — JWT-skyddade endpoints - [Memory API](/docs/api/memory) — Mind Key-skyddade endpoints