Подход: документация

Версия 1.0.0. Правообладатель Общество с ограниченной ответственностью «Мейн Сайфер», ИНН 5300025284, ОГРН 1265300003100. Документация для пользователей, администраторов и экспертизы реестра российского программного обеспечения.

  1. Описание функциональных характеристик
  2. Руководство по установке
  3. Руководство пользователя и администратора
  4. Процессы жизненного цикла и сведения о персонале
  5. Хранение кода, сторонние компоненты, средства активации, совместимость
  6. Сведения о стоимости и условиях предоставления

Программа «Подход». Описание функциональных характеристик

Версия 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».

Первый запуск

  1. Укажите в файле настроек адрес, порт и сертификат TLS (PODKHOD_TLS_CERT, PODKHOD_TLS_KEY): HTTPS обязателен для полевых устройств. Перезапустите службу.
  2. Откройте адрес сервера в браузере на этом компьютере и создайте администратора. С другого компьютера потребуется код из файла setup-code.txt в каталоге данных.
  3. Администратор заводит пользователей («Администрирование»), диспетчер: полевые устройства («Оперативные силы» → «Устройства»).

Проверка

  • Страница входа открывается, после входа видна карта.
  • 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. Регистрация обращения с номером; подтверждение: в течение 1 рабочего дня.
  2. Классификация: критическое (система недоступна, нарушена целостность журнала), высокое (функция недоступна), обычное, консультация.
  3. Сбор сведений: версия, журнал службы, выгрузка журнала действий, описание воспроизведения.
  4. Воспроизведение на стенде, исправление с автоматическим тестом против повторения.
  5. Поставка исправления дистрибутивом или инструкция по обходу; закрытие после подтверждения заказчиком.

Целевые сроки реакции: критическое: 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.