Журнал действий — это полная история изменений внутри вашей организации. Каждое значимое действие (создание, изменение, удаление, перемещение, изменение настроек, billing-операция, изменение прав) фиксируется отдельной записью с автором, временем и контекстом.
Зачем это нужно:
- Расследование — «кто удалил эту статью?», «кто менял чью-то роль на прошлой неделе?»
- Compliance — SOC 2, ISO 27001, GDPR требуют audit trail на изменения данных и согласий
- Откат изменений — понять, что было до изменения, и принять решение
- Контроль активности команды — кто что делает, особенно в Enterprise-организациях с большой командой
#Где открыть
Левое меню → Журнал действий.
Доступно ролям Owner и Admin организации и только на тарифах Business и Enterprise (флаг плана allows_audit_logs). На Free, Starter и Pro раздел скрыт.
Editor, User и Guest журнал не видят.
#Как выглядит запись
Каждая строка журнала — это карточка с автором, действием, ресурсом, временем и кратким описанием:
Поля записи:
| Поле | Описание |
|---|---|
| Автор | имя + email пользователя, который выполнил действие |
Действие (action) |
что произошло: created, updated, deleted, restored, moved, published и т.д. |
Тип ресурса (resource_type) |
объект, над которым выполнено действие: article, collection, user, consent, billing, tenant |
| Заголовок ресурса | название статьи, коллекции, имя пользователя — то, что вы увидите в обычном UI |
Краткое описание (summary) |
человекочитаемое объяснение действия |
Детали (details) |
JSON с дополнительными данными: что именно поменялось, старое/новое значение, IP-адрес, идемпотентный ключ — раскрывается по клику «Подробнее» |
| Время | timestamp с точностью до секунды |
#Что попадает в журнал
Журнал фиксирует ключевые операции над контентом, участниками, согласиями и биллингом. Ниже — реальные типы ресурсов и действия.
#Статьи (resource_type=article)
| Действие | Когда срабатывает |
|---|---|
created |
создание новой статьи |
updated |
сохранение изменений (в том числе смена видимости — в details видно, какие поля поменялись) |
trashed |
отправка статьи в корзину |
restored |
восстановление из корзины |
permanently_deleted |
удаление навсегда из корзины или по истечении retention |
#Коллекции и пространства (resource_type=collection)
Пространства хранятся как коллекции верхнего уровня, поэтому логируются под тем же типом ресурса.
| Действие | Когда |
|---|---|
created |
создание коллекции или пространства |
moved |
перенос коллекции (смена родителя) |
collection_bulk_move_articles |
массовый перенос статей между коллекциями |
trashed |
отправка в корзину |
restored |
восстановление из корзины |
permanently_deleted |
удаление навсегда |
#Команда (resource_type=user)
| Действие | Когда |
|---|---|
role_changed |
смена роли участника в организации |
deleted |
удаление участника из организации |
#Согласия GDPR (resource_type=consent)
| Действие | Когда |
|---|---|
updated |
пользователь изменил cookie-consent (scope: all / essential) |
Эти записи появляются автоматически при изменении cookie-баннера. См. статью про регистрацию и онбординг для контекста GDPR consents.
#Биллинг и организация
| Действие | Ресурс | Когда |
|---|---|---|
update_payment_method |
billing |
обновление платёжного метода |
oned3_upgrade_rollback |
billing |
откат неудавшегося апгрейда с возвратом proration |
trash_emptied |
tenant |
полная очистка корзины организации |
#Фильтры
В верхней части страницы — панель фильтров для быстрого поиска нужного события:
- Поиск — по тексту в
summaryилиresource_title(нечувствителен к регистру) - Действие — dropdown со всеми типами действий, которые встречаются в журнале организации
- Ресурс — dropdown с типами, которые реально встречаются в журнале (
article/collection/user/consent/billing/tenant) - Пользователь — фильтр по автору действия
- Период — диапазон дат «от» и «до»
- Pagination — до 200 записей на страницу
Фильтры можно комбинировать: например, «все deleted действия пользователя Анна за прошлую неделю».
#Подробности записи
Клик по карточке открывает развёрнутый JSON в поле «Подробности» — это содержимое колонки details в БД. Что обычно там можно увидеть:
- При
updated— список изменённых полей (fields) - При
role_changed— старая и новая роль - При
consent updated— scope (all/essential) - При billing-операциях — краткое
summaryо том, что произошло
Совет. Если нужно понять, что именно изменилось в статье — посмотрите в
detailsполеfields_changed. Полное содержимое статьи в журнале не хранится (это было бы дорого по месту) — для версионности используйте Историю версий статьи в редакторе.
#Срок хранения и compliance
- Записи журнала нельзя удалить через UI — это сознательное ограничение (иначе audit trail теряет смысл)
- Очень старые записи периодически удаляются автоматической задачей по политике retention аудита — журнал не хранится бесконечно
- При удалении самой организации журнал удаляется вместе с ней (через ON DELETE CASCADE)
#Что не попадает в журнал
Чтобы не раздувать логи и не превращать журнал в шум, не логируются:
- Поисковые запросы пользователей — для аналитики используйте раздел Аналитика
- Просмотры статей — это тоже Аналитика
- AI-операции внутри редактора (
AI Improve,AI Rewrite) — это рабочий процесс автора, не аудируемое изменение - Технические события (background jobs, sync runs) — они в системных логах backend, для админов платформы
- Действия системных пользователей (например,
platform-help-systemпри seed документации) — отфильтрованы
#Связанные разделы
- Корзина — события
trashed/restored/permanently_deletedдля статей, коллекций и пространств логируются именно сюда - Управление командой — смена роли и удаление участника записываются в журнал с
resource_type=user - Аналитика — для метрик использования (запросы, просмотры) — это отдельный инструмент, не журнал