- Описание функциональных характеристик
- Руководство по установке
- Руководство пользователя и администратора
- Процессы жизненного цикла и сведения о персонале
- Хранение кода, сторонние компоненты, средства активации, совместимость
- Сведения о стоимости и условиях предоставления
Программа «Подход». Описание функциональных характеристик
Версия 1.0.0 · Правообладатель ООО «Мейн Сайфер» (ОГРН 1265300003100, ИНН 5300025284)
1. Назначение
«Подход»: система оперативного управления силами охраны и реагирования. Диспетчер видит на карте положение и состояние групп в реальном времени, ведёт инциденты, назначает задачи, объявляет тревогу, переписывается с группами. Все действия записываются в журнал с контролем целостности. Система работает в закрытом контуре заказчика без обращения к внешним сервисам.
2. Состав
| Часть | Назначение |
|---|
| Сервер (Python) | обстановка, команды, хранилище, журнал, ядро связи «Эфир», раздача карты и интерфейса |
| Рабочее место диспетчера (браузер) | карта, силы, инциденты, задачи, лента событий, чат, тревога, слои, администрирование |
| Полевое приложение «Эфир» (браузер телефона, устанавливается на экран) | связь группы с диспетчером |
| Подложка «Картограф» | собственная векторная карта, работает без интернета |
| Командная строка администратора | пользователи, журнал, резервные копии, восстановление |
3. Функции
3.1. Обстановка. Карта с группами (позывной, вид, статус, скорость, курс, заряд, связь, трек), инцидентами, геозонами (периметр, сектора, опасные и запретные зоны). Контроль входа в зоны, схода с маршрута, потери связи, низкого заряда. Лента событий с подтверждением, звуковые и визуальные оповещения.
3.2. Инциденты и задачи. Отметка инцидента на карте (прорыв периметра, возгорание, подозрительный объект, точка сбора), статусы «активен → отрабатывается → закрыт». Назначение задач группам (выдвинуться, досмотр, патрулирование, сопровождение, возврат) со статусами «назначена → принята → в пути → на месте → выполнена».
3.3. Тревога. Объявление и отбой тревоги с циркуляром всем группам; подтверждение получения циркуляра каждой группой.
3.4. Связь с группами («Эфир»). Собственный протокол efir/1: привязка телефона по одноразовому коду или QR-коду; передача координат и заряда; SOS удержанием кнопки; задачи и циркуляры с кнопкой «Принял»; чат. Гарантированная доставка: неотправленное хранится на устройстве и на сервере до подтверждения, повторы не дублируются, счётчик доставки ведётся по подтверждениям.
3.5. Карта и данные заказчика. Собственная подложка «Картограф» (суша, вода, границы, населённые пункты, дороги; подписи на русском). Загрузка данных заказчика: GeoJSON, KML/KMZ, GPX, CSV/TSV/XLSX/ODS, Shapefile, GeoPackage, MapInfo MIF/MID, DXF, OSM XML, WKT, фото с координатами, растры с привязкой, ZIP. Системы координат: WGS-84, СК-42, СК-95, ГСК-2011, ПЗ-90.11, UTM, МСК по параметрам из файла (точность пересчёта: доли миллиметра). Слои: видимость, цвет, прозрачность, порядок, выгрузка в GeoJSON, KML, GPX, CSV, Shapefile.
3.6. Разметка объекта. Рисование меток (около 80 значков: КПП, камера, пост, гидрант, огнетушитель, аптечка и др.), линий и контуров с названием, описанием и цветом.
3.7. Пользователи и безопасность. Роли «администратор», «диспетчер», «наблюдатель». Вход по паролю (scrypt), временные пароли, блокировка после неверных попыток, сеансы с отзывом. Защита от запросов с чужих сайтов. Журнал действий только на добавление с цепочкой хешей SHA-256, проверкой целостности и выгрузкой.
3.8. Сохранность данных. Боевая обстановка сохраняется между перезапусками; демонстрационный режим не смешивается с боевыми данными. Резервные копии по расписанию с автоматической проверкой, восстановление. Сроки хранения записей.
3.9. Демонстрационный режим. Симуляция обстановки на вымышленном объекте для показа и обучения.
4. Требования к среде
Сервер: Astra Linux SE 1.8, РЕД ОС 8, macOS 12+, Windows 10/11, Windows Server 2019+; Python 3.10+; 2 ядра, 2 ГБ ОЗУ, 2 ГБ диска (+ данные). Рабочие места: Яндекс Браузер, Chromium-совместимые, Firefox последних версий. Полевые устройства: смартфон с браузером, HTTPS-доступ к серверу.
Программа «Подход». Руководство по установке
Дистрибутив: podkhod-1.0.0.zip или podkhod-1.0.0.tar.gz (контрольные суммы: podkhod-1.0.0.sha256). Внутри: сервер, интерфейс, подложка «Картограф», установщики, документация, тексты лицензий библиотек, при необходимости: пакеты Python для установки без интернета (wheels/).
Astra Linux SE 1.8 / РЕД ОС 8 (служба systemd)
tar xzf podkhod-1.0.0.tar.gz && cd podkhod-1.0.0
sudo ./install/linux/install.sh
Требуется python3 3.10+ (Astra: apt install python3 python3-venv; РЕД ОС: dnf install python3). Программа устанавливается в /opt/podkhod, данные: /var/lib/podkhod, настройки: /etc/podkhod/podkhod.env, служба: podkhod (systemctl status podkhod). Удаление: sudo ./install/linux/install.sh --remove (данные сохраняются).
macOS 12+
tar xzf podkhod-1.0.0.tar.gz && cd podkhod-1.0.0 && ./install/macos/install.sh
Нужен Python 3.10+ (python.org). Установка для текущего пользователя с автозапуском, адрес: http://127.0.0.1:8000.
Windows 10/11, Windows Server 2019+
Распакуйте podkhod-1.0.0.zip, в PowerShell от имени администратора:
powershell -ExecutionPolicy Bypass -File install\windows\install.ps1
Нужен Python 3.10+ (python.org, «Add to PATH»). Программа: C:\Program Files\Podkhod, данные и настройки: C:\ProgramData\Podkhod, автозапуск: задача планировщика «Podkhod».
Первый запуск
- Укажите в файле настроек адрес, порт и сертификат TLS (
PODKHOD_TLS_CERT, PODKHOD_TLS_KEY): HTTPS обязателен для полевых устройств. Перезапустите службу. - Откройте адрес сервера в браузере на этом компьютере и создайте администратора. С другого компьютера потребуется код из файла
setup-code.txt в каталоге данных. - Администратор заводит пользователей («Администрирование»), диспетчер: полевые устройства («Оперативные силы» → «Устройства»).
Проверка
- Страница входа открывается, после входа видна карта.
GET /api/health отвечает {"status":"ok"}.- Демо-проверка (на тестовом стенде,
PODKHOD_SOURCE=sim): python scripts/demo_check.py --url http://адрес:порт.
Программа «Подход». Руководство пользователя и администратора
Диспетчер
- Вход: логин и пароль; временный пароль при первом входе меняется.
- Карта: колесо мыши: масштаб, перетаскивание: сдвиг. Значок группы: карточка: связь, задача, вызов на связь.
- Инцидент: панель карты «Обстановка» → тип → щелчок по карте → название и описание → «Зафиксировать». Статусы и «Направить силы»: в карточке инцидента или в списке «Инциденты».
- Задача: карточка группы → «Назначить задачу» → тип и цель. Ход выполнения видно по статусам.
- Тревога: «Объявить тревогу» → причина. Подтверждения групп приходят в ленту. «Отбой тревоги»: там же.
- Лента событий: новые события подтверждаются кнопкой «Принято»; SOS сопровождается звуком.
- Чат: адресат (все или группа), шаблоны, отправка Enter.
- Данные: «Загрузить» или перетаскивание файлов на карту; мастер подберёт систему координат. «Мои слои»: оформление, порядок, выгрузка, удаление.
- Разметка: «Метка» (выбор значка), «Линия», «Контур»: щелчки по карте, Enter: готово, Esc: отмена.
- Полевые устройства: «Устройства» → позывной → «Добавить» → QR-код и код показать группе.
Наблюдатель
Видит всю обстановку; кнопки команд недоступны.
Группа (телефон, «Эфир»)
Привязка по QR или коду; разрешить геопозицию; «Добавить на главный экран». SOS: удерживать 2 с (повторное удержание: отмена). Задача: «Принял» → «Выдвинулся» → «На месте» → «Выполнено» или «Не могу». Циркуляр: «Принял». Без связи всё копится и отправится при её появлении («не отправлено: N»).
Администратор
- «Администрирование» → Пользователи: создание, роли, сброс пароля, разблокировка, отключение.
- Журнал действий: фильтры, «Проверить целостность», выгрузка CSV/JSON.
- Резервные копии: «Создать копию сейчас», скачивание; автоматически: по расписанию.
- Состояние системы: версия, источник данных, база, диск, копии, журнал.
- Командная строка (на сервере, в каталоге
backend): python -m app.admin users | create-user | reset-password | unlock | verify-audit | backup | backups | restore ФАЙЛ (восстановление: при остановленной службе).
Неисправности
| Признак | Действие |
|---|
| «Нет связи с сервером» | проверить службу и сеть, адрес сервера |
| Телефон: «Геопозиция работает только по защищённому адресу» | настроить HTTPS (сертификат в настройках) |
| Учётная запись заблокирована | подождать 15 мин или «Разблокировать» у администратора |
| Забыт пароль администратора | python -m app.admin reset-password ЛОГИН на сервере |
| Нарушена целостность журнала | сохранить копию базы, обратиться в поддержку; восстановить из проверенной копии |
Программа «Подход». Процессы жизненного цикла и сведения о персонале
ООО «Мейн Сайфер» (ОГРН 1265300003100). Все работы ведутся в Российской Федерации гражданами РФ; иностранные лица не привлекаются.
1. Техническая поддержка и устранение неисправностей
Каналы: info@maincipher.com, +7 903 589-39-56, рабочие дни 9:от 00 до 18:00 МСК.
- Регистрация обращения с номером; подтверждение: в течение 1 рабочего дня.
- Классификация: критическое (система недоступна, нарушена целостность журнала), высокое (функция недоступна), обычное, консультация.
- Сбор сведений: версия, журнал службы, выгрузка журнала действий, описание воспроизведения.
- Воспроизведение на стенде, исправление с автоматическим тестом против повторения.
- Поставка исправления дистрибутивом или инструкция по обходу; закрытие после подтверждения заказчиком.
Целевые сроки реакции: критическое: 4 рабочих часа, высокое: 1 рабочий день, обычное: 3 рабочих дня (уточняются договором).
2. Совершенствование
Источники изменений: обращения пользователей, изменения законодательства, анализ угроз, план развития. Цикл выпуска: разработка → автоматические проверки (./run.sh test: более 130 тестов, проверка стилей карты, проверка лицензий компонентов) → предполётная проверка сценария (scripts/demo_check.py) → сборка дистрибутива с контрольными суммами (scripts/make_dist.py) → описание изменений. Версии основная.дополнительная.исправление; состав каждой версии фиксируется манифестом SHA-256 (scripts/manifest.py).
Обновления передаются дистрибутивом и устанавливаются заказчиком в своём контуре тем же установщиком (данные и настройки сохраняются). Автоматических и принудительных обновлений нет; программа не обращается к серверам правообладателя.
3. Модернизация и гарантийное обслуживание
Выполняются ООО «Мейн Сайфер» на территории РФ. Поддерживаемая версия получает исправления безопасности не менее 12 месяцев после выхода следующей основной версии.
4. Персонал
Состав, ФИО и квалификация: owner/01_personal_podderzhki.md (заполняет правообладатель). Для эксплуатации у заказчика: пользователям: навыки работы с браузером; администратору: администрирование ОС (Linux, macOS или Windows).
5. Адреса
Разработка и поддержка: по адресу места нахождения ООО «Мейн Сайфер» (ЕГРЮЛ). Исходный код хранится в РФ (05_kod_komponenty_aktivaciya.md).
Программа «Подход». Хранение кода, сторонние компоненты, средства активации, совместимость
1. Хранение исходного и объектного кода
Исходный код и история изменений хранятся в репозитории Git на оборудовании ООО «Мейн Сайфер» в РФ; резервная копия: ____________________ (в РФ, заполняет правообладатель). Объектный код (дистрибутив) собирается из этого репозитория scripts/make_dist.py; состав версии фиксируется манифестом docs/registry/rights/manifest_1.0.0.txt.
2. Сторонние компоненты
Собственная разработка: вся логика сервера, протокол и ядро связи «Эфир», полевое приложение, разбор 15 геоформатов, пересчёт систем координат, карта «Картограф» (сборщик, формат, стиль), интерфейс, генератор QR-кодов, журнал, резервное копирование. Используются библиотеки под свободными лицензиями без ограничений на применение в РФ (MIT, BSD, Apache-2.0, ISC, PSF; MPL-2.0 и OFL-1.1: без изменения файлов): веб-сервер и валидация данных на сервере, React и Leaflet в интерфейсе, MapLibre для отрисовки карты. Полный перечень с версиями и лицензиями: docs/compliance/SBOM.md (машиночитаемо: sbom.cdx.json); формируется и проверяется автоматически при каждой сборке. Иностранные сервисы, подсанкционные компоненты и компоненты с обязательными внешними обращениями не используются. Модуль совместимости с FreeTAKServer: необязательный, по умолчанию не используется.
3. Средства активации
Не применяются. Лицензия предоставляется по договору; ключей, активации и обращений к серверам правообладателя нет.
4. Совместимость
Сервер: Astra Linux SE 1.8, РЕД ОС 8 (служба systemd), macOS 12+, Windows 10/11 и Windows Server 2019+; Python 3.10+. Результаты проверки: 07_protokol_ispytanij.md.
Сведения о стоимости и условиях предоставления
Программа предоставляется на основании лицензионного договора (простая неисключительная лицензия) для установки в контуре заказчика, в двух вариантах:
- Бессрочная лицензия: 30 000 рублей за одно подключаемое устройство (рабочее место диспетчера или полевое устройство группы).
- Подписка с сопровождением (лицензия на срок, техническая поддержка и обновления): стоимость определяется по числу устройств и сроку подписки, рассчитывается по запросу.
Дополнительно по желанию заказчика: техническая поддержка и обновления для бессрочной лицензии, внедрение под ключ, пилотная эксплуатация. Ключей активации и обращений к серверам правообладателя нет. Проект договора и расчёт направляются по запросу на info@maincipher.com, телефон +7 903 589-39-56.
Демонстрационный стенд: demo.maincipher.com (учётная запись выдаётся по запросу). Дистрибутив для установки в закрытом контуре: Astra Linux, РЕД ОС, macOS, Windows.