FastAPI service and simple web frontend for summarizing Cyber Threat Intelligence (CTI) reports into a validated structured schema.
The service accepts CTI report input as:
- a URL to an HTML/text/PDF-style report page
- pasted report text
- an uploaded PDF
The report text is extracted, converted where needed, sent to a configured LLM provider, validated as CTISummary, and then returned either as JSON or rendered markdown.
- User Guide: short guide for analysts using the web UI.
- Admin Guide: deployment and operations with Docker Compose and Traefik.
- Developer Guide: local setup, architecture, tests, and contribution notes.
- Configuration: environment variables and
.envsyntax. - Deployment: deployment flow and reverse proxy notes.
- API: HTTP and CLI surfaces.
uv sync
uv run pytestRun locally:
uv run uvicorn app.main:app --reload --host 127.0.0.1 --port 9999cp env.example .env
docker compose config --quiet
docker compose up -dSee Admin Guide before deploying. The documented reverse proxy example is Traefik, but the app can run behind other reverse proxies.
This code is released under the EUPL license 1.2.