Что внутри Тарифы Вопросы Блог Документация Войти

Безопасность

Что происходит с вашими данными

Whisperer стоит вплотную к вашей работе: созвоны, документы, задачи, календарь и контекст, который их связывает. Эта страница про то, чем эти данные защищены, куда они идут, кто до них дотягивается и как их удалить.

Чего мы не заявляем

У Whisperer нет ни SOC 2, ни ISO 27001, ни независимого аудита безопасности, и делать вид, что есть, мы не будем. Что мы можем — показать, как система устроена и где проходят её границы. Этим остальная страница и занята.

  • Минимум

    Возможность получает те данные, без которых не работает, и не получает остальные. Сессия без логов не пишет в базу вообще ничего.

  • Изоляция

    Каждый запрос ограничен владельцем на уровне данных, а не оставлен на память каждому обработчику.

  • Шифрование

    TLS на всём, что передаётся. Доступы к подключённым сервисам шифруются до того, как попадут в базу.

  • Контроль

    Каждый маршрут API требует аутентификации, если он не в явном списке публичных, — и тест падает, если новый проскочил мимо.

  • Прозрачность

    Там, где данные покидают нашу инфраструктуру, страница называет получателя, состав и причину.

Куда идут данные

Пять участков между вашим микрофоном и ответом. Раскройте любой, чтобы увидеть, что он несёт.

  1. 01 Ваше устройство

    Несёт: Микрофон и системный звук, снятые вами скриншоты, загруженные файлы.

    Почему: Захват возможен только там, где идёт разговор. Панель исключена из захвата экрана, поэтому при демонстрации её не видно, а токены доступа лежат в системном хранилище секретов — Keychain на macOS, DPAPI на Windows, — а не в читаемом файле.

  2. 02 Соединение

    Несёт: Всё, что идёт между вашим клиентом и Whisperer.

    Почему: HTTPS с TLS 1.2 и новее. Токен сессии передаётся в заголовке Authorization, а не в адресе, поэтому он не оседает в логах сервера и прокси. Эдж отдаёт HSTS, запрет угадывания типа, запрет встраивания в рамку и строгую политику реферера.

  3. 03 API Whisperer

    Несёт: Запросы — после аутентификации, ограничения темпа и проверки владения.

    Почему: Авторизация работает на отказ по умолчанию: если право не подтверждено, запрос отклоняется, а не пропускается «на всякий случай». Лимиты темпа считаются на токен, а не на адрес, поэтому люди за одним общим соединением не делят одну корзину.

  4. 04 Хранилище

    Несёт: Встречи, стенограммы, заметки, задачи и календарь — в управляемой базе; файлы и записи — в объектном хранилище; краткоживущее состояние — в управляемом кэше; векторы поиска — в векторной базе.

    Почему: К базе приложение подключается с полной проверкой сертификата по закреплённому корню: подменённый узел не подключится, а откажет. Данные хранятся на серверах в России и/или ЕС — так же, как сказано в политике конфиденциальности.

  5. 05 ИИ-провайдеры и подключённые сервисы

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

    Почему: Своих моделей речи и языка у нас нет. Это и есть граница, за которой данные покидают нашу инфраструктуру, поэтому она названа прямо, а не оставлена подразумеваемой. Таблица ниже перечисляет всех и ведёт на их условия.

  • Остаётся на вашем устройстве или внутри Whisperer
  • В пути между ними
  • Уходит третьей стороне

Шифрование

При передаче. Соединения между клиентами, API и инфраструктурой идут по HTTPS с TLS 1.2 и новее; прод-эдж сейчас договаривается на TLS 1.3. Строгая транспортная политика отдаётся сроком на год, поэтому браузер, однажды побывавший на сайте, не откатится на открытый HTTP.

При хранении. База, объектное хранилище и кэш — управляемые сервисы, и шифрование при хранении обеспечивают они, а не мы. Называть алгоритм для хранилища, которым мы не управляем, не станем: это была бы догадка в одежде гарантии.

Секреты. Доступы к подключённым сервисам — refresh-токены, ключи интеграций, токены ваших собственных инструментов — шифруются до записи в базу, кольцом ключей, которое позволяет сменить ключ без простоя и без разовой перешифровки всего. Отсутствующий или битый ключ приводит к отказу: ничего не пишется, вместо того чтобы записаться открытым текстом.

Безопасность аккаунта

Пароли. хранятся хэшами bcrypt на двенадцати раундах и никогда открытым текстом. Регистрация требует подтвердить почту шестизначным кодом с коротким сроком жизни, а вход и регистрация закрыты проверкой на бота.

Сессии. Токен доступа живёт 30 минут. Refresh-токен — 7 суток в cookie, которую не читает JavaScript, ограниченной путём аутентификации и защищённой от межсайтового использования парным токеном. Смена пароля или выход со всех устройств поднимает счётчик версии, и все ранее выданные токены перестают работать.

Десктоп и внешние клиенты. Привязка десктопа идёт одноразовым кодом, поэтому пароль в приложение не попадает. Внешние ИИ-клиенты проходят OAuth 2.1 с обязательным PKCE; неявной и парольной выдачи не существует. Эти токены хранятся хэшами и сравниваются за постоянное время, а refresh принимается только на эндпоинте токенов и никогда вместо токена доступа.

Пространство принадлежит вам

Каждая встреча, стенограмма, заметка, файл, задача, событие календаря и воспоминание принадлежат создавшему их аккаунту. Ограничение по владельцу стоит на уровне данных, поэтому запрос с чужим идентификатором отклоняется — гарантия не зависит от того, вспомнил ли обработчик про проверку.

Держат это не договорённость, а два архитектурных теста. Один падает, если у версионного маршрута API нет ни аутентификации, ни строки в явном списке публичных; второй — если в этом списке остались маршруты, которых больше нет. Доступ выдаётся по одному объекту и только по вашему решению: по умолчанию никому ничего не видно.

Встречи, записи и скриншоты

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

После созвона. Стенограмма, заметки, задачи и карта решений лежат в вашем пространстве: их можно править, выгружать и удалять. Запись, сделанная в видеокомнате Whisperer, пишется в объектное хранилище и возвращается встречей со стенограммой. Снятые вами скриншоты прикрепляются к сессии и уходят в модель зрения тогда, когда вы спрашиваете про то, что на экране.

Сессии без логов. Сессию можно вести в режиме, где стенограмма и ответы не пишутся в базу вовсе, а связанные данные удаляются по её завершении. Минуты при этом расходуются: вы экономите хранение, а не время. Включать заранее — не записать проще, чем потом стирать.

Файлы и знания

Загруженные документы индексируются, чтобы ответы могли на них опираться. Выдача ограничена владельцем: поиск, который собирает контекст под ваш вопрос, смотрит только на векторы вашего аккаунта, поэтому документ одного пространства не может всплыть в ответе другого.

Удаление документа убирает его и из поискового индекса, и из хранилища, поэтому он перестаёт появляться в подобранном контексте, а не остаётся там незаметно. На размер файла стоит потолок, а если объектное хранилище не настроено, раздел недоступен целиком, а не работает наполовину.

Память и личный контекст

Leo держит два вида контекста: профиль, который вы пишете сами, и устойчивые факты, которые он записывает по ходу работы, чтобы повторяющееся не приходилось объяснять дважды. И то и другое живёт в вашем аккаунте, видно в разделе Leo и там же правится и удаляется. Не запоминается ничего, чего вы не можете увидеть.

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

Обработка моделями

Whisperer не обучает и не держит собственных моделей речи и языка. Возможность, которой модель нужна — ответ по ходу созвона, расшифровка, перевод, выжимка, векторизация для поиска, — отправляет содержимое, с которым работает, стороннему провайдеру и пользуется тем, что вернулось.

Состав отправки зависит от возможности. Ответ несёт текущую стенограмму, те части базы знаний, что подобраны под этот вопрос, и контекст вашего профиля. Расшифровка несёт звук. Для возможности, которой вы не пользуетесь, не уходит ничего.

ПровайдерДля чегоЧто уходитУсловия
OpenRouter Текстовые модели: ответы, заметки, выжимки, векторизация, переранжирование Промпт: фрагменты стенограммы, подобранные под вопрос знания, контекст профиля Политика
OpenAI Живое распознавание речи во время созвона Звук разговора Политика
Deepgram Распознавание речи в записанных встречах Звук встречи Политика
Google Живой голосовой перевод и голосовой ассистент Звук — идёт из браузера напрямую провайдеру, наши серверы его не проксируют Политика
pyannote.ai Разделение говорящих в записи Звук встречи Политика
Cloudflare Проверка на бота при входе и регистрации Сигнал браузерной проверки. Данных пространства нет Политика

Как провайдер обращается с полученным, определяют его собственные условия и политика — ссылки выше. Мы не пересказываем их здесь и не обещаем за провайдера, что ваше содержимое никогда не пойдёт на обучение: это его обязательство, а не наше. Какая модель отвечает за какую роль — настройка в вашем кабинете, поэтому видно и меняется, куда уходят запросы.

Подключённые сервисы и MCP

Подключение сервиса — календаря, заметок, CRM, трекера — даёт Whisperer доступ к тому, что этот сервис открывает, в границах разрешений, которые вы подтвердили на его собственном экране согласия. Отключить можно в кабинете в любой момент, отозвать — ещё и на стороне самого сервиса.

MCP работает в обе стороны. У Whisperer есть MCP-сервер, чтобы внешние ИИ-инструменты читали ваши данные, и MCP-клиент, чтобы Leo пользовался подключёнными инструментами. Встреча видна внешнему клиенту, только если вы пометили её общей; архив целиком — никогда, а сессии без логов исключены безусловно. Доступ, который вы дали Whisperer к своим сервисам, дальше через MCP-сервер не передаётся.

Необратимые действия. требуют подтверждения человеком с собранным на сервере предпросмотром того, что именно будет затронуто, и внешним клиентам недоступны вовсе. Инструменты, принимающие учётные данные, наружу не выставляются никогда — это был бы канал, чтобы подложить секрет в чужую интеграцию. MCP-сервер, который вы приносите своим процессом, запускается на вашей машине, а не на нашей. Исходящие адреса проверяются против приватных, петлевых, link-local и операторских диапазонов до первого запроса.

Инфраструктура

Приложение работает в контейнерах за единственным эджем, который и завершает TLS. База, кэш и объектное хранилище — управляемые сервисы, доступные по аутентифицированным зашифрованным соединениям; база — с полной проверкой сертификата по закреплённому корню.

Выкат идёт без остановки сервиса: новый контейнер встаёт в балансировку прежде, чем уйдёт старый, и каждый выкат помечает заменяемый образ, поэтому откат — одна команда. Изменения схемы применяются до старта нового кода, а приложение отказывается стартовать на схеме, которой не ожидает, вместо того чтобы работать не с той.

Настройки и учётные данные приходят из окружения и в репозиторий не попадают. Имён хостов, бакетов, портов и кластеров на этой странице не будет: рассказывать про модель безопасности полезно, выдавать карту — нет.

Журналы и наблюдение

Журналы приложения и ошибок, метрики запросов и состояние сервисов собираются, чтобы продукт можно было эксплуатировать, с оповещением при сбое. Пароли, токены и ключи в журналы не пишутся — токен сессии идёт заголовком, а не адресом, именно поэтому он туда и не попадает.

Честно про пределы: круглосуточного центра мониторинга безопасности у нас нет, как нет и внешней службы обнаружения атак. Наблюдение здесь эксплуатационное. Оно сообщает, что что-то сломалось; это не система обнаружения вторжений, и называть её так значило бы заявить непроверяемое.

Удаление данных

Три разные операции, и все — из кабинета, а не письмом в поддержку: выгрузить всё, что с вами связано, файлом; стереть весь контент, сохранив аккаунт и подписку; удалить аккаунт целиком.

Удаление аккаунта стирает контент и служебные записи, а саму строку аккаунта обезличивает. Убрать её совсем нельзя: на неё ссылаются платёжные записи, а бухгалтерский закон велит хранить их пять лет. Это единственное исключение, и оно названо в согласии, которое вы принимаете при регистрации. Перечень таблиц, которые обязано вычистить удаление, — единый реестр в коде, и тест падает, если в схеме появилась таблица со ссылкой на аккаунты, не попавшая в него: забыть одну значит оставить персональные данные после запроса на удаление.

ДанныеЗачемСколько хранятся
Встречи и стенограммы История и поиск Пока вы их не удалите
Записи и файлы Воспроизведение и обработка Пока вы их не удалите
Сессии без логов Только помощь по ходу Не пишутся; удаляются по завершении сессии
Скриншоты Ответы про то, что на экране Пока вы не удалите сессию
База знаний и поисковый индекс Подбор контекста в ответы Пока вы не удалите документ
Память и профиль Личный контекст для Leo Пока вы не измените или не удалите
Доступы интеграций Поддержание подключения Пока вы не отключите сервис
Аккаунт и платёжные записи Доступ и бухгалтерский учёт Неактивные аккаунты стираются через 3 года после последнего входа; платёжные записи хранятся 5 лет

Объекты в хранилище удаляются в рамках самого запроса, а не по расписанию. Резервные копии — свойство управляемых платформ, которыми мы пользуемся, поэтому удалённая запись может жить в их снимках столько, сколько эти снимки хранятся; мы этим окном не управляем и выдумывать для него число не будем. По запросу в рамках GDPR или 152-ФЗ пишите в поддержку — отвечаем в течение 30 дней.

Безопасность — это процесс

Whisperer — растущий продукт. У нас нет ни SOC 2, ни ISO 27001, ни другой независимой сертификации, мы не заказывали внешний тест на проникновение и не станем выдавать собственную проверку за него. Сказать это прямо — часть модели: непроверяемое заявление стоит меньше, чем архитектура, которую можно прочитать.

Часть мер здесь намеренно описана как неполная. Политика безопасности содержимого работает в режиме отчёта, пока настраивается: она сообщает о нарушениях, а не блокирует их. Двухфакторной аутентификации пока нет. Там, где на странице сказано там, где это обеспечивает платформа, имеется в виду ровно это и ничего сверх.

Куда идём

По мере роста Whisperer мы оцениваем дальнейшие меры безопасности и соответствия требованиям. Без дат: дата, которую нельзя сдержать, была бы ещё одним непроверяемым заявлением.

  • Перевести политику безопасности содержимого из отчёта в применение
  • Двухфакторная аутентификация аккаунта
  • Независимая проверка безопасности и тест на проникновение
  • Формальные политики безопасности и программа соответствия

Нашли уязвимость?

Сообщите нам до публичного раскрытия и дайте разумный срок на починку. Опишите, что нашли, как воспроизвести и в чём, по-вашему, последствия. Мы подтвердим получение и будем держать вас в курсе.

Сообщить об уязвимости

Платной программы вознаграждений у нас нет. Если хотите, чтобы находку записали на ваше имя, — скажите, и мы укажем автора.