Skip to content
Langfuse → EvalGuard

Keep the traces. Add the whole platform. 

Langfuse gives you MIT-licensed LLM tracing. EvalGuard imports that trace history and surrounds it with red-team security (300+ plugins), an LLM firewall, evals (200+ scorers), and a BYOK gateway — all on the same spans, in one workspace.

SOC 2 evidence engineISO 42001 mappedEU AI ActGDPR

Observability was the start

What you keep — and what you gain

Keep
  • Trace + span timeline — all ten observation types
  • Token usage — input / output / total per call
  • Cost per call, per model
  • Full input / output capture (messages or text)
  • Metadata, tags, and model parameters
  • Latency, derived from each observation's start / end
Gain
  • + Real-time LLM firewall (input + output)
  • + 300+ red-team plugins
  • + 200+ eval scorers (LLM-as-judge, pairwise, rubric)
  • + Prompt IDE + optimizer across 90+ providers
  • + Managed BYOK gateway with similarity response caching
  • + 50 compliance frameworks + tamper-evident audit log

Backfill your history

Bring your Langfuse traces along

Export your observations from Langfuse (the /api/public/observations endpoint — which Langfuse marks deprecated, though its v2 replacement is still behind a preview opt-in, so it remains the working export path — or a dashboard download), then convert them with the EvalGuard CLI. No record is dropped — anything the importer can't parse is surfaced as an error — and re-running the same import never double-counts, because spans use a stable content hash.

# Convert your Langfuse export to neutral-shape spans:
npx @evalguard/cli import:traces --from langfuse langfuse-export.json --output spans.json

Prints an import summary (spans imported / duplicates skipped / parse errors) and writes the neutral spans to spans.json. This is a trace / observability import — it moves your run history, not your Langfuse project configuration.

What importsWhere it lands
Observations — SPAN, EVENT, GENERATION, AGENT, TOOL, CHAIN, RETRIEVER, EVALUATOR, EMBEDDING, GUARDRAILOne EvalGuard span each, grouped by trace id
Modelspan.model
Input / outputspan.input / span.output (text or messages JSON)
Token usage (input / output / total)span.promptTokens / completionTokens / totalTokens
Costspan.costUsd (from calculatedTotalCost)
Latencyspan.durationMs (computed from startTime / endTime)
Metadata + model parametersspan.attributes (langfuse.* namespace)

A Langfuse observation records the model but has no provider field of its own, so the provider is left blank on import. (They do have a provider concept — it lives on LLM connections, not on the observation you export.) Everything else the importer recognizes is preserved verbatim under span.attributes.

Langfuse claims on this page were verified against their source github.com/langfuse/langfuse @ 017ba00e5 (2026-08-07) — on 2026-08-10. The “Gain” column was checked by searching that tree for a firewall, a red-team module, a gateway/proxy and a semantic response cache — none exist, and their own docs position Langfuse as the ex-post evaluation of guardrails other libraries run. Capabilities move; check their current docs before you decide.

One platform, one bill

Trace once. Secure, eval, optimize — everywhere.

Observability is the hook. The platform is why you stay.

Start free