{"title":"Mind Key vs JWT — Wanneer welke?","slug":"mind-key-vs-jwt","category":"getting-started","summary":"Keuzehandleiding: Mind Key voor agent-data-toegang, JWT voor accountbeheer.","audience":["human","llm"],"tags":["auth","mind-key","jwt","decision-guide"],"difficulty":"beginner","updated":"2026-06-27","word_count":646,"read_minutes":3,"llm_context":"Mind Key: tenant-scoped, never expires, for memory/chat/tasks/scripts/computers/webhooks.\nJWT: user-scoped, 7-day expiry, for /register, /login, /minds (CRUD), /sharing, /push.\nSimple rule: if it touches a single mind's data → Mind Key. If it manages the account → JWT.\nException: /computers/me/* uses Computer Token (not Mind Key or JWT).\n","lang":"nl","translated":true,"requested_lang":"nl","content_markdown":"\n# Mind Key vs JWT — Wanneer welke?\n\nSynapse heeft twee authenticatie-tokens. De verkeerde kiezen leidt tot 401-fouten.\nDeze handleiding geeft u een helder beslissingskader.\n\n## Snelle beslissingstabel\n\n| U wilt... | Gebruik |\n|-----------|---------|\n| Herinneringen opslaan / ophalen | Mind Key |\n| Chatberichten sturen / pollen | Mind Key |\n| Taken beheren | Mind Key |\n| Scripts opslaan | Mind Key |\n| Webhooks registreren | Mind Key |\n| Computers bedienen | Mind Key (gebruikerskant) / Computer Token (agent-kant) |\n| Gebruikersaccount registreren | Geen (publiek) |\n| Inloggen | Geen (publiek) |\n| Minds aanmaken / tonen / verwijderen | JWT |\n| Een mind delen met andere gebruiker | JWT |\n| Abonneren op web push-meldingen | JWT |\n| Auditlog bekijken | Mind Key |\n\n## De eenvoudige regel\n\n> [!TIP]\n> **Als het de data van één mind raakt → Mind Key.**\n> **Als het het account of mind-metadata beheert → JWT.**\n\n## Mind Key — Data-toegangstoken\n\nEen Mind Key verleent toegang tot **de data van één mind**. Het is een langlevend token\ndat nooit vervalt (tot de mind wordt verwijderd). Perfect voor:\n\n- LLM-agents die herinneringen tussen sessies persistent maken\n- Achtergrond-cron-jobs\n- MCP-server-configuratie\n- Webhook-integraties\n- Mobiele apps die memory lezen\n\n### Wat Mind Key kan doen\n\n- `GET /memory/recall` — alle herinneringen in deze mind lezen\n- `POST /memory` — herinneringen opslaan/bijwerken\n- `GET /chat/poll` — chatberichten lezen\n- `POST /chat/reply` — chatberichten sturen\n- `GET /mind/tasks` — taken tonen\n- `POST /mind/task` — taken aanmaken\n- `POST /script` — scripts opslaan\n- `POST /webhooks` — webhooks registreren\n- `POST /computers/:id/commands` — computer-commando's in de wachtrij plaatsen\n\n### Wat Mind Key NIET kan doen\n\n- Minds aanmaken/tonen/verwijderen (JWT nodig)\n- Mind delen met andere gebruiker (JWT nodig)\n- Gebruikersaccount-info bekijken (JWT nodig)\n- Abonneren op web push (JWT nodig)\n\n## JWT — Accountbeheer-token\n\nEen JWT authenticeert het **gebruikersaccount**. Het vervalt na 7 dagen en wordt gebruikt\nvoor accountniveau-operaties die meerdere minds beslaan of andere gebruikers betreffen.\n\n### Wat JWT kan doen\n\n- `POST /minds` — een nieuwe mind aanmaken (retourneert een nieuwe Mind Key)\n- `GET /minds` — alle minds voor deze gebruiker tonen\n- `DELETE /minds/:id` — een mind verwijderen\n- `POST /sharing` — een mind delen met een andere gebruiker\n- `POST /push/subscribe` — abonneren op web push-meldingen\n- `GET /sharing` — mind-shares tonen\n\n### Wat JWT NIET kan doen\n\n- Herinneringen lezen/schrijven (Mind Key nodig)\n- Chatberichten sturen (Mind Key nodig)\n- Taken beheren (Mind Key nodig)\n- Webhooks registreren (Mind Key nodig)\n\n## Speciaal geval: Computer Token\n\nDe `/computers/me/*`-eindpunten (agent-gericht, voor de screen-remote-agent)\ngebruiken een derde tokentype: de **Computer Token**. Dit token wordt geretourneerd door\n`POST /computers/register` bij het inwisselen van een installatiecode, en is specifiek voor\néén geregistreerde computer.\n\n| Eindpunt | Auth |\n|----------|------|\n| `GET /computers/me/poll` | Computer Token |\n| `POST /computers/me/commands/:cid/result` | Computer Token |\n| `GET /computers/list` | Mind Key of JWT |\n| `POST /computers/:id/commands` | Mind Key of JWT |\n\n## Veelvoorkomende patronen\n\n### Patroon 1: Enkele LLM-agent\n\n1. Eenmalig registreren → JWT krijgen\n2. Eén mind aanmaken → Mind Key krijgen\n3. LLM gebruikt Mind Key voor alles\n\n### Patroon 2: Multi-project-agent\n\n1. Eenmalig registreren → JWT krijgen\n2. Meerdere minds aanmaken (work, personal, project-x) → meerdere Mind Keys krijgen\n3. LLM laadt verschillende Mind Key op basis van context\n\n### Patroon 3: Team-deling\n\n1. Gebruiker A maakt een mind aan → krijgt Mind Key A\n2. Gebruiker A deelt met Gebruiker B via JWT (`POST /sharing`)\n3. Gebruiker B kan nu benaderen via eigen JWT\n4. Voor LLM-toegang moet Gebruiker B een eigen Mind Key aanmaken (of die van A gebruiken)\n\n### Patroon 4: MCP-server\n\nMCP-servers gebruiken altijd Mind Key (ingesteld via `SYNAPSE_MIND_KEY`-env-var). Eén MCP-\nserverinstantie = één mind. Voor multi-mind-toegang, draai meerdere MCP-instanties\nof implementeer client-side mind-wisseling.\n\n## Token-formaat overzicht\n\n| Token | Formaat | Voorbeeld |\n|-------|---------|-----------|\n| Mind Key | `mk_` + 36 tekens | `mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789` |\n| JWT | `eyJ` + base64 | `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...` |\n| Computer Token | `ct_` + 36 tekens | `ct_xYzAbCdEfGhIjKlMnOpQrStUvWxYz0123456789` |\n\n## Volgende stappen\n\n- [Authenticatie](/docs/getting-started/authentication) — volledige auth-handleiding\n- [User & Minds API](/docs/api/user) — JWT-beveiligde eindpunten\n- [Memory API](/docs/api/memory) — Mind Key-beveiligde eindpunten\n","content_html":"<h1>Mind Key vs JWT — Wanneer welke?</h1>\n<p>Synapse heeft twee authenticatie-tokens. De verkeerde kiezen leidt tot 401-fouten.\nDeze handleiding geeft u een helder beslissingskader.</p>\n<h2>Snelle beslissingstabel</h2>\n<table>\n<thead>\n<tr>\n<th>U wilt...</th>\n<th>Gebruik</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Herinneringen opslaan / ophalen</td>\n<td>Mind Key</td>\n</tr>\n<tr>\n<td>Chatberichten sturen / pollen</td>\n<td>Mind Key</td>\n</tr>\n<tr>\n<td>Taken beheren</td>\n<td>Mind Key</td>\n</tr>\n<tr>\n<td>Scripts opslaan</td>\n<td>Mind Key</td>\n</tr>\n<tr>\n<td>Webhooks registreren</td>\n<td>Mind Key</td>\n</tr>\n<tr>\n<td>Computers bedienen</td>\n<td>Mind Key (gebruikerskant) / Computer Token (agent-kant)</td>\n</tr>\n<tr>\n<td>Gebruikersaccount registreren</td>\n<td>Geen (publiek)</td>\n</tr>\n<tr>\n<td>Inloggen</td>\n<td>Geen (publiek)</td>\n</tr>\n<tr>\n<td>Minds aanmaken / tonen / verwijderen</td>\n<td>JWT</td>\n</tr>\n<tr>\n<td>Een mind delen met andere gebruiker</td>\n<td>JWT</td>\n</tr>\n<tr>\n<td>Abonneren op web push-meldingen</td>\n<td>JWT</td>\n</tr>\n<tr>\n<td>Auditlog bekijken</td>\n<td>Mind Key</td>\n</tr>\n</tbody></table>\n<h2>De eenvoudige regel</h2>\n<div class=\"callout callout-ok\">**Als het de data van één mind raakt → Mind Key.**\n**Als het het account of mind-metadata beheert → JWT.**</div><h2>Mind Key — Data-toegangstoken</h2>\n<p>Een Mind Key verleent toegang tot <strong>de data van één mind</strong>. Het is een langlevend token\ndat nooit vervalt (tot de mind wordt verwijderd). Perfect voor:</p>\n<ul>\n<li>LLM-agents die herinneringen tussen sessies persistent maken</li>\n<li>Achtergrond-cron-jobs</li>\n<li>MCP-server-configuratie</li>\n<li>Webhook-integraties</li>\n<li>Mobiele apps die memory lezen</li>\n</ul>\n<h3>Wat Mind Key kan doen</h3>\n<ul>\n<li><code>GET /memory/recall</code> — alle herinneringen in deze mind lezen</li>\n<li><code>POST /memory</code> — herinneringen opslaan/bijwerken</li>\n<li><code>GET /chat/poll</code> — chatberichten lezen</li>\n<li><code>POST /chat/reply</code> — chatberichten sturen</li>\n<li><code>GET /mind/tasks</code> — taken tonen</li>\n<li><code>POST /mind/task</code> — taken aanmaken</li>\n<li><code>POST /script</code> — scripts opslaan</li>\n<li><code>POST /webhooks</code> — webhooks registreren</li>\n<li><code>POST /computers/:id/commands</code> — computer-commando&#39;s in de wachtrij plaatsen</li>\n</ul>\n<h3>Wat Mind Key NIET kan doen</h3>\n<ul>\n<li>Minds aanmaken/tonen/verwijderen (JWT nodig)</li>\n<li>Mind delen met andere gebruiker (JWT nodig)</li>\n<li>Gebruikersaccount-info bekijken (JWT nodig)</li>\n<li>Abonneren op web push (JWT nodig)</li>\n</ul>\n<h2>JWT — Accountbeheer-token</h2>\n<p>Een JWT authenticeert het <strong>gebruikersaccount</strong>. Het vervalt na 7 dagen en wordt gebruikt\nvoor accountniveau-operaties die meerdere minds beslaan of andere gebruikers betreffen.</p>\n<h3>Wat JWT kan doen</h3>\n<ul>\n<li><code>POST /minds</code> — een nieuwe mind aanmaken (retourneert een nieuwe Mind Key)</li>\n<li><code>GET /minds</code> — alle minds voor deze gebruiker tonen</li>\n<li><code>DELETE /minds/:id</code> — een mind verwijderen</li>\n<li><code>POST /sharing</code> — een mind delen met een andere gebruiker</li>\n<li><code>POST /push/subscribe</code> — abonneren op web push-meldingen</li>\n<li><code>GET /sharing</code> — mind-shares tonen</li>\n</ul>\n<h3>Wat JWT NIET kan doen</h3>\n<ul>\n<li>Herinneringen lezen/schrijven (Mind Key nodig)</li>\n<li>Chatberichten sturen (Mind Key nodig)</li>\n<li>Taken beheren (Mind Key nodig)</li>\n<li>Webhooks registreren (Mind Key nodig)</li>\n</ul>\n<h2>Speciaal geval: Computer Token</h2>\n<p>De <code>/computers/me/*</code>-eindpunten (agent-gericht, voor de screen-remote-agent)\ngebruiken een derde tokentype: de <strong>Computer Token</strong>. Dit token wordt geretourneerd door\n<code>POST /computers/register</code> bij het inwisselen van een installatiecode, en is specifiek voor\néén geregistreerde computer.</p>\n<table>\n<thead>\n<tr>\n<th>Eindpunt</th>\n<th>Auth</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>GET /computers/me/poll</code></td>\n<td>Computer Token</td>\n</tr>\n<tr>\n<td><code>POST /computers/me/commands/:cid/result</code></td>\n<td>Computer Token</td>\n</tr>\n<tr>\n<td><code>GET /computers/list</code></td>\n<td>Mind Key of JWT</td>\n</tr>\n<tr>\n<td><code>POST /computers/:id/commands</code></td>\n<td>Mind Key of JWT</td>\n</tr>\n</tbody></table>\n<h2>Veelvoorkomende patronen</h2>\n<h3>Patroon 1: Enkele LLM-agent</h3>\n<ol>\n<li>Eenmalig registreren → JWT krijgen</li>\n<li>Eén mind aanmaken → Mind Key krijgen</li>\n<li>LLM gebruikt Mind Key voor alles</li>\n</ol>\n<h3>Patroon 2: Multi-project-agent</h3>\n<ol>\n<li>Eenmalig registreren → JWT krijgen</li>\n<li>Meerdere minds aanmaken (work, personal, project-x) → meerdere Mind Keys krijgen</li>\n<li>LLM laadt verschillende Mind Key op basis van context</li>\n</ol>\n<h3>Patroon 3: Team-deling</h3>\n<ol>\n<li>Gebruiker A maakt een mind aan → krijgt Mind Key A</li>\n<li>Gebruiker A deelt met Gebruiker B via JWT (<code>POST /sharing</code>)</li>\n<li>Gebruiker B kan nu benaderen via eigen JWT</li>\n<li>Voor LLM-toegang moet Gebruiker B een eigen Mind Key aanmaken (of die van A gebruiken)</li>\n</ol>\n<h3>Patroon 4: MCP-server</h3>\n<p>MCP-servers gebruiken altijd Mind Key (ingesteld via <code>SYNAPSE_MIND_KEY</code>-env-var). Eén MCP-\nserverinstantie = één mind. Voor multi-mind-toegang, draai meerdere MCP-instanties\nof implementeer client-side mind-wisseling.</p>\n<h2>Token-formaat overzicht</h2>\n<table>\n<thead>\n<tr>\n<th>Token</th>\n<th>Formaat</th>\n<th>Voorbeeld</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Mind Key</td>\n<td><code>mk_</code> + 36 tekens</td>\n<td><code>mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789</code></td>\n</tr>\n<tr>\n<td>JWT</td>\n<td><code>eyJ</code> + base64</td>\n<td><code>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...</code></td>\n</tr>\n<tr>\n<td>Computer Token</td>\n<td><code>ct_</code> + 36 tekens</td>\n<td><code>ct_xYzAbCdEfGhIjKlMnOpQrStUvWxYz0123456789</code></td>\n</tr>\n</tbody></table>\n<h2>Volgende stappen</h2>\n<ul>\n<li><a href=\"/docs/getting-started/authentication\">Authenticatie</a> — volledige auth-handleiding</li>\n<li><a href=\"/docs/api/user\">User &amp; Minds API</a> — JWT-beveiligde eindpunten</li>\n<li><a href=\"/docs/api/memory\">Memory API</a> — Mind Key-beveiligde eindpunten</li>\n</ul>\n","urls":{"html":"/docs/getting-started/mind-key-vs-jwt","text":"/docs/getting-started/mind-key-vs-jwt?format=text","json":"/docs/getting-started/mind-key-vs-jwt?format=json","llm":"/docs/getting-started/mind-key-vs-jwt?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}