Promptfoo
CLI and web viewer for testing prompts, comparing models and red-teaming LLM apps before they ship.
Quick answer
Promptfoo is a CLI and web viewer for testing prompts, comparing models and red-teaming LLM apps before they ship, listed under LLM gateway & observability. A typical small-business use: check that a prompt or model change does not break a support bot's answers before release. Official hardware: minimum 8 GB RAM (recommended 4 vCPU · 16 GB RAM · 100 GB disk). That fits a Hetzner Cloud CPX32 server at about €35.99/month (server only, excl. VAT; €69.99/month for the recommended spec). License: MIT, which allows internal business use.
Last updated · facts verified against official docs on · sources
Activity data comes from GitHub and was last refreshed Nov 2, 2026.
What is Promptfoo?
Promptfoo is an MIT-licensed command-line tool and library for evaluating LLM apps. You describe prompts, test cases and assertions in a config file, run them against OpenAI, Anthropic, Azure, Bedrock, Ollama and many other providers, and compare results side by side in a web viewer. It also runs red-team scans for vulnerabilities such as prompt injection and can run in CI. Evals run locally; an optional self-hosted Docker server stores and shares eval results for a team.
Where it fits in a 10–200 person business
- Check that a prompt or model change does not break a support bot's answers before release
- Compare several models on your own test cases to pick the cheapest one that is good enough
- Red-team an internal chatbot or agent for prompt injection and data leaks
These use cases are our editorial suggestions, not claims made by the project.
Can a business use Promptfoo? (license)
| License | MIT |
|---|---|
| Type | Permissive: MIT / Apache-2.0: use, modify and sell with few obligations. |
| Internal business use | Allowed under the license text |
| What to watch | Free for internal and commercial use, modification and redistribution. Keep the license and copyright notice. |
This is a plain-English summary of the license text, not legal advice. Third-party models you run with it have their own licenses.
Data & compliance: does Promptfoo phone home?
| Telemetry (usage data sent to the vendor) | On by default Records commands run and assertion types used, the package version and CI status; when logged in, also user ID, email and auth method. Prompts, outputs, test cases and API keys are not included. How to turn it off: Set PROMPTFOO_DISABLE_TELEMETRY=1. |
|---|---|
| Other calls home by default (updates, marketplaces, default cloud services) | Yes, by default Besides telemetry, the CLI checks the npm registry for newer versions. How to turn it off: Set PROMPTFOO_DISABLE_UPDATE=1. |
| Single sign-on (OIDC / SAML / LDAP) | Not supported By protocol: OIDC not supported · SAML not supported · LDAP not supported. The self-hosted server has no built-in authentication or SSO; the docs point to the paid Enterprise platform for that. |
| Audit log | Not documented |
| Role-based access control (RBAC) | No The docs list no multi-team support or role-based access control for the self-hosted server. |
| Data residency / GDPR notes from the project | Not documented |
Checked against the project's own docs and repository on . "Not documented" means we could not find the answer in official sources; it does not mean the feature is missing or that no data is sent. Third-party services you connect (model APIs, vector databases, search engines) have their own data policies. Compare all apps.
What hardware does Promptfoo need?
| Minimum | 8 GB RAM |
|---|---|
| Recommended | 4 vCPU · 16 GB RAM · 100 GB disk |
| GPU | Not required. |
Server (web UI/API) figures from the docs: "4+ cores recommended", "RAM 8GB+ (16GB recommended for heavy use)", "100GB+ recommended" storage, SSD for the database volume. The server is optional; the CLI alone lists 2+ cores, 4 GB+ RAM, 10 GB+ storage and Node.js 22.22.0 or newer.
How much does it cost to host Promptfoo per month?
| Minimum spec | 8 GB RAM → CPX32 (4 vCPU, 8 GB, 160 GB disk) €35.99/mo |
|---|---|
| Recommended spec | 4 vCPU · 16 GB RAM · 100 GB disk → CPX42 (8 vCPU, 16 GB, 320 GB disk) €69.99/mo |
How we got this: we took the cheapest Hetzner Cloud Regular Performance (shared AMD vCPU) plan with at least the RAM and vCPU the project lists, using prices read from www.hetzner.com/cloud/regular-performance on 2026-11-02. "From" monthly price cap shown by Hetzner, excluding VAT. Prices vary by location. Covers the server only; it excludes LLM API usage, backups, extra storage, GPUs and your time. Disk is not matched; add a volume if you need more than the plan includes.
How to deploy Promptfoo
Method: Docker (optional results server; the CLI installs with npm)
docker pull ghcr.io/promptfoo/promptfoo:latest
docker run -d \
--name promptfoo_container \
-p 3000:3000 \
-v /path/to/local_promptfoo:/home/promptfoo/.promptfoo \
-e OPENAI_API_KEY=sk-abc123 \
ghcr.io/promptfoo/promptfoo:latest
# open http://localhost:3000
# CLI only: npm install -g promptfoo && promptfoo init --example getting-started From the official instructions: www.promptfoo.dev/docs/usage/self-hosting/. Always check the source for the current version before you run it.
Known gotchas when self-hosting Promptfoo
- The docs say self-hosting is not recommended for production: the server has no built-in authentication, SSO, multi-team support or role-based access control. Keep it on a private network. source
- Results live in a SQLite database in /home/promptfoo/.promptfoo; without that volume mapping, data is lost when the container is recreated. source
- Run only one replica. Jobs live in each server's memory and replicas cannot share the SQLite database, so more than one leads to "Job not found" errors. source
- Basic usage telemetry is on by default (commands and assertion types, plus account email when logged in). Set PROMPTFOO_DISABLE_TELEMETRY=1 to turn it off. source
Alternatives in LLM gateway & observability
- LiteLLM AI gateway that puts 100+ LLM providers behind one OpenAI-compatible API with keys and budgets.
- New API Self-hosted AI API gateway (One API fork) that puts many model providers behind one key, with quotas, usage logs and cost tracking.
- One API Original self-hosted LLM API gateway that puts many model providers behind one OpenAI-style key, with quotas and token management.
- Langfuse LLM observability with tracing, prompt management, evaluations and cost tracking.
- MLflow Open-source platform for LLM tracing, evaluation and prompt management plus classic ML experiment tracking and model registry.
- Opik Open-source LLM observability and evaluation platform for tracing, evals, prompt management and monitoring.
- Phoenix Free self-hosted LLM tracing, evaluation, datasets and prompt management from Arize.
Promptfoo FAQ
How much RAM does Promptfoo need?
The official minimum is 8 GB RAM. The recommended spec is 4 vCPU · 16 GB RAM · 100 GB disk. Server (web UI/API) figures from the docs: "4+ cores recommended", "RAM 8GB+ (16GB recommended for heavy use)", "100GB+ recommended" storage, SSD for the database volume. The server is optional; the CLI alone lists 2+ cores, 4 GB+ RAM, 10 GB+ storage and Node.js 22.22.0 or newer.
Does Promptfoo need a GPU?
Not required.
How much does it cost to self-host Promptfoo?
The software is free to download. Based on the official minimum 8 GB RAM (recommended 4 vCPU · 16 GB RAM · 100 GB disk): That fits a Hetzner Cloud CPX32 server at about €35.99/month (server only, excl. VAT; €69.99/month for the recommended spec). That covers the server only, not LLM API usage, backups, extra storage or your time.
Is Promptfoo free for commercial use?
Promptfoo is licensed under MIT (Permissive). Internal business use is allowed under the license text. Free for internal and commercial use, modification and redistribution. Keep the license and copyright notice. This is a summary, not legal advice.
What are common problems when self-hosting Promptfoo?
The docs say self-hosting is not recommended for production: the server has no built-in authentication, SSO, multi-team support or role-based access control. Keep it on a private network. Results live in a SQLite database in /home/promptfoo/.promptfoo; without that volume mapping, data is lost when the container is recreated. Run only one replica. Jobs live in each server's memory and replicas cannot share the SQLite database, so more than one leads to "Job not found" errors. Basic usage telemetry is on by default (commands and assertion types, plus account email when logged in). Set PROMPTFOO_DISABLE_TELEMETRY=1 to turn it off.
Is Promptfoo still maintained?
Yes, it is actively developed. Last commit: Nov 2, 2026. Latest release: 0.125.1 (Oct 25, 2026). Checked Nov 2, 2026.
How do I install Promptfoo?
The official method is Docker (optional results server; the CLI installs with npm). The exact commands are in the "How to deploy" section above and in the official instructions: https://www.promptfoo.dev/docs/usage/self-hosting/
What are self-hosted alternatives to Promptfoo?
Other apps in LLM gateway & observability: LiteLLM, New API, One API, Langfuse, MLflow, Opik, Phoenix.
Sources
- GitHub repository: github.com/promptfoo/promptfoo
- Official documentation, Hardware requirements, Deploy instructions, Gotcha 1, Gotcha 2, Gotcha 3: www.promptfoo.dev/docs/usage/self-hosting/
- License text: github.com/promptfoo/promptfoo/blob/main/LICENSE
- Gotcha 4: www.promptfoo.dev/docs/configuration/telemetry/
- Hetzner Cloud pricing (cost estimate): www.hetzner.com/cloud/regular-performance
- GitHub stars, commits and releases: GitHub REST API, fetched
Facts on this page were checked against the project's own repository and docs on 2026-11-02. Spotted something out of date? Tell us.