Deploy in your environment. We never see your data.
LLMSec is not a SaaS. It runs entirely inside your own infrastructure — your VPC, your Kubernetes cluster, your air-gapped server. This is an architectural guarantee, not a contractual promise.
Data flow diagram
Your infrastructure (VPC / on-prem)
LLMSec infrastructure (marketing site only — we run nothing for you)
Deployment options
Docker Compose — 60-second install
The fastest path to a working scanner. Suitable for a single security workstation or a dedicated scan server.
Run the installer
curl -L https://your-domain.com/install.sh | bash cd llmsec/
Downloads docker-compose.yml and .env.example into a new ./llmsec directory.
Configure .env
cp .env.example .env # Edit .env — set your license key and LLM API key: LLMSEC_LICENSE_KEY=LIC-2026-0001-... OPENAI_API_KEY=sk-... # or your endpoint key
License keys are offline-verifiable. They are never sent to our servers.
Start LLMSec
docker compose up -d
Starts the scanner and optional local web UI on port 8080.
Run your first scan
llmsec scan --target openai:gpt-4o-mini --output json > results.json # or filter to specific probe categories: llmsec scan --target openai:gpt-4o-mini \ --probes jailbreak,prompt_injection,toxicity \ --output json > results.json
Approximately 30 probes × ~2s each ÷ 10 concurrency ≈ 6 seconds for a fast endpoint.
System requirements
| Docker | 20.10+ or Docker Desktop |
| Docker Compose | v2.0+ |
| CPU | 4 cores recommended (2 minimum) |
| RAM | 8 GB recommended (4 GB minimum) |
| Disk | 10 GB for base image; +12 GB if using local ML judges |
| OS | Linux (any distro), macOS, Windows (WSL2) |
| Network | Outbound to your LLM endpoints only. No inbound ports required for scanning. |
Data-handling guarantees
These are architectural properties of the system — not privacy policy language. You can verify them by reading the source code.
Probe prompts are sent from your LLMSec instance to your LLM endpoint. They never leave your network.
Model responses are stored only in ~/.llmsec/scans/<scan_id>.db on your local disk.
Generated PDF reports are written locally. They are never uploaded anywhere.
No telemetry by default. You can explicitly opt-in to anonymized telemetry (helps us improve probes).
License verification happens entirely offline via Ed25519 signature. No license check ever contacts our servers.
Prompts and responses are never logged by the scanner by default — only hashed digests appear in the audit trail.
Common issues
401 Unauthorized from LLM endpoint
Check that $OPENAI_API_KEY (or your endpoint key) is set correctly in .env.
Connection refused to Ollama
Run `ollama serve` in a separate terminal. Ollama listens on localhost:11434.
All retry attempts failed
Network timeout or rate limit. Try --concurrency 3 --timeout 60.0.
No probes matched filter
Check the category name spelling: run `llmsec probe list` to see valid names.
License validation failed
Ensure LLMSEC_LICENSE_KEY is set in .env and that the system clock is accurate.
Pre-call checklist
Before a customer demo or first production scan: