Страница для тех, кто отвечает за данные и ИТ. Коротко и по делу: где живут финансовые данные, кто и как их видит, что зашифровано, что записано. Всё перечисленное уже работает, а не «в планах».
CPM ставится внутри вашей сети, рядом с учётной системой (ClickHouse / 1С / PostgreSQL). Коннектор берёт данные оттуда и туда же возвращает утверждённый план. Ничего не уезжает в чужое облако — ни план, ни факт, ни справочники. Расчёт идёт в браузере сотрудника, сервер хранит модель и стережёт доступ.
Право видеть и править проверяет сервер, у самих данных — не тем, что интерфейс чего-то не показал. Участник получает только свою ветку дерева ответственности: чужие числа маскируются на сервере ещё до отправки в браузер. Утверждать чужую ветку может лишь владелец узла выше. Обойти это через API нельзя — каждая правка проверяется по области.
Пароли к подключённым источникам хранятся зашифрованными (AES-256-GCM, ключ — из окружения, не в коде и не в репозитории). Наружу пароль не отдаётся никогда: в списке источников виден только факт «пароль задан». Смена ключа делает старые пароли нечитаемыми — их вводят заново, это осознанное поведение.
Все изменения идут в append-only журнал аудита: кто, что и когда — ввод, отправка, утверждение, возврат, выгрузка плана, правка источников. Плюс журнал изменений в самой модели: любое действие видно и откатывается. Это и история, и аудит.
Снаружи — только HTTPS (сертификат Let's Encrypt, автопродление). Сессия — в HttpOnly-cookie, пароли сверяются сравнением за постоянное время. Для скриптов и интеграций доступен и заголовок авторизации.