Безпека

Побудовано для бізнесу

Розмови з клієнтами — це персональні дані, а часто ще й комерційна таємниця. Нижче не декларації, а механізми: кожен із них можна перевірити в схемі бази або в коді.

Безпека

Побудовано для бізнесу

Не декларації, а механізми, які можна перевірити в коді й у схемі бази.

Ізоляція даних

Кожен клієнт бачить лише своє. Це властивість бази (RLS на 36 таблицях), а не дисципліни розробника.

Шифрування ключів

Ключі провайдерів лежать зашифрованими AES-256-GCM; майстер-ключ у базі не зберігається ніколи.

Ролі та права

Пʼять ролей із різними межами. Публічний API — з гранульованими правами на рівні дії.

Журнал аудиту

Критичні дії лишають запис: хто, що, коли й на що змінив.

Строки зберігання

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

Запити субʼєктів даних

Доступ, видалення, виправлення й перенесення — окремий облік у системі.

Ізоляція, яку не можна забути ввімкнути

Найпоширеніший спосіб показати одному клієнту дані іншого — забути умову в запиті. Тому розділення живе не в коді застосунку, а в базі.

  • Row-Level Security увімкнено в режимі FORCE на 36 таблицях — вона діє навіть на власника таблиці
  • Кожна транзакція виставляє ідентифікатор клієнта; без нього запит не поверне нічого, а не «все»
  • Ролі застосунку не мають прав суперкористувача й не обходять RLS
  • Усі вʼю створені з security_invoker — інакше вони виконувалися б із правами власника й обходили б політику
  • Правило перевіряється окремим тестом на живій базі, а не тільки оглядом коду

Ключі й секрети

Ключі провайдерів дають доступ до платного рахунку й до розмов клієнтів. Вони не лежать у відкритому вигляді ніде.

  • Шифрування AES-256-GCM у сховищі секретів
  • Майстер-ключ у базі не зберігається ніколи — його втрата означає втрату секретів, і це свідомий компроміс
  • Голосовий процес отримує лише ті ключі, які є в білому списку, і не має доступу до решти
  • Значення ключа не потрапляє в журнал аудиту — ні старе, ні нове
  • Ротація паролів бази виконується скриптом, а не вручну

Розмови й строки зберігання

Запис розмови — найчутливіше, що є в системі. Тому він вимкнений за замовчуванням і вмикається свідомо.

  • Агент зобовʼязаний сказати вголос, що саме зберігається — текст чи аудіо
  • Якщо клієнт проти — агент не вмовляє і передає розмову людині
  • Записи лягають у ваше S3-сховище, а не в наше
  • Строк зберігання налаштовується; після нього файли видаляються за розкладом автоматично
  • Рядок про запис лишається як доказ видалення — зникає файл, а не слід

Права субʼєктів даних

GDPR — це не сторінка з політикою, а робочий процес: запити треба приймати, виконувати й уміти показати, що виконали.

  • Окремий облік запитів: доступ, видалення, виправлення, перенесення
  • Журнал аудиту фіксує, хто й коли виконав запит
  • Дані клієнта повʼязані з карткою — видалення не лишає «хвостів» у розмовах
  • Ролі з різними межами: перегляд, оператор, менеджер, супервайзер, адміністратор
  • Публічний API з правами на рівні дії — інтеграція отримує рівно те, що їй потрібно

Надішліть нам свій перелік вимог

Пройдемося по пунктах і скажемо прямо, що вже є, а що доведеться робити.

Покажіть нам ваш сценарій дзвінка

Ми покажемо, як його проходить CallBridge: що агент запитає, які факти збере і в який момент передасть розмову вашому менеджеру.