Перейти к содержанию

Согласия

Версионируемые юридические тексты, которые принимает пользователь при взаимодействии с платформой.


ConsentType (Тип согласия)

Тип согласия — например, «Согласие на обработку ПДн», «Договор-оферта». Каждый тип может иметь множество версий.

Атрибуты

Поле Тип Описание
id UUID Уникальный идентификатор типа
code string Код типа (например, personal_data, contact_request, offer_agreement)
title string Название типа (например, «Согласие на обработку персональных данных»)
description text, nullable Описание назначения типа
created_at timestamp Дата создания
updated_at timestamp Дата обновления

Связи

  • ConsentType → ConsentVersion: тип имеет множество версий

Где используется

  • CMS — создание типов согласий
  • Обратная связь — выбор типа согласия при настройке анкеты

ConsentVersion (Версия согласия)

Конкретная версия текста согласия. Черновики не имеют номера версии — он назначается только при публикации. Опубликованную версию изменять нельзя.

Атрибуты

Поле Тип Описание
id UUID Уникальный идентификатор версии
type_id UUID ID типа согласия
version string, nullable Номер версии (например, 0.1, 0.2) — заполняется при публикации
text text Полный текст согласия
status enum Статус: draft (черновик), published (опубликована)
effective_from timestamp, nullable Дата вступления в силу (заполняется при публикации)
published_at timestamp, nullable Дата публикации
created_at timestamp Дата создания
updated_at timestamp Дата обновления

Правила

  • Черновик (draft) — версия без номера, можно редактировать
  • Публикация — присваивается номер версии (автоинкремент в рамках типа: 0.1, 0.2, 0.3...), устанавливается effective_from и published_at
  • Опубликованную версию (published) редактировать нельзя, можно только создать новую
  • Активная версия — последняя опубликованная версия типа

Связи

  • ConsentVersion → ConsentType: версия принадлежит одному типу (type_id)
  • ConsentVersion → ConsentAcceptance: версия может быть принята пользователем множество раз

Где используется

  • CMS — создание и редактирование версий согласий
  • Обратная связь — показ активной версии при оставлении контактной заявки
  • Личный кабинет — управление согласиями пользователя

ConsentAcceptance (Факт принятия согласия)

Запись о том, что конкретный пользователь принял конкретную версию согласия в определённый момент времени.

Атрибуты

Поле Тип Описание
id UUID Уникальный идентификатор записи
version_id UUID ID версии согласия
user_id UUID ID пользователя (гостя или авторизованного) — всегда заполнен
accepted_at timestamp Дата и время принятия
ip_address string, nullable IP-адрес на момент принятия

Связи

  • ConsentAcceptance → ConsentVersion: запись относится к одной версии согласия (version_id)
  • ConsentAcceptance → User: запись привязана к пользователю (user_id) — гостю или авторизованному

Где используется

  • Обратная связь — фиксация согласия при отправке контактной заявки
  • Цифровой профиль — хранение истории согласий пользователя
  • Аналитика — аудит принятых согласий