Keep your OpenInference traces. Add security and compliance.
Arize Phoenix is a great open-source OpenInference tracing + evaluation tool. EvalGuard imports your Phoenix spans — model, provider, token counts, and input/output all carry over — then adds hosted red-team scans (300+ plugins), a runtime LLM firewall, an AI gateway, and a SOC 2 evidence engine on the same data. No sign-up needed to run your first import.
Honest positioning
Where Phoenix stops, EvalGuard keeps going
Phoenix is a first-class open-source tracing + eval tool built on the OpenInference standard. EvalGuard overlaps on tracing and evals, then extends into the hosted security platform, runtime firewall, AI gateway, and compliance work you'd otherwise buy separately.
| Capability | Arize Phoenix | EvalGuard |
|---|---|---|
| Open-source OpenInference / OTel tracing | Yes | Yes — OTLP + OpenInference ingestion, governed |
| Evaluation + LLM-as-judge | Yes | Yes — 200+ scorers (LLM-as-judge, pairwise, rubric) |
| Span-level token / cost capture | Yes | Yes — per-org cost ledger + budgets |
| Open source & self-hosting | Yes | Yes — Apache-2.0 core, self-host available |
| Red-team & security scans | Not offered | Yes — 300+ attack plugins with threat-feed sync |
| Runtime LLM firewall / guardrails | Not offered | Yes — real-time input + output firewall |
| AI gateway / BYOK proxy | Not offered | Yes — BYOK gateway, 15 proxied providers, semantic cache |
| SOC 2 evidence engine | Not offered | Yes — live evidence engine + audit log |
Migration path
Bring your spans in one command
Everything stays local until you choose to run it — we never touch your Phoenix instance. Export your spans, then convert them to neutral-shape spans with the EvalGuard CLI.
# Python: df = px.Client().get_spans_dataframe()
# df.to_json('phoenix-spans.json', orient='records', date_format='iso')npx @evalguard/cli import:traces --from phoenix phoenix-spans.json --output spans.jsonnpx @evalguard/cli scan # 300+ red-team attacks on your migrated dataEvery OpenInference attribute — llm.model_name, token counts, and input/output.value — maps over (both the flattened dataframe and nested CLI-raw exports). Then layer on red team, a runtime firewall, and a SOC 2 evidence engine.
Want a hand with the migration?
Send us your Phoenix export and we'll help you map it and validate the first import. Free.