Согласия¶
Версионируемые юридические тексты, которые принимает пользователь при взаимодействии с платформой.
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) — гостю или авторизованному
Где используется¶
- Обратная связь — фиксация согласия при отправке контактной заявки
- Цифровой профиль — хранение истории согласий пользователя
- Аналитика — аудит принятых согласий