Безпека та довіра

Безпека, ізоляція даних і 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 і доступи, та відповімо на запитання вашої команди.

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