# Конфиденциальность и безопасность (/ru/docs/privacy-and-security)

В Echolot нет учётной записи и облака. Ваши запросы лежат в файлах на вашем Mac, секреты остаются в связке ключей, и
ничего о вас или ваших рабочих пространствах не покидает Mac, пока вы сами это не отправите или что-то не включите. На
этой странице перечислено, что делает Echolot, и только это.

## Ваши файлы [#your-files]

- **Рабочие пространства** — папки обычных TOML-файлов там, куда вы их сохранили. Echolot никогда их не загружает.
- **Собственные данные Echolot** (сохранённые тела ответов, история, отчёты о сбоях, разговоры с Ассистентом) лежат в
  `~/Library/Application Support/Echolot` на этом Mac.
  **Настройки › О программе › Ответы и история › Показать в Finder** открывает эту папку. Редакция для App Store хранит их в собственном контейнере; см.
  [Редакции](/docs/get-started/editions).
- **Личные настройки**, например расположение областей и скрипты и серверы, которым вы доверяете, хранятся в настройках
  приложения на этом Mac, а не в рабочем пространстве.

## Секреты остаются в связке ключей [#secrets-stay-in-the-keychain]

Секретные значения никогда не попадают в файлы рабочего пространства, поэтому рабочее пространство можно коммитить в
Git.

- **Секретные переменные** хранятся только в вашей связке ключей входа. Файл называет переменную, а её значение лежит
  в связке ключей. См. [Секреты](/docs/workspaces/secrets).
- **Импорт** переносит пароли, токены и ключи, найденные в авторизации и заголовках с учётными данными, в секретные
  переменные, а отчёт об импорте называет их, но не показывает значения. См. [Импорт](/docs/get-started/importing).
- **Экспорт** никогда не записывает секретные значения: секретные переменные уходят только по имени, а отчёт об
  экспорте считает все учётные данные, введённые в запрос открытым текстом.
- **Захваты из ответов**, которые сохраняют токен в секретную переменную, пишут его только в связку ключей.
- **Ключи моделей** для Ассистента, **токены входа в MCP** и **пароль прокси** тоже лежат в связке ключей. Пароль прокси
  или парольная фраза сертификата, введённые открытым текстом, вызывают предупреждение с кнопкой
  **Переместить в Связку ключей**.
- Инструмент командной строки читает те же элементы связки ключей. macOS один раз спрашивает, прежде чем другое
  приложение или другая редакция прочитает элемент; выберите **Всегда разрешать**.

## Учётные данные остаются у своего сервера [#credentials-stay-with-their-server]

Когда редирект ведёт на другой источник (другая схема, хост или порт), Echolot отбрасывает учётные данные, прежде чем
перейти: `Authorization`, `Cookie`, распространённые заголовки с API-ключами, заголовок авторизации по API-ключу и
любой заголовок с секретом, а также настройки Digest, AWS и клиентского сертификата. Секрет, который вы задали для
одного сервера, никогда не передаётся другому через редирект.

## Тела ответов на диске [#response-bodies-on-disk]

Ответы пишутся на диск потоком, и каждая отправка хранится в истории на этом Mac. **Настройки › Хранилище** решает,
сколько и как это хранится:

| Настройка | Значение |
| --- | --- |
| **Шифровать тела ответов на диске** | Тела, записи обмена по сети и отформатированные копии шифруются ключом из вашей связки ключей входа, поэтому без него ничего из ответа в папке хранилища Echolot прочитать нельзя. Сохранённые тела шифруются в фоне; выключение расшифровывает их. |
| **Хранить тела ответов до** | При превышении этого размера наименее давно использованные тела удаляются. Тела, открытые во вкладке, хранятся всегда. |
| **История на запрос** | Сколько ответов хранит каждый запрос. |

Пока шифрование включено, поиск по истории находит запросы по имени, адресу и заголовкам, но не по содержимому их тел:
поисковый индекс истории не шифруется, поэтому в нём нет текста тел, а включение шифрования удаляет тот текст, что в
нём был. На рабочие пространства это не влияет. См. [Хранилище и шифрование](/docs/workspaces/storage-and-encryption).

## Защищённые окружения [#protected-environments]

Пометьте окружение как защищённое (скажем, Production), и каждая отправка, которую вы начинаете, пока оно активно,
сначала спрашивает подтверждение: **Отправить** у запроса (теперь он называется **Отправить в Production…**),
подключения, запуски в Прогоне, ручные запуски сценариев, Быстрая отправка и действия «Быстрых команд», вызовы и
проверки MCP, **Получить токен**, загрузка схем и рефлексия gRPC. Вопрос называет окружение и показывает, что будет
отправлено, с замаскированными секретами.

**Отменить** — кнопка по умолчанию, поэтому <kbd>Return</kbd> никогда не отправит в защищённое окружение по
ошибке, и <kbd>Esc</kbd> тоже отменяет. **Не спрашивать до смены окружения** отключает вопросы в этом окне, пока не
сменится его окружение; это никогда не сохраняется. Агенты спрашивают всегда. См.
[Защищённые окружения](/docs/workspaces/protected-environments).

<Shot id="privacy-protected-send" alt="Вопрос перед отправкой в защищённое окружение Production: названы окружение и запрос, который будет отправлен, «Отменить» — кнопка по умолчанию" />

## Скрипты и локальные программы [#scripts-and-local-programs]

- **Скрипты** (перед запросом и с тестами) выполняются в песочнице внутри Echolot. Скрипт может отправлять запросы
  только через Echolot, по тем же правилам, что и ваши собственные отправки.
- Скрипты выполняются, только когда вы им доверяете **на этом Mac**. Скрипты, которые вы пишете в Echolot, считаются
  доверенными. Скрипты, пришедшие откуда-то ещё (импорт, `git pull`, правка вне Echolot), останавливают отправку, пока
  вы не выберете **Просмотреть скрипты…** и не доверитесь им. Доверие привязано к содержимому скриптов и хранится вне
  рабочего пространства, так что рабочее пространство никогда не может доверить собственные скрипты.
- **MCP-серверы, которые запускаются как локальная программа**, стартуют только после того, как вы одобрите их команду
  на странице «MCP-серверы» (**Доверять и проверить**). Любое изменение команды, её аргументов или окружения снова
  спрашивает.

## Ассистент и провайдеры моделей [#the-assistant-and-model-providers]

Ассистент и ИИ-комментарии Echo, если вы их включили, используют провайдера моделей, которого вы выбрали в
**Настройки › Ассистент**.

- Ключи моделей остаются в связке ключей на этом Mac и отправляются только по собственному адресу провайдера.
- **Первое сообщение провайдеру спрашивает подтверждение, прежде чем что-либо отправить**, один раз на провайдера
  (совместимый сервер — по его хосту). Вопрос говорит, что туда уйдёт: для Ассистента это ваши сообщения, данные
  рабочего пространства, которые читает Ассистент, и результаты его инструментов. Секретные значения не отправляются
  никогда.
- ИИ-комментарии Echo отправляют только краткие факты о случившемся (вид запроса, код состояния, длительность): никогда
  имена, адреса, заголовки, тела, переменные или секреты.
- Встроенная модель Apple и серверы на этом Mac (например Ollama) никогда не спрашивают: ничто не покидает Mac.
- **Настройки › Ассистент › Разрешено получать ваши данные** перечисляет разрешённых вами провайдеров, у каждого есть
  **Отозвать**. Отозванный провайдер при следующем обращении спросит снова.
- Ассистент спрашивает вас, прежде чем изменить данные или обратиться к новому хосту, и работает через те же
  инструменты и правила, что и внешние агенты.

См. [Ассистент](/docs/ai/assistant).

## Внешние ИИ-агенты [#external-ai-agents]

Агенты вроде Claude Code, Cursor или Codex могут работать с рабочим пространством через MCP-сервер Echolot, только если
вы им разрешите.

- **По умолчанию выключено.** **Настройки › Агенты › Разрешить агентам работать с открытыми рабочими пространствами**
  включает это, а каждое рабочее пространство может выключить агентов в **Настройки рабочего пространства › Агенты**.
- **Только на этом Mac.** Сервер слушает стандартный ввод и вывод или `127.0.0.1` с токеном. Из сети до него ничего не
  доходит.
- **Одобряете вы.** По умолчанию чтение и безопасные отправки выполняются; отправки, которые могут изменить данные,
  новые хосты и изменения рабочего пространства спрашивают вас (**Отклонить**, **Разрешить один раз**,
  **Разрешить на этот сеанс**). Защищённые окружения и новые хосты спрашивают всегда.
- **Секреты никогда не доходят до агента.** Агенты ссылаются на секреты по имени. Из всего, что агент получает
  обратно, включая ошибки, секретные значения удаляются: в исходном виде, в JSON, в процентном кодировании и в Base64.
  В истории, которую читает агент, учётные данные скрыты.
- **Никогда не предлагаются.** Политика агентов, прокси, сертификаты, авторизация и скрипты не являются инструментами,
  которыми могут пользоваться агенты.
- **Каждый вызов записывается.** История показывает, кто отправил каждый запрос, агентов — по имени, а **Агенты** в окне
  перечисляют недавние вызовы.

См. [Агенты](/docs/ai/agents) и [Как безопасно дать ИИ-агенту работать с вашим рабочим пространством](/docs/tutorials/agents-safely).

## Данные об использовании и отчёты о сбоях [#usage-data-and-crash-reports]

Оба настраиваются в **Настройки › Конфиденциальность**: данные об использовании по умолчанию выключены, отчёты о сбоях,
хранящиеся на этом Mac, включены.

- **Отправлять анонимные данные об использовании.** Когда включено, Echolot сообщает разработчикам, какие функции
  используются (отправка запроса, запуск, проверка MCP), с небольшими сведениями, например видом запроса и кодом
  состояния, и сообщает об ошибках вместе с трассировками стека. Никогда не URL, заголовки, тела, переменные, секреты
  или ответы. Данные уходят в PostHog, сервис аналитики, который использует Echolot.
- **Собирать отчёты о сбоях.** Включено по умолчанию. macOS передаёт Echolot отчёты о сбоях и зависаниях при следующем
  запуске, и Echolot сохраняет их на этом Mac, чтобы вы могли приложить их к отчёту об ошибке. В них только трассировки
  стека, и никуда они не отправляются. **Показать в Finder** открывает их.

## Соединения, которые Echolot устанавливает сам [#connections-echolot-makes-on-its-own]

Кроме запросов, которые вы отправляете, Echolot обращается к сети только в таких случаях:

| Что | Когда | Что отправляет |
| --- | --- | --- |
| **Проверка обновлений** (загрузка с сайта) | Раз в день, если включено **Автоматически проверять наличие обновлений**, или когда вы выбираете **Проверить обновления…** | Запрашивает у GitHub список релизов. GitHub видит версию приложения и ваш IP-адрес. |
| **Статус беты** (загрузка с сайта, бета-сборки) | При запуске и раз в день | Загружает небольшой подписанный файл с GitHub Pages, без cookie и сохранённых учётных данных. Может досрочно завершить бета-сборку или продлить её. |
| **Предпросмотр изображений** в деревьях ответов | Только когда указатель задерживается на адресе изображения в дереве JSON или XML | Загружает это изображение как браузер, без cookie и сохранённых учётных данных, не более 10 МБ. В истории не записывается, скриптов не выполняет. |
| **Данные об использовании** | Только когда включены | См. выше. |
| **Ваш провайдер моделей** | Только когда вы используете Ассистента или ИИ-комментарии Echo, после вашего разрешения | См. выше. |

Редакция для App Store не проверяет обновления и бета-статус: обновлениями занимается App Store.
