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

Безопасность, изоляция данных и audit log — по умолчанию

Picard строился с разделением workspaces, зашифрованным хранением ключей интеграций и полным audit log всех изменений, чтобы вы могли уверенно работать с дилерами, командой и чувствительными товарными данными.

Обновлено:

Изоляция

Изоляция workspace

Каждый workspace — отдельный tenant. Ключевые таблицы товаров, листингов, импортов, экспортов и маппингов изолированы по workspace_id.

  • Запросы фронтенда идут с явным workspace-контекстом
  • Попытки кросс-workspace доступа логируются как отдельное audit-событие
  • Один аккаунт может быть в нескольких workspace — данные не смешиваются

Доступ

Аутентификация и роли

Вход через Google: бэкенд проводит OAuth authorization-code flow с PKCE и выдаёт короткоживущий access-токен и отдельную HttpOnly refresh-cookie.

  • Workspace-роли: owner и member
  • Дилеры — отдельная invite-only роль, не члены workspace
  • Платформенный админ — отдельный флаг, не зависит от membership

Секреты

Зашифрованные ключи интеграций

Ключи интеграций уровня workspace хранятся в зашифрованном виде с отдельным master-key. API никогда не возвращает сырой ключ — только признак наличия, маскированный суффикс и дату обновления.

Текущий rollout encrypted secret storage охватывает order processor; остальные интеграции переносятся на тот же паттерн поэтапно.

Аудит

Workspace audit log

Поддерживается

Audit покрывает ключевые изменения: настройки, участники, источники данных, маппинги, товары и листинги, атрибуты, импорт/экспорт, медиа и заметки. Запись идёт в той же транзакции, что и бизнес-изменение.

  • Чувствительные ключи маскируются в payload централизованно
  • Retention: 18 месяцев
  • Owner видит все события workspace, member — только свои

Прозрачность

История изменений и совместные заметки

Изменения товаров и листингов фиксируются поле-за-полем, а менеджеры могут оставлять pinned/resolved заметки прямо на товаре. Activity timeline в редакторе варианта объединяет историю изменений и заметки.

Целостность данных

Валидация идентификаторов

EAN, GTIN, UKTZED и код производителя валидируются общей политикой между бэкендом и фронтендом (GS1-контроль, точная длина, только цифры где нужно). Бэкенд — источник правды и отклоняет невалидные значения.

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

B2B

Партнёрский доступ только по приглашению

Партнёрский портал не имеет self-signup. Доступ дилера контролируется allowlist на уровне инстанса канала.

  • Один email = один активный инстанс глобально
  • Reassign / revoke выполняет supplier, не login flow
  • Storefront fail-closed: неактивный или неопубликованный инстанс недоступен

Операционная надёжность

Операционная целостность

Scheduled sync выполняется отдельным worker-контейнером, а не внутри веб-процесса. Import/export jobs имеют явные статусы, историю запусков и отчёты валидации.

Что мы пока не заявляем

Мы сознательно не пишем то, чего ещё нет в продукте:

  • SOC 2 / ISO 27001 — на данный момент не сертифицированы
  • 2FA для обычных пользователей — пока только через Google
  • Сертификаты data residency — отдельной страницы о регионе данных пока нет
  • Гранулярный RBAC — текущая модель owner/member, без кастомных разрешений
Как долго Picard хранит историю изменений?

Audit log хранится 18 месяцев. Он покрывает ключевые изменения в workspace и пишется в той же транзакции, что и само изменение.

Как Picard хранит мои ключи от маркетплейсов?

Ключи уровня workspace шифруются отдельным master-key. API возвращает только признак наличия, маскированный суффикс и дату обновления — не сам ключ.

Есть требования к безопасности?

Покажем на демо, как устроены изоляция данных, audit log и доступы, и ответим на вопросы вашей команды.

Запросить демо + экспресс-аудит