{"title":"Mind Key проти JWT — що коли?","slug":"mind-key-vs-jwt","category":"getting-started","summary":"Посібник з вибору: Mind Key для доступу агентів до даних, JWT для керування обліковим записом.","audience":["human","llm"],"tags":["auth","mind-key","jwt","decision-guide"],"difficulty":"beginner","updated":"2026-06-27","word_count":667,"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":"uk","translated":true,"requested_lang":"uk","content_markdown":"\n# Mind Key проти JWT — що коли?\n\nУ Synapse два токени автентифікації. Вибір неправильного призводить до помилок 401.\nЦей посібник дає чітку систему прийняття рішень.\n\n## Швидка таблиця рішень\n\n| Ви хочете... | Використовуйте |\n|----------------|-----|\n| Зберігати / відкликати спогади | Mind Key |\n| Надсилати / опитувати повідомлення чату | Mind Key |\n| Керувати завданнями | Mind Key |\n| Зберігати скрипти | Mind Key |\n| Реєструвати webhooks | Mind Key |\n| Керувати комп'ютерами | Mind Key (на боці користувача) / Computer Token (на боці агента) |\n| Зареєструвати обліковий запис | Немає (публічне) |\n| Увійти | Немає (публічне) |\n| Створити / переглянути / видалити mind-и | JWT |\n| Поділитися mind-ом з іншим користувачем | JWT |\n| Підписатися на web push-сповіщення | JWT |\n| Переглянути журнал аудиту | Mind Key |\n\n## Просте правило\n\n> [!TIP]\n> **Якщо це стосується даних одного mind-у → Mind Key.**\n> **Якщо це керує обліковим записом або метаданими mind-у → JWT.**\n\n## Mind Key — токен доступу до даних\n\nMind Key надає доступ до **даних одного mind-у**. Це довготривалий токен, що\nніколи не закінчується (поки mind не видалено). Ідеально для:\n\n- LLM-агентів, що зберігають спогади між сесіями\n- Фонових cron-завдань\n- Конфігурації MCP-сервера\n- Інтеграцій webhook-ів\n- Мобільних додатків, що читають пам'ять\n\n### Що може Mind Key\n\n- `GET /memory/recall` — читати всі спогади в цьому mind-і\n- `POST /memory` — зберігати/оновлювати спогади\n- `GET /chat/poll` — читати повідомлення чату\n- `POST /chat/reply` — надсилати повідомлення чату\n- `GET /mind/tasks` — список завдань\n- `POST /mind/task` — створювати завдання\n- `POST /script` — зберігати скрипти\n- `POST /webhooks` — реєструвати webhooks\n- `POST /computers/:id/commands` — ставити команди комп'ютера в чергу\n\n### Що Mind Key НЕ може\n\n- Створювати / переглядати / видаляти mind-и (потрібен JWT)\n- Ділитися mind-ом з іншим користувачем (потрібен JWT)\n- Переглядати інформацію облікового запису (потрібен JWT)\n- Підписуватися на web push (потрібен JWT)\n\n## JWT — токен керування обліковим записом\n\nJWT автентифікує **обліковий запис користувача**. Він закінчується через 7 днів\nі використовується для операцій на рівні облікового запису, що охоплюють кілька\nmind-ів або залучають інших користувачів.\n\n### Що може JWT\n\n- `POST /minds` — створити новий mind (повертає новий Mind Key)\n- `GET /minds` — список усіх mind-ів цього користувача\n- `DELETE /minds/:id` — видалити mind\n- `POST /sharing` — поділитися mind-ом з іншим користувачем\n- `POST /push/subscribe` — підписатися на web push-сповіщення\n- `GET /sharing` — список спільних mind-ів\n\n### Що JWT НЕ може\n\n- Читати / писати спогади (потрібен Mind Key)\n- Надсилати повідомлення чату (потрібен Mind Key)\n- Керувати завданнями (потрібен Mind Key)\n- Реєструвати webhooks (потрібен Mind Key)\n\n## Особливий випадок: Computer Token\n\nКінцеві точки `/computers/me/*` (на боці агента, для screen-remote-agent)\nвикористовують третій тип токена: **Computer Token**. Цей токен повертається\n`POST /computers/register` при активації коду встановлення та прив'язаний до\nодного зареєстрованого комп'ютера.\n\n| Кінцева точка | Auth |\n|----------|------|\n| `GET /computers/me/poll` | Computer Token |\n| `POST /computers/me/commands/:cid/result` | Computer Token |\n| `GET /computers/list` | Mind Key або JWT |\n| `POST /computers/:id/commands` | Mind Key або JWT |\n\n## Поширені шаблони\n\n### Шаблон 1: Один LLM-агент\n\n1. Зареєструйтеся один раз → отримайте JWT\n2. Створіть один mind → отримайте Mind Key\n3. LLM використовує Mind Key для всього\n\n### Шаблон 2: Багатопроєктний агент\n\n1. Зареєструйтеся один раз → отримайте JWT\n2. Створіть кілька mind-ів (work, personal, project-x) → отримайте кілька Mind Keys\n3. LLM завантажує різний Mind Key залежно від контексту\n\n### Шаблон 3: Командний доступ\n\n1. Користувач A створює mind → отримує Mind Key A\n2. Користувач A ділиться з Користувачем B через JWT (`POST /sharing`)\n3. Користувач B тепер може доступатися через свій JWT\n4. Для LLM-доступу Користувачу B потрібно створити власний Mind Key (або використати A)\n\n### Шаблон 4: MCP-сервер\n\nMCP-сервери завжди використовують Mind Key (через змінну середовища `SYNAPSE_MIND_KEY`).\nОдин екземпляр MCP-сервера = один mind. Для багато-mind доступу запустіть кілька\nекземплярів MCP або реалізуйте перемикання mind-ів на боці клієнта.\n\n## Шпаргалка форматів токенів\n\n| Токен | Формат | Приклад |\n|-------|--------|---------|\n| Mind Key | `mk_` + 36 символів | `mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789` |\n| JWT | `eyJ` + base64 | `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...` |\n| Computer Token | `ct_` + 36 символів | `ct_xYzAbCdEfGhIjKlMnOpQrStUvWxYz0123456789` |\n\n## Наступні кроки\n\n- [Автентифікація](/docs/getting-started/authentication) — повний посібник з автентифікації\n- [API користувачів та mind-ів](/docs/api/user) — кінцеві точки, захищені JWT\n- [Memory API](/docs/api/memory) — кінцеві точки, захищені Mind Key\n","content_html":"<h1>Mind Key проти JWT — що коли?</h1>\n<p>У Synapse два токени автентифікації. Вибір неправильного призводить до помилок 401.\nЦей посібник дає чітку систему прийняття рішень.</p>\n<h2>Швидка таблиця рішень</h2>\n<table>\n<thead>\n<tr>\n<th>Ви хочете...</th>\n<th>Використовуйте</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Зберігати / відкликати спогади</td>\n<td>Mind Key</td>\n</tr>\n<tr>\n<td>Надсилати / опитувати повідомлення чату</td>\n<td>Mind Key</td>\n</tr>\n<tr>\n<td>Керувати завданнями</td>\n<td>Mind Key</td>\n</tr>\n<tr>\n<td>Зберігати скрипти</td>\n<td>Mind Key</td>\n</tr>\n<tr>\n<td>Реєструвати webhooks</td>\n<td>Mind Key</td>\n</tr>\n<tr>\n<td>Керувати комп&#39;ютерами</td>\n<td>Mind Key (на боці користувача) / Computer Token (на боці агента)</td>\n</tr>\n<tr>\n<td>Зареєструвати обліковий запис</td>\n<td>Немає (публічне)</td>\n</tr>\n<tr>\n<td>Увійти</td>\n<td>Немає (публічне)</td>\n</tr>\n<tr>\n<td>Створити / переглянути / видалити mind-и</td>\n<td>JWT</td>\n</tr>\n<tr>\n<td>Поділитися mind-ом з іншим користувачем</td>\n<td>JWT</td>\n</tr>\n<tr>\n<td>Підписатися на web push-сповіщення</td>\n<td>JWT</td>\n</tr>\n<tr>\n<td>Переглянути журнал аудиту</td>\n<td>Mind Key</td>\n</tr>\n</tbody></table>\n<h2>Просте правило</h2>\n<div class=\"callout callout-ok\">**Якщо це стосується даних одного mind-у → Mind Key.**\n**Якщо це керує обліковим записом або метаданими mind-у → JWT.**</div><h2>Mind Key — токен доступу до даних</h2>\n<p>Mind Key надає доступ до <strong>даних одного mind-у</strong>. Це довготривалий токен, що\nніколи не закінчується (поки mind не видалено). Ідеально для:</p>\n<ul>\n<li>LLM-агентів, що зберігають спогади між сесіями</li>\n<li>Фонових cron-завдань</li>\n<li>Конфігурації MCP-сервера</li>\n<li>Інтеграцій webhook-ів</li>\n<li>Мобільних додатків, що читають пам&#39;ять</li>\n</ul>\n<h3>Що може Mind Key</h3>\n<ul>\n<li><code>GET /memory/recall</code> — читати всі спогади в цьому mind-і</li>\n<li><code>POST /memory</code> — зберігати/оновлювати спогади</li>\n<li><code>GET /chat/poll</code> — читати повідомлення чату</li>\n<li><code>POST /chat/reply</code> — надсилати повідомлення чату</li>\n<li><code>GET /mind/tasks</code> — список завдань</li>\n<li><code>POST /mind/task</code> — створювати завдання</li>\n<li><code>POST /script</code> — зберігати скрипти</li>\n<li><code>POST /webhooks</code> — реєструвати webhooks</li>\n<li><code>POST /computers/:id/commands</code> — ставити команди комп&#39;ютера в чергу</li>\n</ul>\n<h3>Що Mind Key НЕ може</h3>\n<ul>\n<li>Створювати / переглядати / видаляти mind-и (потрібен JWT)</li>\n<li>Ділитися mind-ом з іншим користувачем (потрібен JWT)</li>\n<li>Переглядати інформацію облікового запису (потрібен JWT)</li>\n<li>Підписуватися на web push (потрібен JWT)</li>\n</ul>\n<h2>JWT — токен керування обліковим записом</h2>\n<p>JWT автентифікує <strong>обліковий запис користувача</strong>. Він закінчується через 7 днів\nі використовується для операцій на рівні облікового запису, що охоплюють кілька\nmind-ів або залучають інших користувачів.</p>\n<h3>Що може JWT</h3>\n<ul>\n<li><code>POST /minds</code> — створити новий mind (повертає новий Mind Key)</li>\n<li><code>GET /minds</code> — список усіх mind-ів цього користувача</li>\n<li><code>DELETE /minds/:id</code> — видалити mind</li>\n<li><code>POST /sharing</code> — поділитися mind-ом з іншим користувачем</li>\n<li><code>POST /push/subscribe</code> — підписатися на web push-сповіщення</li>\n<li><code>GET /sharing</code> — список спільних mind-ів</li>\n</ul>\n<h3>Що JWT НЕ може</h3>\n<ul>\n<li>Читати / писати спогади (потрібен Mind Key)</li>\n<li>Надсилати повідомлення чату (потрібен Mind Key)</li>\n<li>Керувати завданнями (потрібен Mind Key)</li>\n<li>Реєструвати webhooks (потрібен Mind Key)</li>\n</ul>\n<h2>Особливий випадок: Computer Token</h2>\n<p>Кінцеві точки <code>/computers/me/*</code> (на боці агента, для screen-remote-agent)\nвикористовують третій тип токена: <strong>Computer Token</strong>. Цей токен повертається\n<code>POST /computers/register</code> при активації коду встановлення та прив&#39;язаний до\nодного зареєстрованого комп&#39;ютера.</p>\n<table>\n<thead>\n<tr>\n<th>Кінцева точка</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 або JWT</td>\n</tr>\n<tr>\n<td><code>POST /computers/:id/commands</code></td>\n<td>Mind Key або JWT</td>\n</tr>\n</tbody></table>\n<h2>Поширені шаблони</h2>\n<h3>Шаблон 1: Один LLM-агент</h3>\n<ol>\n<li>Зареєструйтеся один раз → отримайте JWT</li>\n<li>Створіть один mind → отримайте Mind Key</li>\n<li>LLM використовує Mind Key для всього</li>\n</ol>\n<h3>Шаблон 2: Багатопроєктний агент</h3>\n<ol>\n<li>Зареєструйтеся один раз → отримайте JWT</li>\n<li>Створіть кілька mind-ів (work, personal, project-x) → отримайте кілька Mind Keys</li>\n<li>LLM завантажує різний Mind Key залежно від контексту</li>\n</ol>\n<h3>Шаблон 3: Командний доступ</h3>\n<ol>\n<li>Користувач A створює mind → отримує Mind Key A</li>\n<li>Користувач A ділиться з Користувачем B через JWT (<code>POST /sharing</code>)</li>\n<li>Користувач B тепер може доступатися через свій JWT</li>\n<li>Для LLM-доступу Користувачу B потрібно створити власний Mind Key (або використати A)</li>\n</ol>\n<h3>Шаблон 4: MCP-сервер</h3>\n<p>MCP-сервери завжди використовують Mind Key (через змінну середовища <code>SYNAPSE_MIND_KEY</code>).\nОдин екземпляр MCP-сервера = один mind. Для багато-mind доступу запустіть кілька\nекземплярів MCP або реалізуйте перемикання mind-ів на боці клієнта.</p>\n<h2>Шпаргалка форматів токенів</h2>\n<table>\n<thead>\n<tr>\n<th>Токен</th>\n<th>Формат</th>\n<th>Приклад</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Mind Key</td>\n<td><code>mk_</code> + 36 символів</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 символів</td>\n<td><code>ct_xYzAbCdEfGhIjKlMnOpQrStUvWxYz0123456789</code></td>\n</tr>\n</tbody></table>\n<h2>Наступні кроки</h2>\n<ul>\n<li><a href=\"/docs/getting-started/authentication\">Автентифікація</a> — повний посібник з автентифікації</li>\n<li><a href=\"/docs/api/user\">API користувачів та mind-ів</a> — кінцеві точки, захищені JWT</li>\n<li><a href=\"/docs/api/memory\">Memory API</a> — кінцеві точки, захищені Mind Key</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"]}