Спецификация 04. Деплой, офлайн-синхронизация и безопасность¶
Статус: ревизия №2 по итогам аудита корпуса · 10.10.2026. Числовые факты сопровождаются ссылками; канонические перечисления — в «Модели данных», §0.
Финальный документ серии: как платформа размещается, как точка живёт без интернета и где проходят границы безопасности.
1. Топология деплоя¶
flowchart TB
subgraph Точка["Точка (локальная сеть)"]
LAN["Локальный сервер точки (буфер синхронизации)"]
T1["Касса"]
T2["Кухонный экран"]
T3["Устройства склада"]
T1 --- LAN
T2 --- LAN
T3 --- LAN
end
subgraph Облако["Облако РФ"]
GW["API-шлюз"]
SVC["Сервисы ядра"]
MQ["Очередь событий"]
DB1[("БД: транзакции")]
DB2[("Журнал событий")]
DB3[("Витрины отчётов")]
GW --> SVC
SVC --> MQ
MQ --> DB1
MQ --> DB2
DB2 --> DB3
end
subgraph Партнёры["Партнёрские сервисы"]
OFD["ОФД"]
GOV["Госсистемы"]
BANK["Банк"]
EDO["ЭДО"]
AGG["Агрегаторы"]
end
LAN <-->|HTTPS, пакетная синхронизация| GW
SVC <--> OFD
SVC <--> GOV
SVC <--> BANK
SVC <--> EDO
SVC <--> AGG
2. Мультитенантность и изоляция¶
flowchart LR
subgraph Изоляция["Уровни изоляции"]
A["1. Тенант (УК / франчайзи / независимый)"]
B["2. Договор франшизы: какие точки видит франчайзи"]
C["3. Точка: рабочие места и данные точки"]
D["4. Роль устройства: касса / кухня / бэк-офис"]
end
A --> B --> C --> D
Правила:
- Данные читаются только в рамках разрешенного уровня; агрегаты УК строятся по точкам договора.
- Справочники наследуются сверху вниз (шаблон УК → точка) с локальными переопределениями.
- Журнал доступа к данным гостей — обязателен (152-ФЗ).
3. Офлайн-синхронизация: модель¶
flowchart LR
subgraph Офлайн["Точка без связи"]
J["Локальный журнал событий (упорядоченный)"]
F["ФН кассы (автономен)"]
end
subgraph Онлайн["Восстановление связи"]
S1["1. Отправка пакета событий"]
S2["2. Идемпотентное применение в облаке"]
S3["3. Сверка контрольных сумм журнала"]
S4["4. Получение обновлений справочников"]
end
J --> S1 --> S2 --> S3 --> S4
Контрактные требования:
- Точка обязана торговать без интернета полный норматив офлайн-автономности — 8 часов продаж без облака (продажи, чеки, кухня, складские операции; метрика
../product-blueprint.md, §5); далее — деградация функциональности по приоритетам (продажи и чеки — до последнего, аналитика и интеграции отключаются первыми). - Порядок событий в журнале — источник истины при слиянии; конфликты решаются по типам операций (см. правила в Спецификации 03, раздел 4).
- Фискальные документы не теряются: ФН хранит чеки автономно; передача в ОФД — после связи (мониторинг «чеки не уходят»).
- Алерт платформе: точка офлайн дольше порога → уведомление УК.
4. Безопасность: границы¶
flowchart TB
subgraph Внешнее["Не доверяем"]
NET["Публичный интернет"]
end
subgraph Периметр["Контролируем"]
WAF["Шлюз: авторизация, лимиты, аудит"]
APP["Приложения (без прямых доступов к БД)"]
end
subgraph Данные["Защищаем"]
PII["ПДн гостей (РФ)"]
FIN["Фискальные и финансовые данные"]
SEC["Секреты интеграций"]
end
NET --> WAF --> APP
APP --> PII
APP --> FIN
APP --> SEC
Требования:
- ПДн: первичная запись в РФ; согласия и журналы; выгрузка/удаление по запросу (Разбор 4).
- Платежи: полные данные карт не храним — токены процессинга; СБП через сертифицированный шлюз.
- ЭДО/госсистемы: доступ через сертифицированные шлюзы; секреты — в хранилище секретов, не в коде.
- 2ФА для ролей УК и управляющих; линейный персонал — ПИН/карта с короткими сессиями.
- Резервное копирование: RPO ≤ 15 мин, RTO ≤ 1 ч; локальный буфер точки — дополнительная защита.
5. Наблюдаемость и телеметрия¶
- Метрики платформы: аптайм ≥ 99,9%, латентность создания заказа < 3 с от витрины до тикета кухни.
- Телеметрия точек: онлайн/офлайн, загрузка ККТ, заполненность ФН, «чеки не уходят».
- Бизнес-телеметрия для УК: пульс сети (выручка, скорость кухни, индекс стандарта) — дашборд в реальном времени.
6. Критерии готовности платформы (DoD)¶
- [ ] Офлайн-смена 8 часов без потерь при синхронизации.
- [ ] Чек уходит в ОФД; маркированный товар проходит разрешительный режим.
- [ ] Онлайн-заказ появляется на КДС < 3 секунд.
- [ ] Вебхуки: доставка с подписью, идемпотентность получателя продемонстрирована.
- [ ] Тенант-иерархия клонирует шаблон точки < 1 часа.
- [ ] Запрос удаления ПДн гостя исполняется инструментами поддержки.