Сроки хранения данных
Сколько ActionPulse хранит события, записи сессий, агрегаты и служебные журналы, что происходит по истечении срока, кто может его изменить и что будет с данными при смене тарифа.
На этой странице
Срок хранения в ActionPulse — это не одна цифра на всю систему. У событий, записей сессий, агрегатов и служебных журналов сроки разные, и задаются они разными механизмами: тарифом организации, пределом самой таблицы хранилища или категорией записи в журнале. Эта страница собирает все сроки в одном месте, чтобы их можно было перенести в вашу политику хранения без догадок.
Что и сколько хранится
| Данные | Срок | Чем задан |
|---|---|---|
События (включая свойства, url, referrer, UTM, страну, тип устройства) |
от 6 месяцев до 25 месяцев — по тарифу | числовой лимит тарифа; в on-prem — 25 месяцев |
| Записи сессий | от 7 дней до 90 дней — по тарифу | числовой лимит тарифа; в on-prem — 90 дней |
| Журнал нарушений реестра событий | 25 месяцев | предел таблицы хранилища |
| Агрегаты: каталог событий, суточные счётчики, дата первого события | не удаляются | отдельного срока нет |
| Журнал аудита продукта | год, для обязательных категорий — семь лет | категория действия |
| Журнал выполнения задач удаления | остаётся | свидетельство выполненных действий |
| Принятые события в транспортной очереди | не более 48 часов | предел очереди |
| Принятые записи сессий в транспортной очереди | не более 24 часов | предел очереди |
| Резервные копии | по собственному сроку хранения копий | тот, кто их делает |
Точные значения по тарифам:
| Тариф | События | Записи сессий |
|---|---|---|
| Start | 6 месяцев | 7 дней |
| Growth | 25 месяцев | 30 дней |
| Scale | 25 месяцев | 90 дней |
Что попадает в агрегаты
Каталог событий, суточные счётчики и отметка первого события содержат только идентификатор проекта, имя события, дату и количество — без идентификаторов людей, без свойств и без адресов. Поэтому у них нет срока хранения: удалять из них нечего.
Практическое следствие: имя события может остаться в каталоге проекта уже после того, как все события с этим именем вышли за срок хранения. Каталог показывает историю имён, а не наличие данных.
Журнал нарушений реестра
Отдельная таблица, в которую попадают отклонённые и помеченные события реестра.
В ней по построению нет ни actor_id, ни user_id, ни anon_id, ни адреса
страницы, ни свойств события — только имя события, время, режим проверки, коды
нарушений и версии SDK. Срок — 25 месяцев.
Журнал аудита
Записи журнала аудита нельзя изменить или удалить через продукт: таблица принимает только вставку, а метода удаления в API нет. У каждой записи есть отметка срока хранения: год для обычных действий и семь лет для обязательных категорий — аутентификация, безопасность, приватность, доступ по ссылкам общего доступа, SSO, пароли, ключи, сервисные аккаунты и сессии поддержки.
Сырой IP-адрес допустим только в этом журнале и в его выгрузке; в обычных логах приложения вместо адреса пишется его необратимый отпечаток.
Что происходит по истечении срока
Просроченные строки удаляет фоновая задача, которая проходит раз в сутки и обходит все проекты установки.
- Для каждого проекта вычисляется граница: текущее время минус срок хранения тарифа (для записей сессий — минус срок в днях).
- Данные удаляются физически: части хранилища перезаписываются без просроченных строк, отдельной мутацией на каждую затронутую партицию. Это не «скрытие» строк маской — байты действительно перестают существовать.
- Вытесненные версии частей ClickHouse удаляет с диска вскоре после мутации — окно измеряется минутами, а не днями.
- Если в этот момент выполняется удаление данных субъекта, задача хранения уступает очередь мутаций и вернётся к проекту следующим проходом: у запроса на удаление приоритет выше.
Кроме тарифной задачи у таблиц хранилища есть собственный жёсткий предел: 25 месяцев для событий и 90 дней для записей сессий. Он работает как страховка — даже если фоновая задача не проходила, дольше этих сроков данные не живут.
Кто может изменить срок
В облаке
Срок хранения — числовой лимит тарифа. Отдельной настройки и метода API для его изменения не существует: в кабинете, Настройки → Данные, срок показан только для чтения, вместе с названием тарифа, который его задал.
Единственный способ изменить срок — сменить тариф. Индивидуальные сроки хранения не настраиваются; если такой срок нужен по вашей политике, обсуждайте его с поставщиком до внедрения, а не после.
В on-prem
В установке на своих серверах срок один для всех организаций: 25 месяцев для событий и 90 дней для записей сессий. Переменной окружения, которая его меняет, нет, и подписанная лицензия на срок хранения не влияет — она определяет набор возможностей, а не окно данных. В кабинете срок в этом режиме подписан как заданный лицензией.
Что остаётся в руках администратора установки: срок хранения резервных копий, доступ к хранилищу транспортной очереди и порядок повторного выполнения запросов на удаление после восстановления копии. Эти параметры описаны в настройке on-prem.
Смена тарифа
| Что произошло | Что будет с данными |
|---|---|
| Тариф повышен | окно расширяется сразу; данные, удалённые ранее, не восстанавливаются |
| Тариф понижен | при следующем суточном проходе всё, что старше нового окна, удаляется безвозвратно |
| Подписка отменена | доступ сохраняется до конца оплаченного периода |
| Оплаченный период закончился | остаётся защитное окно в 3 месяца: события старше трёх месяцев удаляются, все записи сессий удаляются целиком |
| Пробный период идёт | действуют сроки тарифа Growth — 25 месяцев для событий и 30 дней для записей |
| Пробный период закончился без оплаты | кабинет переходит в режим чтения, действует то же защитное окно в 3 месяца, записи сессий удаляются |
| Прошло 30 дней после конца пробного периода | все данные обычных проектов организации удаляются вместе с самими проектами |
Три месяца для организации без действующего тарифа — это защитное окно, а не обещанный срок хранения: оно существует, чтобы возврат к оплате не начинался с пустого проекта. Записи сессий в это окно не входят: без действующего тарифа права на записи нет, и они удаляются целиком.
После 30 дней с конца пробного периода удаляются данные обычных проектов и сами проекты; организация, её пользователи и платёжные документы остаются, чтобы можно было вернуться и создать проекты заново. Демонстрационный проект не затрагивается.
Закрытие организации
Самостоятельного удаления организации в кабинете нет: в API организации есть чтение и изменение настроек, но метода удаления нет. Что можно сделать самому:
- Удалить проект. Удаление проекта стирает все его данные в хранилище
аналитики — события, записи сессий, служебные таблицы и агрегаты. Действие
необратимо, доступно роли
adminи выше. - Удалить данные конкретных людей — удаление данных субъекта, работает независимо от состояния подписки.
- Отменить подписку. Доступ сохраняется до конца оплаченного периода, после чего организация становится неактивной и включается защитное окно в три месяца.
Полное закрытие организации с удалением учётных записей выполняется по запросу в поддержку. Обязательные журналы — аудит и журнал выполнения задач удаления — переживают удаление проектов по построению: это доказательства выполненных действий, а не аналитические данные.
Резервные копии
Резервные копии задним числом не переписываются. Из этого следует правило, которое стоит внести в вашу процедуру заранее:
В on-prem срок хранения копий задаёт администратор установки. В облаке порядок и срок хранения копий уточняйте у поставщика — в продукте они не настраиваются и не отображаются.
Транспортная очередь
Между приёмом события и его записью в хранилище аналитики лежит очередь. Она хранит уже принятые сообщения ограниченное время: не более 48 часов для событий и не более 24 часов для записей сессий. Это отдельный технический слой: он не участвует в отчётах, но его содержимое — те же данные, поэтому в описании обработки его стоит учитывать, а доступ к его хранилищу — ограничивать.
Практическое следствие для удаления: сообщение, доставленное из очереди уже после завершения задачи удаления, создаст данные заново. Поэтому запрос на удаление имеет смысл повторять после того, как очередь опустела.
Что проверить
- Откройте Настройки → Данные и убедитесь, что показанный срок совпадает с тем, что записано в вашей политике хранения.
- Сверьте срок для записей сессий отдельно: он короче срока событий на любом тарифе и меняется при смене тарифа сильнее всего.
- Если запись сессий вам не нужна — выключите её в Настройки → Сбор и приватность. Не собранные данные не нужно ни хранить, ни удалять.
- Перед понижением тарифа выгрузите историю, которая нужна дольше нового окна.
- Внесите в процедуру восстановления из копии обязательный шаг: повторить запросы на удаление за период копии.
- Если политика требует срока, которого нет ни на одном тарифе, — решайте это до внедрения: в продукте произвольный срок не настраивается.