Описание функциональных характеристик программного обеспечения
1. Общие сведения о программном обеспечении
1.1. Тип программного обеспечения
Веб-приложение с клиент-серверной архитектурой, предоставляемое по модели «программное обеспечение как услуга». Установка программного обеспечения на устройство пользователя не требуется; доступ осуществляется через веб-браузер по защищённому соединению.
1.2. Назначение
Программное обеспечение предназначено для автоматизированного сбора, проверки и расчётного анализа сведений об объекте недвижимости или земельном участке, расположенном на территории Российской Федерации, с последующим формированием сводного аналитического документа — инвестиционного меморандума в формате PDF.
Программа выполняет: получение сведений об объекте из государственных и иных информационных источников по кадастровому номеру, разбор загруженных пользователем правоустанавливающих и градостроительных документов, расчёт стоимости объекта несколькими подходами, подбор и оценку сценариев использования и застройки, сметный расчёт капитальных затрат, построение финансовой модели проекта, проверку правовых ограничений территории и проверку правообладателя по открытым реестрам.
1.3. Область применения
Девелоперские и строительные компании, банки и иные кредитные организации, инвестиционные комитеты, инвестиционные и управляющие компании, брокеры по коммерческой недвижимости, собственники земельных участков и объектов капитального строительства.
1.4. Ограничения применения
Формируемый программой инвестиционный меморандум не является отчётом об оценке в значении Федерального закона от 29.07.1998 № 135-ФЗ «Об оценочной деятельности в Российской Федерации», не является юридическим заключением и не заменяет полную юридическую и техническую проверку объекта. Данное ограничение зафиксировано в интерфейсе, в клиентской базе знаний и в самом выходном документе.
2. Функциональные возможности
2.1. Приём кадастрового номера объекта
Пользователь вводит кадастровый номер объекта в поле формы личного кабинета. Программа проверяет формат номера по регулярному выражению вида AA:BB:CCCCCCC:DD и при несоответствии выдаёт сообщение с указанием ожидаемого формата и примера. После успешной проверки создаётся карточка объекта, привязанная к учётной записи организации-пользователя.
2.2. Приём пакета документов по объекту
Программа принимает документы по объекту в формате PDF методом перетаскивания в область загрузки или выбором файлов. Установлены ограничения: не более 10 файлов за одну загрузку, не более 25 МБ на файл, допускается только тип содержимого PDF. Загрузка документов не является обязательной для запуска анализа и служит для повышения полноты и точности результата.
2.3. Распознавание и разбор документов
Разбор выполняется детерминированными алгоритмами по извлечённому текстовому слою документа. Поддерживаются три типа документов:
- Выписка из Единого государственного реестра недвижимости — извлекаются кадастровый номер, площадь, кадастровая стоимость, вид разрешённого использования, категория земель, сведения о правообладателе (тип, наименование, ИНН, ОГРН), перечень зарегистрированных прав с номерами и датами регистрации и долями, перечень обременений, дата выписки, год завершения строительства, материал стен.
- Градостроительный план земельного участка — извлекаются вид разрешённого использования, предельная высота застройки, предельный процент застройки, предельный коэффициент плотности, отступы от границ участка, перечень зон с особыми условиями использования территории, номер и дата выдачи документа.
- Договор аренды — извлекаются ставка арендной платы с приведением к рублям за квадратный метр в год, площадь, признаки включения налога на добавленную стоимость и коммунальных платежей, срок договора, размер индексации, наименование арендатора, дата договора.
Если кадастровый номер в загруженной выписке не совпадает с кадастровым номером анализируемого объекта, программа не переносит сведения выписки на объект и выводит соответствующее предупреждение.
Программа обрабатывает документы, содержащие текстовый слой. Оптическое распознавание изображений (сканированных документов без текстового слоя) не реализовано; такой файл помечается как нечитаемый, при этом обработка остальных файлов пакета продолжается.
2.4. Интеграция с государственными и иными информационными источниками
В программе ведётся единый машиночитаемый реестр источников данных, содержащий 76 записей, сгруппированных по 11 направлениям анализа: кадастр и право собственности; градостроительство; ограничения территории; обременения и риски; суды и проверки; контрагенты и бенефициары; финансы и налоги; рынок, цены, аналитика; торги и госзаказ; геоданные и инфраструктура; строительные сметы.
Каждой записи присвоен статус: действующий открытый канал (24 записи), канал по ключу доступа или договору (12), статический индекс, обновляемый по регламенту (8), производный слой данных (11), канал в стадии подключения (20), деградировавший канал (1). Записи со статусом «в стадии подключения» и «деградировавший» не выдаются пользователю как действующие.
Фактически реализованные подключения к государственным источникам:
| Источник | Что используется | Режим доступа |
|---|---|---|
| Национальная система пространственных данных Росреестра (НСПД), публичная кадастровая карта | Координаты, площадь, вид разрешённого использования, категория земель, адрес, кадастровая стоимость | Открытый, через пересылающий узел в Российской Федерации |
| НСПД, тематические слои | 14 слоёв: зоны с особыми условиями использования территории, территориальные зоны правил землепользования и застройки, особо охраняемые природные территории, лесничества, красные линии, зоны накопленного вреда, береговые линии, особые экономические зоны, территории опережающего развития | Открытый |
| Единый государственный реестр недвижимости | Тип, площадь, этаж, дата регистрации, назначение, кадастровая стоимость, права, обременения | По ключу доступа через договорного провайдера |
| ГИС Торги | Лоты по государственному и муниципальному имуществу, признаки комплексного развития территории | Открытый |
| Единая информационная система в сфере закупок, 44-ФЗ и 223-ФЗ | Государственные контракты правообладателя по ИНН | Открытый (официальные RSS-каналы) |
| Федеральная нотариальная палата, реестр уведомлений о залоге движимого имущества | Сведения о залогах правообладателя | Открытый |
| Банк России | Ключевая ставка (используется для ставки дисконтирования) | Открытый |
| Государственный информационный ресурс бухгалтерской отчётности ФНС России | Выручка, прибыль, активы, капитал правообладателя — юридического лица | Открытый |
| Росстат / ЕМИСС | Средние цены на рынке жилья, индексы цен | Открытый |
| Федеральная служба судебных приставов, банк данных исполнительных производств | Исполнительные производства в отношении правообладателя | По ключу доступа через договорного провайдера |
| Единый федеральный реестр сведений о банкротстве | Сведения о банкротстве правообладателя и контрагентов | По ключу доступа через договорного провайдера |
| Картотека арбитражных дел | Судебные дела по ИНН стороны сделки | По ключу доступа через договорного провайдера |
| Единый государственный реестр юридических лиц и индивидуальных предпринимателей | Статус, руководитель, ОКВЭД, уставный капитал, отметки о недостоверности | По ключу доступа |
| Сервис ФНС России «Прозрачный бизнес» | Признаки массового адреса и руководителя, дисквалификация, налоговая задолженность, непредставление отчётности | По ключу доступа |
| Единый государственный реестр объектов культурного наследия (Минкультуры России) | Объекты культурного наследия вблизи участка | Локальный индекс, обновляемый по регламенту |
| Федеральная сметная нормативная база ФСНБ-2022 (ФГИС ЦС Минстроя России) | Государственные элементные сметные нормы и федеральные сметные цены на ресурсы | Загрузка открытых данных с последующим размещением в базе данных программы |
Дополнительно используются справочные наборы: нормативные карты сейсмичности, снеговых и ветровых нагрузок по СП 14.13330.2018 и СП 20.13330.2016; параметры правил землепользования и застройки отдельных городов с указанием реквизитов утвердивших актов; классификатор ОКАТО и кадастровое деление.
Программа контролирует работоспособность каналов данных: ежедневно выполняется проверка открытых каналов реальными запросами через продуктивные модули с проверкой содержательности ответа, а не только кода состояния HTTP. Недоступный канал фиксируется в журнале, отражается в административном разделе и не подменяется вымышленными данными: в выходном документе указывается фактический статус проверки.
2.5. Оценка стоимости объекта
Реализованы следующие подходы к оценке:
- Сравнительный подход — основной. Выполняется отбор аналогов по классу актива, площади (допуск ±30 %), удалённости (до 5 км, для земельных участков Московской области до 30 км) и давности (до 12 месяцев). К каждому аналогу применяются корректировки: переход от цены предложения к цене сделки (−8 %), корректировка на масштаб (−1,5 % на каждые 10 % превышения площади с ограничением ±12 %), корректировка на удалённость (−1 % на километр), корректировка на давность (−0,2 % за месяц свыше шести). Итог рассчитывается как взвешенное значение; вес аналога обратно пропорционален суммарной величине корректировок. При недостаточном числе аналогов применяется многоуровневое расширение окна отбора (уровни A, B, C) с понижением веса и уровня достоверности; при невозможности сформировать выборку возвращается явный статус «оценка не проводилась».
- Доходный подход — прямая капитализация: расчёт потенциального и действительного валового дохода, чистого операционного дохода и стоимости через ставку капитализации; отдельно реализован расчёт по фактическому договору аренды пользователя, а также сценарий владения с дисконтированием денежных потоков и анализом чувствительности к ставке капитализации на выходе.
- Затратный подход — стоимость замещения улучшений с учётом физического износа, определяемого методом эффективного возраста и группы капитальности по материалу стен. Стоимость земельного участка в расчёт не включается, что явным образом указывается в результате.
- Остаточные методы — остаточная стоимость земли по лучшему сценарию застройки, метод разбиения массива на участки, оптовая стоимость крупных земельных массивов.
- Кадастровые ориентиры — резервные индикативные расчёты от кадастровой стоимости и от региональных статистических показателей, помечаемые как индикативные.
Результаты подходов согласуются: программа формирует сводку согласования с указанием ведущего метода, диапазона значений и расхождения между подходами; согласование выполняется при наличии не менее двух применимых подходов.
Каждому результату присваивается уровень достоверности (высокий, средний, индикативный) и числовая оценка достоверности по шкале от 0 до 100, учитывающая количество аналогов, полноту данных, наличие подтверждающих документов и свежесть рыночной информации.
2.6. Расчёт сценариев застройки
Программа выполняет анализ наиболее эффективного использования участка. Каталог включает 12 типов объектов: склад класса А, лёгкое промышленное производство, индивидуальное жилищное строительство, таунхаусы, жилые комплексы классов B и A, офисы классов B и A, торговый объект, объект смешанного использования, склад индивидуального хранения, гостиница категории «три звезды».
Каждый сценарий проверяется по четырём критериям: юридическая допустимость (с учётом вида разрешённого использования, категории земель и подтверждённых зон с особыми условиями использования территории), физическая осуществимость, финансовая обоснованность, наличие рыночного спроса. Подтверждённое ограничение территории имеет приоритет над видом разрешённого использования. По итогам сценарию присваивается вердикт: приоритетный, требующий проверки, условно допустимый, отклонённый.
Для допустимых сценариев рассчитываются технико-экономические показатели: общая площадь здания (исходя из площади участка и коэффициента плотности застройки, ограниченного параметрами градостроительного регламента), полезная площадь, размещение пятна застройки на реальном контуре участка с учётом отступов, потребность в парковочных местах по нормативам, требуемые мощности инженерного обеспечения, ключевые риски сценария. При превышении предельного размера единого объекта программа указывает необходимость поэтапной реализации.
2.7. Сметный расчёт
Сметный модуль использует федеральную сметную нормативную базу ФСНБ-2022 (государственные элементные сметные нормы и федеральные сметные цены на ресурсы), загружаемую из ФГИС ЦС Минстроя России и размещаемую в базе данных программы. Основной метод расчёта — ресурсно-индексный, с применением индексов изменения сметной стоимости и зональных коэффициентов; реализован также базисно-индексный метод.
Результат расчёта — структура капитальных затрат: строительно-монтажные работы, подготовительные затраты, накладные расходы, сметная прибыль, непредвиденные затраты, итог до налога на добавленную стоимость, налог на добавленную стоимость, итог с налогом, а также удельная стоимость в рублях за квадратный метр с налогом и без налога. Формируется ведомость объёмов работ. Предусмотрена сверка результата с фактическими ценами государственных контрактов по 44-ФЗ.
Степень калибровки шаблонов зафиксирована в коде и раскрывается пользователю: пять типов объектов калиброваны (склад класса А, лёгкое промышленное производство, школа, детский сад, спортивный объект), два имеют предварительный статус с обязательной пометкой строк как допущений (индивидуальный жилой дом, таунхаус), два не выдаются как точный расчёт и требуют экспертной проработки (склад класса B, производственный объект).
2.8. Финансовая модель
Программа строит финансовую модель проекта и рассчитывает следующие показатели: чистую приведённую стоимость, внутреннюю норму доходности, срок окупаемости (простой и дисконтированный), коэффициент покрытия долга, отношение долга к стоимости актива, рентабельность инвестиций, рентабельность собственного капитала, кратность возврата на собственный капитал, остаточную стоимость земли, пиковый дефицит денежных средств. Ставка дисконтирования определяется от действующей ключевой ставки Банка России с добавлением премии за риск.
Формируются поквартальный отчёт о движении денежных средств, отчёт о прибылях и убытках, кредитная модель, юнит-экономика на единицу продаж. Учитывается налоговый режим (общая или упрощённая система налогообложения) с учётом порога по налогу на добавленную стоимость.
Выполняется проверка ковенант: минимальный коэффициент покрытия долга 1,25; максимальное отношение долга к стоимости 0,7; минимальный коэффициент текущей ликвидности 1,5; минимальная внутренняя норма доходности 15 %; минимальная маржа 20 %.
Анализ чувствительности проводится по заданному набору переменных: цена реализации, капитальные затраты, кредитная ставка, задержка старта продаж, темп продаж, вакансия, задержка технологического присоединения. Формируется матрица 3×3 «капитальные затраты × цена реализации» со значениями внутренней нормы доходности, а также сценарии «оптимистичный», «базовый», «стрессовый».
2.9. Проверка правовых ограничений территории
Программа запрашивает тематические слои НСПД и определяет наличие зон с особыми условиями использования территории (объекты культурного наследия, энергетика, связь и транспорт, охраняемые объекты, природные территории, иные зоны), территориальной зоны правил землепользования и застройки с извлечением предельных параметров, особо охраняемых природных территорий, лесничеств, красных линий, зон накопленного вреда окружающей среде, береговых линий, а также особых экономических зон и территорий опережающего развития. Определяются приближённость к водным объектам, лесам, воздушным линиям электропередачи с расчётом ширины охранной зоны по классу напряжения, подзоны приаэродромной территории.
Дополнительно анализируется частота смены правообладателя за трёхлетний период (период оспаривания сделок при банкротстве) с присвоением уровня «спокойный», «повышенный», «высокий».
Все ссылки на нормативные правовые акты, выводимые программой, ведутся в отдельном реестре с указанием даты последней сверки. Автоматизированная проверка не допускает публикацию ссылки, отсутствующей в реестре либо сверенной ранее чем за 95 дней.
2.10. Проверка правообладателя и контрагентов
Программа выполняет проверку правообладателя и связанных лиц по перечисленным в п. 2.4 реестрам. По каждому источнику возвращается один из явных статусов: получены данные; запрос выполнен, сведений не найдено; источник недоступен; ожидается идентификатор правообладателя. Статус «чисто» без фактически выполненного запроса не выставляется.
Учтены требования законодательства о персональных данных: с учётом закрытия сведений о физических лицах в выписках из Единого государственного реестра недвижимости программа не публикует результаты реестровых проверок при наличии только фамилии, имени и отчества без идентификатора (ИНН, ОГРНИП, СНИЛС) — во избежание ошибочного отнесения сведений к однофамильцу.
2.11. Формирование выходных документов
Основной выходной документ — инвестиционный меморандум в формате PDF. Документ формируется детерминированно расчётными модулями и шаблонами программы, без применения генеративных языковых моделей. Структура включает более 30 блоков, объединённых в именованные разделы: решение для инвестиционного комитета; паспорт объекта; градостроительные параметры; ограничения территории; обременения; правовой и надзорный дайджест; судебные дела; контрагент; геоданные; сметные показатели; ключевые выводы; рыночный контекст и глубина рынка; аналоги и мост корректировок; заключение о стоимости; матрица наиболее эффективного использования; сценарии застройки; финансовая модель; налоги; анализ чувствительности; реестр рисков и матрица рисков; аудит источников; приложения.
Дополнительно формируются: бизнес-план, документ по финансово-правовой схеме сделки, сметный документ, отчёт о прибылях и убытках, счёт на оплату с реквизитами правообладателя для безналичного расчёта.
Каждый показатель в меморандуме сопровождается указанием статуса — «факт» с указанием источника либо «допущение» с указанием основания. Раздел аудита источников перечисляет фактические статусы всех задействованных каналов данных.
2.12. Аналитический помощник
В программе реализован аналитический помощник с пятью режимами работы (аналитик, инвестиционный комитет, девелопмент, собственник, риски). Основной моделью является YandexGPT (Yandex Cloud Foundation Models, российский контур). Перед передачей любого запроса выполняется обезличивание контекста. В личном кабинете доступно окно поддержки, работающее на той же российской модели по базе знаний программы.
2.13. Личный кабинет, тарифы и ограничения
Личный кабинет содержит раздел «Мои объекты» (форма ввода кадастрового номера, перечень объектов организации, доступ к меморандуму) и раздел «Как работать» (клиентская база знаний). Карточка объекта содержит девять вкладок: обзор, реестры, оценка, сценарии, бизнес-план, юридический анализ, концепт, смета, отчёт.
Реализовано разграничение состава анализа по тарифам. Тариф Start открывает 8 из 11 направлений анализа; тарифы Team, Enterprise и Pilot — все 11. Демонстрационный режим ограничен тремя направлениями, выходной документ маркируется водяным знаком.
Действуют месячные квоты на ресурсоёмкие операции, приведённые в разделе 11 настоящего документа. Учёт квот ведётся по календарному месяцу атомарно в базе данных; при исчерпании квоты возвращается код состояния 429 с сообщением на русском языке. Дополнительно на каждый программный интерфейс установлены ограничения частоты обращений (от 3 до 120 запросов в минуту в зависимости от ресурсоёмкости операции), рассчитываемые как по адресу источника, так и по идентификатору сессии.
2.14. Журналирование действий
Все значимые действия пользователей и системные события записываются в таблицу журнала аудита. Фиксируются: время события, идентификатор пользователя, идентификатор организации, действие в формате «домен.действие.результат», тип и идентификатор ресурса, адрес источника запроса, строка браузера, дополнительные сведения в структурированном виде.
Журналируются, в частности: запуск и завершение реестровой проверки, формирование оценки, генерация счёта, фиксация согласия на обработку персональных данных, формирование меморандума и ошибки при его формировании, добавление финансовых записей, выполнение регламентных заданий, а также попытки обращения к защищённым интерфейсам с неверными реквизитами доступа.
Кадастровые номера в журнале обезличиваются: сохраняется кадастровый квартал и хэш-функция от полного номера, что исключает раскрытие через журнал перечня объектов, изучаемых конкретным клиентом.
2.15. Административный контур
Для правообладателя реализован закрытый административный раздел: сводный пульт, финансовая панель, панель продаж, панель бухгалтерского учёта, внутренний контроль (журнал аудита и состояние каналов данных), реестр движения денежных средств, управление подписками и счетами, работа с заявками, управление курируемым пулом аналогов, управление сметной базой, запуск меморандума по кадастровому номеру. Доступ защищён отдельным механизмом с двухфакторной аутентификацией.
2.16. Самодиагностика
Программа выполняет регламентные самопроверки: ежедневный автоматический прогон расчётного ядра на эталонном объекте, ежедневную проверку доступности каналов данных, еженедельный регламент актуализации источников, контроль свободного места на диске, контроль свежести статических индексов. Результаты фиксируются в журнале аудита; критические отклонения направляются уведомлением ответственному лицу.
3. Технические характеристики
3.1. Архитектура
Клиент-серверная. Серверная часть выполняет рендеринг страниц, обработку программных интерфейсов, расчёты и формирование документов. Клиентская часть исполняется в браузере пользователя и обеспечивает интерфейс ввода и отображения результатов.
3.2. Технологический стек
| Слой | Технология |
|---|---|
| Каркас приложения | Next.js 14 (App Router) |
| Язык разработки | TypeScript 5 |
| Библиотека интерфейса | React 18 |
| Оформление интерфейса | Tailwind CSS 3 |
| Среда исполнения сервера | Node.js 20 LTS |
| Управление процессом | PM2 |
| Формирование PDF | @react-pdf/renderer |
| Извлечение текста из PDF | pdf-parse |
| Картографический компонент | Leaflet |
| Работа с электронными таблицами | ExcelJS |
| Обработка изображений | sharp |
| Валидация входных данных | Zod |
| Аутентификация | Auth.js (NextAuth) v5 |
| Электронная почта | Nodemailer |
| Автоматизированное тестирование | Vitest |
3.3. Система управления базами данных
PostgreSQL 16. В продуктивной среде используется управляемый сервис российского облачного провайдера, размещённый в Российской Федерации. Подключение выполняется через пул соединений драйвера pg по защищённому каналу. Схема базы данных ведётся 29 версионированными миграциями, применяемыми идемпотентно при каждом обновлении.
Основные группы таблиц: объекты и результаты анализа (объекты, оценки, сценарии, риски, отчёты и их версии, реестровые проверки, аналоги и корректировки); документы объекта и извлечённые из них поля; организации-арендаторы, пользователи, роли, квоты, счета; журнал аудита; рыночные и нормативные наборы данных (пул аналогов, базовые цены и сделки Росреестра, сметная база ФСНБ, индексы, зоны инженерных мощностей); служебное состояние системы и состояние внешних каналов.
3.4. Требования к серверу
Минимальная подтверждённая конфигурация, на которой эксплуатируется программное обеспечение: 4 виртуальных процессора, 4 ГБ оперативной памяти, 50 ГБ дискового пространства (SSD), операционная система Ubuntu Server 24.04 LTS, Node.js 20 LTS. Отдельно требуется экземпляр PostgreSQL 16. Наличие постоянного подключения к сети «Интернет» необходимо для обращения к внешним источникам данных.
3.5. Требования к рабочему месту пользователя
Персональный компьютер или иное устройство с современным веб-браузером, поддерживающим JavaScript (Google Chrome, Яндекс.Браузер, Mozilla Firefox, Microsoft Edge, Safari — актуальные версии). Подключение к сети «Интернет». Установка дополнительного программного обеспечения не требуется. Для просмотра выгружаемых документов необходима программа просмотра PDF.
3.6. Способ развёртывания и доступа
Программное обеспечение развёртывается на выделенной виртуальной машине в облачной инфраструктуре, размещённой на территории Российской Федерации. Сборка выполняется на сервере командой сборки каркаса приложения, запуск — под управлением менеджера процессов PM2. Доступ пользователей осуществляется по протоколу HTTPS через доменное имя dvl-lab.ru. Терминация защищённого соединения и выдача сертификата выполняются средствами облачной платформы.
Доступ предоставляется по приглашению: открытая самостоятельная регистрация отсутствует. Вход выполняется по одноразовой ссылке, направляемой на корпоративный адрес электронной почты пользователя.
3.7. Инфраструктура размещения
Программное обеспечение размещается на инфраструктуре российского облачного провайдера. Центры обработки данных провайдера расположены на территории Российской Федерации, что подтверждено письмом провайдера; сведения об адресах предоставляются уполномоченным органам по запросу.
Технические средства хранения исходного текста и объектного кода, средства компиляции (сборки) и средства управления доступом размещены на указанной инфраструктуре и находятся на территории Российской Федерации. Размещение и обработка данных за пределами территории Российской Федерации не осуществляются.
4. Информационная безопасность
4.1. Изоляция данных организаций-пользователей
Все доменные таблицы содержат идентификатор организации-арендатора. Каждый запрос к защищённому программному интерфейсу проходит разрешение контекста доступа: определяется, действует ли запрос от имени администратора правообладателя, от имени пользователя конкретной организации либо не имеет прав. Принадлежность объекта организации проверяется отдельным запросом к базе данных перед выполнением любой операции с объектом. Квоты и лимиты также ведутся в разрезе организации. В схеме базы данных созданы политики построчного разграничения доступа, использующие идентификатор организации из контекста транзакции; для установки контекста реализованы транзакционные обёртки с параметризованной передачей идентификатора.
4.2. Журнал доступа и действий
Ведётся в соответствии с п. 2.14 настоящего документа. Запись в журнал выполняется без прерывания основного потока обработки; отказ подсистемы журналирования не приводит к отказу в обслуживании. Просмотр журнала доступен в административном разделе.
4.3. Защита канала и заголовки безопасности
Весь трафик передаётся по протоколу HTTPS. На уровне обратного прокси-сервера устанавливаются заголовки: Strict-Transport-Security (срок 31 536 000 секунд, включая поддомены), X-Frame-Options: DENY, X-Content-Type-Options: nosniff, Referrer-Policy: strict-origin-when-cross-origin, Permissions-Policy с запретом доступа к геолокации, микрофону и камере; заголовок с наименованием сервера удаляется. На уровне приложения устанавливается политика безопасности содержимого с запретом встраивания страниц в сторонние фреймы, ограничением базового URI, ограничением адресатов форм и запретом объектных элементов.
4.4. Контроль доступа и защита от злоупотреблений
- Проверка совпадения источника запроса для всех модифицирующих методов (POST, PATCH, PUT, DELETE); для административных интерфейсов действует строгий режим, при котором запрос без заголовков
OriginиRefererотклоняется. - Отдельный контур административного доступа с двухфакторной аутентификацией по одноразовому коду (алгоритм RFC 6238, реализован на штатных криптографических средствах среды исполнения без внешних зависимостей).
- Ограничение частоты обращений по адресу источника и по идентификатору сессии.
- Месячные квоты на ресурсоёмкие операции.
- Сравнение всех секретных значений выполняется алгоритмом, устойчивым к атакам по времени.
- Принцип отказа в безопасную сторону: при отсутствии обязательной конфигурации в продуктивной среде модифицирующие операции блокируются с кодом 503, а не выполняются без проверки.
- Санитизация свободного текста при внесении рыночных данных: записи, содержащие персональные данные, отклоняются.
4.5. Шифрование
Шифрование данных при передаче обеспечивается протоколом TLS на всех участках: между браузером пользователя и приложением, между приложением и базой данных, между приложением и внешними источниками данных. Шифрование данных при хранении обеспечивается средствами управляемого сервиса системы управления базами данных. В коде приложения применяются криптографические функции SHA-256 (обезличивание идентификаторов в журнале и ключей ограничения частоты) и HMAC-SHA1 (двухфакторная аутентификация).
4.6. Контур обработки данных
Приложение, база данных, доменная зона и средства выпуска сертификатов размещены в облачной инфраструктуре на территории Российской Федерации. Основная языковая модель, используемая аналитическим помощником, — российская (Yandex Cloud Foundation Models).
4.7. Соответствие Федеральному закону № 152-ФЗ «О персональных данных»
- Оператором персональных данных выступает ООО «АВИА ПОИНТ»; контактный адрес по вопросам обработки персональных данных — security@dvl-lab.ru.
- Персональные данные обрабатываются в объёме, необходимом для оказания услуги: контактные данные представителя организации-пользователя, реквизиты подписанта в заявке, а также сведения, содержащиеся в загруженных пользователем документах по объекту.
- Согласие на обработку персональных данных фиксируется явным отмечаемым полем в формах входа, заявки и запуска анализа; факт согласия сохраняется в базе данных с отметкой времени и дополнительно записывается в журнал аудита с указанием адреса источника и строки браузера.
- В интерфейсе опубликованы политика обработки персональных данных, публичная оферта, пользовательское соглашение, уведомление о локализации данных и информация о мерах защиты; предусмотрено формирование соглашения об обработке данных в формате PDF.
- Обработка и хранение персональных данных осуществляются в базе данных, размещённой на территории Российской Федерации.
4.8. Барьер передачи персональных данных внешним языковым моделям
Перед обращением к любой языковой модели текст запроса проходит обязательное обезличивание. Распознаются и заменяются на обезличенные метки: фамилия, имя и отчество, номер телефона, адрес электронной почты, СНИЛС, паспортные данные, ИНН. Кадастровые номера защищены от ложного срабатывания и сохраняются в исходном виде. После обезличивания выполняется повторная проверка остаточных персональных данных.
Установлен режим отказа в безопасную сторону: при обнаружении остаточных персональных данных перед обращением к модели иностранной юрисдикции передача прерывается исключением и ни один байт запроса не отправляется. Любая внутренняя ошибка самого барьера также трактуется как запрет передачи. Провайдер с неизвестной юрисдикцией по умолчанию считается иностранным. Ошибка барьера не интерпретируется как недоступность провайдера и не приводит к автоматическому переключению на другого иностранного провайдера. В журнал записываются только виды обнаруженных персональных данных, но не их значения.
4.9. Обращение с секретами и контроль качества
Все ключи и пароли передаются исключительно через переменные окружения и не хранятся в репозитории исходного кода. Скрипт обновления исключает файлы окружения из передаваемого архива и выполняет обязательную проверку их отсутствия с прерыванием процедуры при обнаружении. В непрерывной интеграции выполняется статический анализ безопасности кода; на этапе фиксации изменений действует проверка на утечку секретов. Перед каждым обновлением обязателен полный прогон автоматизированного набора модульных и интеграционных тестов; при наличии хотя бы одного отказа обновление отменяется.
5. Независимость от иностранного управления и обновления
5.1. Порядок обновления
Обновление программного обеспечения выполняется исключительно по инициативе правообладателя. Процедура: локальная сборка и полный прогон автоматизированных тестов, упаковка исходного кода в архив (с исключением файлов окружения и проверкой их фактического отсутствия), передача архива по защищённому каналу на собственный сервер, установка зафиксированных версий зависимостей, сборка на сервере, применение миграций базы данных, перезапуск процесса приложения, контрольная проверка работоспособности, контрольный прогон эталонного объекта в продуктивной среде. Предусмотрено сохранение предыдущей сборки для возврата к ней.
Механизмы автоматического обновления программного обеспечения от третьих лиц отсутствуют. Обращения к серверам лицензирования, активации или проверки правомерности использования не выполняются. Возможность удалённого управления программным обеспечением или его отключения со стороны иностранных лиц отсутствует.
5.2. Размещение
Программное обеспечение, база данных, доменная зона и средства выпуска сертификатов размещены в облачной инфраструктуре на территории Российской Федерации. Исходный код находится под контролем правообладателя.
5.3. Зависимость от иностранных компонентов
Сторонние библиотеки являются свободным программным обеспечением с открытым исходным кодом, устанавливаются с фиксацией версий на этапе сборки и в процессе эксплуатации обновлений не получают. Работоспособность программного обеспечения не зависит от доступности зарубежных репозиториев в период эксплуатации.
Основная языковая модель — российская. Программные интерфейсы иностранных языковых моделей присутствуют в коде как резервный маршрут; в продуктивной среде ключи доступа к ним не заданы, и функциональность программного обеспечения от них не зависит. Формирование инвестиционного меморандума выполняется детерминированными расчётными модулями и не использует языковые модели.
Ряд вспомогательных справочных геоданных (маршрутизация, объекты инфраструктуры по данным OpenStreetMap, тайлы рельефа, спутниковая подложка карты) запрашивается с открытых публичных сервисов и кэшируется на стороне сервера. Эти данные носят вспомогательный характер: их недоступность не блокирует работу программы и не влияет на расчётное ядро — соответствующие разделы отчёта помечаются фактическим статусом.
6. Используемые сторонние компоненты
6.1. Открытые библиотеки
| Компонент | Назначение | Лицензия |
|---|---|---|
| next | Каркас веб-приложения | MIT |
| react, react-dom | Библиотека пользовательского интерфейса | MIT |
| typescript | Язык и компилятор | Apache-2.0 |
| tailwindcss, postcss | Оформление интерфейса | MIT |
| tailwind-merge, clsx | Работа с классами оформления | MIT |
| framer-motion | Анимация интерфейса | MIT |
| lucide-react | Набор пиктограмм | ISC |
| next-auth (Auth.js) | Аутентификация | ISC |
| nodemailer | Отправка электронной почты | MIT-0 |
| pg | Драйвер PostgreSQL | MIT |
| zod | Валидация входных данных | MIT |
| @react-pdf/renderer | Формирование документов PDF | MIT |
| pdf-parse | Извлечение текста из PDF | MIT |
| pdfjs-dist | Проверка текстового слоя PDF (среда тестирования) | Apache-2.0 |
| exceljs | Формирование электронных таблиц | MIT |
| sharp | Обработка изображений | Apache-2.0 |
| leaflet | Картографический компонент | BSD-2-Clause |
| react-markdown | Отображение размеченного текста | MIT |
| vitest | Автоматизированное тестирование | MIT |
6.2. Внешние сервисы
| Сервис | Назначение | Юрисдикция |
|---|---|---|
| Российская облачная платформа (виртуальная машина, управляемый PostgreSQL, доменная зона, выпуск сертификатов) | Размещение приложения, базы данных, доменной зоны и сертификатов | Российская Федерация |
| Yandex Cloud Foundation Models (YandexGPT) | Аналитический помощник и окно поддержки | Российская Федерация |
| Государственные информационные системы и открытые данные (перечислены в п. 2.4) | Источники сведений об объекте и правообладателе | Российская Федерация |
| Договорные провайдеры доступа к реестрам | Технический доступ к сведениям Единого государственного реестра недвижимости, Федеральной службы судебных приставов, Единого федерального реестра сведений о банкротстве, картотеки арбитражных дел, Единого государственного реестра юридических лиц | Российская Федерация |
| Корпоративная электронная почта на домене dvl-lab.ru | Направление ссылок для входа, уведомлений и счетов | Российская Федерация |
| Открытые геоданные OpenStreetMap, тайлы рельефа, спутниковая подложка карты | Вспомогательные справочные геоданные, результаты кэшируются | Иностранная; вспомогательный характер, недоступность не блокирует работу |