# Обзор документации

Документация описывает сервис IOC Checker и предназначена для специалистов, отвечающих за эксплуатацию и развитие системы. Материалы разделены на самостоятельные файлы, чтобы детализировать отдельные аспекты работы платформы и упростить сопровождение изменений.

- Назначение проекта: асинхронная проверка индикаторов компрометации через внешние источники репутации с обогащением результатами провайдеров и классификацией.
- Ключевые разделы:
  - `backend.md` и каталог `backend/` — карта серверных подсистем и отдельные файлы по каждому модулю бэкэнда (API-слой, сервисный уровень, очередь, парсинг IOC, провайдеры, хранилище, конфигурация).
  - `deployment.md` — подготовка окружения, настройка конфигурации, запуск и контроль сервисов, требования к токенам и базам данных.
  - `api.md` и каталог `api/` — описание публичных HTTP-методов с разбивкой по маршрутам, состав полей запросов и ответов, возможные ошибки и условия кэширования результатов.
  - Дополнительные файлы могут быть добавлены для описания архитектуры, процессов поддержки, пользовательских сценариев и требований к безопасности; при появлении новых компонентов рекомендуется оформлять отдельный раздел для каждого блока (например, интеграции, мониторинг, сценарии эксплуатации).
- Формат материалов: структурированные разделы без примеров кода, с акцентом на требования, входные данные и ожидаемые результаты процессов.
- Основные компоненты:
  - REST API на базе FastAPI (`ioc_checker/api`), отвечающее за приём запросов, валидацию данных и формирование ответов, а также публикацию OpenAPI.
  - Очередь задач и воркеры (`ioc_checker/queue.py`, `ioc_checker/worker.py`), выполняющие обращения к внешним провайдерам репутации и накопление результатов в кэше.
  - Модуль анализа (`ioc_checker/analysis.py`, `ioc_checker/iocs/analysis.py`), агрегирующий ответы провайдеров, формирующий признаки и выносящий вердикты по каждому индикатору.
  - Парсер и классификатор IOC (`ioc_checker/main.py`, `ioc_checker/iocs`), выделяющий индикаторы из текста, нормализующий домены и определяющий категорию.
  - Веб-интерфейс (`ui/`), использующий API для отправки задач, мониторинга статуса и отображения итоговых вердиктов.
  - Конфигурационные и служебные утилиты (`ioc_checker/config.py`, `ioc_checker/startup.py`, `scripts/`), обеспечивающие запуск сервисов, настройку логирования, загрузку статических ресурсов и вспомогательных данных.
- Основные директории проекта:
  - `ioc_checker/` — реализация API, сервисного слоя, очереди задач, интеграций с провайдерами и вспомогательных утилит.
  - `ui/` — клиентская часть и статические ресурсы веб-интерфейса.
  - `scripts/` — вспомогательные скрипты для подготовки окружения и статических файлов.
  - `docs/` — комплект документации с разбивкой по отдельным разделам.
