Журнал аудита и Buff Code
Что вокруг Buff Code попадает в журнал аудита: вход и отзыв устройств, просмотр чужих сессий, выгрузки, вопросы, знания — с важностью и примером записи.
Журнал аудита организации записывает действия людей вокруг Buff Code. Содержимое самих сессий — запросы и ответы модели — в него не попадает: для этого есть записи сессий, а журнал отвечает на вопрос «кто и что сделал».
Что записывается
| Код события | Что записано | Важность | Когда |
|---|---|---|---|
session.device_approve | Разрешён вход устройства Buff Code | заметное | человек нажал «Разрешить вход» на странице входа; в событии — имя устройства и организация |
session.device_deny | Вход устройства отклонён | заметное | человек нажал «Это не я»; в событии — имя устройства |
session.device_revoke | Устройство отозвано | заметное | кнопка «Отозвать» на странице входа; в событии — устройство |
session.device_refresh_denied | Обновление токена устройства отклонено | предупреждение | только при отказе: устройство уже отозвано, подпись не сошлась или у человека не осталось доступа |
session.device_reuse_revoked | Устройство отозвано: токен обновления использован повторно | предупреждение | уже потраченный токен предъявлен ещё раз — так бывает, когда токен украден; устройство отзывается сразу |
ide.session_view | Просмотрена чужая сессия разработки | заметное | владелец открыл сессию другого разработчика |
ide.session_export | Выгружена сессия разработки | заметное | любая выгрузка Markdown или JSON, своей или чужой |
ask.create | Создан диалог «Спросить» по сессиям разработки | инфо | вопрос по сессиям; в деталях — идентификаторы сессий набора |
knowledge.create | Создано знание «…» из Buff Code | инфо | разработчик подтвердил запись, предложенную моделью |
Полный каталог с операцией и важностью — Каталог событий.
Просмотр и выгрузка: как считаются
- Одна запись на чтение, а не на страницу. Длинная сессия приходит в кабинет страницами; «Показать продолжение» и хвост, который дописывает «Следить», новых записей не создают. Одна запись — одно открытие сессии.
- Свою сессию смотреть — не событие. Список сессий и просмотр своей сессии — чтение
своего, они не записываются. Чужую сессию открыть может только владелец, поэтому
ide.session_view— всегда действие владельца. - Выгрузка записывается всегда — и своей сессии тоже: файл покидает кабинет.
- Отказ тоже записывается. Участник, который попробовал открыть чужую сессию, оставит в журнале запись с результатом «отказ» и описанием «Просмотр сессии разработки отклонён».
- Важность «заметное» — операция доступ. Это выше «инфо», которым помечены рутинные действия, и ниже «предупреждения»: чужую сессию смотрят по делу, но офицеру безопасности стоит видеть, кто и как часто.
В записи: кто (логин владельца), объект — идентификатор сессии, в деталях — логин разработчика, чья сессия, и проект; как у всех событий — адрес и браузер.
Как найти в журнале
В журнале аудита события просмотра и выгрузки лежат в категории «Сессии разработки» — отдельная кнопка в фильтре категорий. Вход и отзыв устройств — в категории «Сессии и вход», вопросы по сессиям — в «Спросить», знания из Buff Code — в «База знаний». Поиск по логину разработчика находит записи о его сессиях: логин есть в описании и в деталях.
Так запись о просмотре выглядит в выгрузке JSON Lines (значения условные):
{"id":418,"at":"2026-09-24T11:03:17.204915+00:00","org":"buff-demo","project":null,
"actor_kind":"user","actor":"demo-lead","session":"c2a5…","gid":"9821…","ip":"147.45.197.19",
"user_agent":"Mozilla/5.0 …","action":"ide.session_view","operation":"access","severity":"notice",
"target_kind":"dev_session","target":"ses_7f3a…","summary":"Просмотрена сессия разработки alice",
"detail":{"op":"dev_session_feed","login":"alice","project":"shop-web"},"ok":true,"error":null,
"prev_hash":"e5ac…","hash":"81df…"}У выгрузки — "action":"ide.session_export" и описание «Выгружена сессия разработки (alice)».
Что не записывается намеренно
- Запрос кода входа и ожидание подтверждения — консоль спрашивает и ждёт; событием считается решение человека.
- Вызовы моделей — это расход, он записан там, где списывается: в сессии разработчика и биллинге.
- Чтение базы знаний и репозиториев проекта из Buff Code — чтение, как и в кабинете.
- Список своих сессий и просмотр своей сессии — чтение своего.
- Вызовы инструментов подключений — их ведёт журнал вызовов коннектора с именем разработчика.
- Тела запросов и ответов, знания, учётные данные, коды входа, токены и ключ устройства — никогда.
Кому это нужно
Право читать журнал аудита выдаётся отдельно — например, офицеру информационной безопасности. Он увидит, кто разрешал вход на устройства, кто смотрел чужие сессии и что выгружал, — с выгрузкой в CSV или JSON Lines и цепочкой хешей, как описано в Выгрузка журнала.
Выгрузка
Выгрузить сессию разработки: Markdown для чтения и JSON со всеми сообщениями; что входит в файл, пример, что нет, как выгрузка попадает в журнал аудита.
Если что-то не работает
Сообщения Buff Code, кабинета и коннектора при установке, входе, выборе контекста, вызове моделей и инструментов: что они значат и что сделать.