Персональные данные и хранение¶
Страница для владельца платформы, администратора и тех, кто отвечает за персональные данные. Записи звонков и расшифровки это разговоры клиентов, поэтому здесь собрано в одном месте: что хранится и где, кто это видит, что и при каких условиях может уйти с сервера, и какие решения о сроках хранения платформа оставляет вам.
Платформа распознаёт речь на вашем сервере, звук для этого никуда не отправляется. Тексты могут уйти наружу только в случаях, перечисленных ниже.
Что хранится и где¶
| Данные | Где лежат | Какие персональные данные в них |
|---|---|---|
| Звук звонков | бакет S3 или том Docker audio-data |
голоса и всё сказанное |
| Записи и расшифровки | PostgreSQL | номер телефона клиента, имя менеджера, текст разговора с теми именами, номерами и адресами, которые в нём прозвучали |
| Копия CRM | PostgreSQL | идентификаторы, типы, стадии, даты и суммы; имени и телефона клиента нет; имена сотрудников сохраняются |
| Результаты проверки звонков | PostgreSQL | коды, статусы, номера реплик и короткие тексты, которые написала модель: краткое содержание, главная ошибка, сильная сторона. Цитат разговора в результатах нет |
| Разметка звонков | PostgreSQL | оценка звонка человеком и кто её поставил |
| Учётные записи | PostgreSQL | имя, почта, роль, отдел; пароль хранится только в виде хеша |
| Ключи API | PostgreSQL | название, начало и хеш ключа; сам ключ показывается один раз и не хранится |
| Журнал действий | PostgreSQL, только добавление | кто читал, слушал и выгружал звонки, кто что менял |
Номер клиента попадает в библиотеку звонков, когда платформа загружает запись из Битрикс24 или когда интеграция передаёт phoneNumber. В копию CRM номер клиента не попадает: из него берётся только страна звонка.
Кто это видит¶
- Владелец видит всё, включая звонки без отдела.
- Руководитель отдела видит звонки, расшифровки и звук своего отдела, добавляет менеджеров и открывает им разделы, читает журнал своего отдела.
- Менеджер не видит ничего, пока руководитель не откроет доступ: к своим звонкам или ко всему отделу, и к отдельным отчётам.
- Звонок без отдела (загрузка вручную, менеджер, которого никто не отнёс к отделу) виден только владельцу и ключам API. Звонок чужого отдела отвечает «не найдено», как будто его нет.
- Ключ API видит данные всех отделов: записи, звук, расшифровки и отчёты. Ключ даёт интеграции права владельца на чтение и на повтор, отмену и удаление записей; создавать пользователей, ключи и менять настройки он не может. Выдавайте ключи только проверенным интеграциям и отзывайте ненужные.
Права читаются из базы при каждом запросе: отключение пользователя или права действует сразу. Подробнее: Роли и доступ.
Что пишется в журнал¶
Журнал открывается в «Настройки → Люди → Показать журнал действий». Владелец видит все события, руководитель только события своего отдела. Записи нельзя изменить или удалить: база отклоняет такие запросы.
| В журнале есть | В журнале нет |
|---|---|
| входы в систему | чтение расшифровок, прослушивание и выгрузка через ключ API |
| изменения людей, прав, отделов, состава менеджеров продаж | пароли и секреты |
| чтение расшифровки и прослушивание звонка человеком (одна запись на звонок и человека за 10 минут) | |
| выгрузка расшифровок | |
| изменения настроек, правил проверки, перепроверки, запуск расчётов |
Внимание
Чтение через ключ API в журнал не пишется: ключ считается интеграцией, а не человеком. Если для вас это важно, ведите учёт обращений на стороне интеграции.
Что может покинуть сервер¶
| Куда | Что уходит | При каких условиях | Как остановить |
|---|---|---|---|
| Внешняя языковая модель | Текст разговора с метками времени, правила отдела и словари, длина и направление звонка | Сразу все условия: ANALYSIS_PROVIDER=openai-compatible, ANALYSIS_ALLOW_EXTERNAL_EGRESS=true; в панели включены проверка звонков и проверка отдела, дневной бюджет больше нуля, звонок не старше даты начала проверки отдела (по умолчанию 30 суток) |
Раздел ниже |
| Адрес колбэка интеграции | Вся запись: данные звонка и полный текст | Только если при создании записи указан callbackUrl |
Не указывать callbackUrl |
| Интеграции и пользователи | Записи, звук, расшифровки, выгрузки | Ключ API; выгрузка расшифровок руководителем или владельцем | Отозвать ключ, ограничить права |
| Карточка сделки в Битрикс24 | Комментарий: краткое содержание, этапы, возражения, балл, ссылка на запись | Только при включённой записи итогов и отдельном вебхуке | Выключить «Писать итоги звонков в сделки Битрикса» |
| Портал Битрикс24 | Запросы на чтение | Автоматический режим, загрузка истории | Выключить автоматический режим |
| Hugging Face | ничего не отправляется: только скачивание файлов моделей | первый запуск распознавателя | не требуется |
Что получает языковая модель¶
- Из запроса исключены номер телефона, имя менеджера и клиента, сделка и любые идентификаторы: в запросе таких полей нет.
- В тексте номера (пять и более цифр) и адреса почты заменяются на
[номер]и[почта]до отправки. Имена, прозвучавшие в разговоре, остаются: надёжного правила для них нет. - Текст длиннее примерно 30 000 знаков обрезается в середине.
- Расход считается в токенах и ограничен дневным бюджетом. Бюджет по умолчанию равен нулю, пока владелец его не задаст.
- Запросы к модели идут через клиент, который отказывается подключаться к адресам частной сети, если не включён
ALLOW_PRIVATE_NETWORK_DOWNLOADS. - Пробный прогон правил в редакторе («Попробовать», до пяти недавних звонков) тоже отправляет тексты модели. Он не зависит от переключателей проверки и отдела, но останавливается при нулевом бюджете, паузе модели и паузе очереди.
- Что делает с текстом сам провайдер модели, платформа не контролирует: условия хранения и обучения выясните у него.
По умолчанию способ проверки rules: словари фраз работают на сервере, и тексты звонков никуда не отправляются.
Как остановить отправку текстов¶
Любой из способов останавливает только новые запросы; запрос, который уже в пути, завершается.
| Способ | Где | Как возобновить |
|---|---|---|
| Дневной бюджет, равный нулю | «Настройки → Проверка звонков» → «Дневной бюджет модели» → «Сохранить бюджет» | задать бюджет больше нуля |
| Очередь «Проверка звонков» на паузе | «Настройки → Система → Очередь и ошибки» → «Фоновые очереди» → «Приостановить» | «Возобновить» |
| Переключатель «Проверка звонков» | «Настройки → Проверка звонков» | включить |
| Проверка отдела | «Проверять звонки отдела «…»» в правилах отдела | включить |
| Переменная окружения | ANALYSIS_PROVIDER=rules или none и повторное развёртывание |
вернуть значение и развернуть снова |
Нулевой бюджет и пауза очереди останавливают всё, включая пробные прогоны; переключатели проверки и отдела пробные прогоны не останавливают. Чтобы убедиться, что отправки нет, наблюдайте строку «За последние 24 часа потрачено …» в карточке бюджета: она не должна расти, а в очереди «Проверка звонков» не должно быть заданий в работе.
Автоматический режим тоже пишет в переключатель «Проверка звонков»: его выключение выключает проверку, а включение включает её снова, если способ проверки задан. После экстренной остановки не трогайте автоматический режим или проверьте переключатель потом.
Чего платформа не делает намеренно¶
- Не пишет в Битрикс24. Основное подключение только читает. Комментарии в сделки возможны лишь на боевом сервере, с отдельным вебхуком и по выключенному по умолчанию переключателю. См. Подключение Битрикс24.
- Не удаляет данные по расписанию и пачкой. В платформе нет задания, которое удаляет записи, расшифровки, разметку или звук, и нет массового удаления. Это решение разработчиков: удаление должен выполнять человек и осознанно.
- Не копирует имя и телефон клиента в копию CRM.
- Не показывает адрес вебхука в интерфейсе и сообщениях об ошибках.
- Не проигрывает клиенту уведомление о записи разговора.
Единственное удаление записей звонков, которое есть: одна запись за раз. Владелец нажимает «Удалить» в карточке звонка, интеграция вызывает DELETE /v1/recordings/{id}. Удаляются запись с расшифровкой, результатами проверки и разметкой этого звонка, а также файл звука, если его сохранила сама платформа (загрузка, ссылка, звонок из Битрикс24). Файлы, которые пришли извне (забор из хранилища, from-storage), остаются на месте. В журнале остаются события о звонке, в Битрикс24 остаются уже записанные комментарии.
Сроки хранения решает владелец¶
Ничего не истекает само: платформа не имеет срока хранения. Срок зависит от закона о персональных данных и от того, что сказано клиентам, поэтому его нужно выбрать до того, как писать механизм. Нужно определить:
- Сколько хранить звук. Это самая тяжёлая и самая идентифицирующая часть, а расшифровки и результаты проверки полезны и без неё. Для записи без файла API отвечает, что звука нет в хранилище, и продолжает отдавать расшифровку.
- Сколько хранить расшифровку и нужно ли после этого оставлять её без имён и номеров.
- Распространяется ли тот же срок на разметку и журнал. Журнал только для добавления намеренно, поэтому для него нужен иной механизм, чем для остальных таблиц.
- Кто может потребовать удалить звонки одного клиента и как их искать. Страница «Звонки» фильтрует по номеру (фильтр «Телефон»), а удалять звонки можно только по одному.
- Сообщают ли клиентам, что звонок записывается и анализируется. Платформа уведомления не проигрывает.
Когда сроки выбраны, звук проще всего убирать правилом жизненного цикла бакета у провайдера хранилища, вне платформы. Для базы данных подходит ручная процедура: человек проверяет изменение, заранее считает, сколько записей оно затронет, запускает его и оставляет запись в журнале. Задание, которое срабатывает само, для персональных данных не подходит.
См. также¶
- Подключение Битрикс24: что читается и что хранится в копии CRM.
- API и интеграции: ключи и колбэки.
- Роли и доступ: что видит каждая роль.
- Журнал, ключи и аккаунты: работа с журналом и ключами в интерфейсе.