К основному содержимому
Разделы сайта

Безопасность и доступ

Данные вашей компании — в отдельной базе

Не общая таблица с колонкой «чья запись», а собственная база на каждую организацию. Чужие коды в неё не попадают, а ваши не попадают к соседу — даже если в запросе будет ошибка.

Что сделано

Девять свойств, названных так, чтобы их можно было проверить — своей службой безопасности или вопросом нам.

  • Отдельная база на каждую организацию

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

  • Пароли — scrypt, а не хэш общего назначения

    Хранится scrypt с параметрами N=16384, r=8, p=1 и 64-байтным ключом; сравнение постоянного времени. Пароль в открытом виде не хранится и не логируется нигде.

  • Сессия — cookie httpOnly

    Флаги httpOnly и SameSite=Lax, признак secure следует настоящей схеме запроса, срок 30 дней. Ограничение частоты попыток входа — на адрес и на логин.

  • Код маркировки не попадает в журнал веб-сервера

    Поиск кода — POST, а не GET, именно поэтому. Адресная строка не несёт ни кода, ни серийного номера.

  • Журнал действий, который нельзя обойти

    Ни одно изменение не проходит мимо журнала: строка в нём появляется вместе с самой операцией. Журнал виден всем ролям, включая Наблюдателя, и выгружается в CSV.

  • Доступ поддержки — только чтение и всегда в журнале

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

  • Резервная копия — одной кнопкой, в любой момент

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

  • Второй фактор — по желанию каждого сотрудника

    Код из приложения-аутентификатора (TOTP, RFC 6238) поверх пароля и десять одноразовых резервных кодов на случай потерянного телефона. Секрет хранится зашифрованным — в резервной копии базы он нечитаем. Включает и выключает второй фактор сам сотрудник: потребовать его со всей организации нельзя.

  • Данные не удаляются никогда

    Неоплата переводит организацию в режим «только чтение»: коды, партии, выгрузки и журнал остаются на месте, их видно и можно скачать. Ни один код не прячется и не удаляется ни при каком состоянии подписки.

Четыре роли, выстроенные по возрастанию

Не матрица галочек, а четыре ступени: выше ступень — строго больше прав. «Смотреть коды» и «выгружать коды файлом» — разные права, поэтому наблюдатель не может унести вашу базу.

Роли внутри организации и что они дают
РольЧто может
ВладелецВсё, что может администратор, плюс тариф, оплата и передача организации
АдминистраторУправляет пользователями, токенами и базой, откатывает партии
ОператорЗагрузка, выгрузка, поиск и списание кодов
НаблюдательТолько просмотр: остатки, коды, партии, выгрузки и журнал. Журнал содержит действия всех сотрудников. Выгрузка файлов недоступна

Как поддержка смотрит ваши данные

Единственный путь от учётной записи вендора к вашему складу — режим наблюдения. У него три свойства, и они не настройка, а устройство.

  1. Запись в журнал делается до чтенияСтрока о том, что сотрудник платформы открыл вашу базу, появляется раньше, чем он увидит первый код, — и остаётся, даже если запрос прервётся.
  2. Соединение открыто только на чтениеОтказ на любую запись приходит от самой базы, а не от галочки в интерфейсе: изменить ваши данные в этом режиме нельзя.
  3. Прав на запись нет вообщеНе «отключены на время», а не предусмотрены: режима, в котором поддержка правит данные организации, в продукте нет.

Причина обращения обязательна

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

Чего нет

Если что-то из этого требуется вашей службе безопасности, лучше узнать сейчас.

  • Нет единого входа (SSO): вход через Яндекс ID и VK ID есть, но привязать организацию к корпоративному каталогу нельзя
  • Нет внешнего аудита безопасности и сертификации: ни ISO 27001, ни аттестации по 152-ФЗ
  • Нет шифрования базы на диске: файл организации защищён правами файловой системы и доступом к серверу
  • Нет резервного копирования по расписанию: копия снимается кнопкой или скриптом на стороне оператора
  • Нет журнала доступа на уровне записей: журнал фиксирует действия, а не факты просмотра

Отдельно про хранение: файлы организаций лежат на оборудовании вендора в России — не в облаке и не в дата-центре стороннего провайдера, — и доступ к ним имеет тот же человек, который выпускает обновления. Публичный вход арендован у Timeweb в Москве: через него проходит трафик и на нём завершается TLS, поэтому запрос виден его оборудованию в момент обращения. Обе площадки названы в политике обработки данных.