Безопасность

Безопасность и хранение данных

Где лежат данные кабинета, кто их видит, что происходит при сбое и куда мы сами не имеем доступа. Ниже — устройство, а не обещания: каждый пункт можно проверить вопросом на встрече.

Кабинет клиента → Отдельная база данных → Ночная шифрованная копия

Отдельная база на каждого клиента

Данные каждого кабинета лежат в собственной базе данных со своей учётной записью доступа, а не в общей таблице с колонкой-разделителем. Это значит, что ошибка в отборе данных не может показать чужую строку: чужих строк в базе просто нет. Разделение проходит на уровне подключения, до того как выполняется любой запрос.

Изоляция на уровне строк

Внутри базы работает второй замок — построчная политика доступа PostgreSQL. Каждое подключение объявляет, от имени какого кабинета оно работает, и база сама отсекает всё остальное. Даже если запрос написан неверно, он не выйдет за границу кабинета: политику проверяет не приложение, а сама СУБД.

Резервные копии каждую ночь

В 03:30 по московскому времени снимаются дампы всех баз: базы каждого кабинета по отдельности, служебная база и учётные записи входа. Файлы шифруются и уезжают в отдельное объектное хранилище с собственной парой ключей — у самого приложения доступа к этому хранилищу нет. Копии хранятся около тринадцати месяцев, старые удаляются тем же ночным прогоном.

Серверы в России

Приложение, базы данных и хранилище файлов размещены на серверах в России. Данные не покидают периметр и не передаются в зарубежные облака для обработки.

Роли и права

Доступ к разделам и действиям задаётся ролями, а видимость данных дополнительно ограничивается юрлицами: сотрудник видит те компании, к которым допущен. Права проверяются на сервере при каждом обращении, а не только скрытием кнопок в интерфейсе — подобранный вручную адрес не откроет чужой раздел.

ИИ-агенты работают в правах человека

Агент подключается по протоколу MCP от имени вошедшего сотрудника и получает ровно те же права: то, чего человек не видит, не увидит и агент. Отдельного ключа с доступом ко всему не существует, а каждое действие агента остаётся в истории кабинета и разбирается так же, как действие человека.

Файлы

Вложения, документы и снимки лежат в объектном хранилище с раздельными папками по кабинетам. Ссылка на файл выдаётся на время и по проверке прав, поэтому адрес, скопированный из браузера, не превращается в постоянный публичный доступ.

Что происходит при сбое

Падение одного сервиса не роняет остальные: разделы работают независимо. При потере данных кабинет восстанавливается из ночной копии — отдельно от других, потому что и копия у него отдельная. Восстановление одного клиента не требует останавливать работу остальных.

Куда мы сами не заходим

Сотрудники разработки не работают в кабинете клиента по своему желанию: доступ к данным нужен для разбора обращения и запрашивается у клиента. Ключи шифрования копий лежат на сервере с ограниченными правами, а не в репозитории и не в переписке.

Покажем Akeda
на вашем рабочем сценарии.

Расскажите, что хотите связать или автоматизировать. Покажем, как этот процесс может работать в Akeda, какие данные потребуются и с чего стоит начать.

  • 01Разберём вашу задачу
  • 02Покажем связанные процессы
  • 03Определим следующий шаг