Import your traces. Keep your evaluator results.
Maxim traces and evaluates your LLM app. EvalGuard imports that trace and evaluator history and adds red team (300+ plugins), an LLM firewall, and a BYOK gateway on the same spans — one workspace, one bill.
Observability + evals was the start
What you keep — and what you gain
- ✓ Trace + span timeline (sessions group into traces)
- ✓ Model + provider (inferred from the model when absent)
- ✓ Input + output capture
- ✓ Token usage — prompt / completion / total
- ✓ Cost + latency per trace
- ✓ Evaluator scores + reasoning per trace
- + Real-time LLM firewall (input + output)
- + 300+ red-team plugins with threat-feed sync
- + 200+ eval scorers (LLM-as-judge, pairwise, rubric)
- + Prompt IDE + optimizer across 90+ providers
- + Managed BYOK gateway with semantic caching
- + 50 compliance frameworks + tamper-evident audit log
Backfill your history
Bring your Maxim traces along
Export your traces from Maxim (the /v1/traces endpoint, 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.
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 trace history and its evaluator results, not your Maxim project configuration.
| What imports | Where it lands |
|---|---|
| Traces + spans | One EvalGuard span each, grouped by session id |
| Model + provider | span.model / span.provider (provider inferred when absent) |
| Input / output | span.input / span.output |
| Token usage (prompt / completion / total) | span.promptTokens / completionTokens / totalTokens |
| Cost | span.costUsd |
| Latency | span.durationMs (duration_ms or latency) |
| Evaluator scores + reasoning + tags + metadata | span.attributes (maxim.* namespace) |
Maxim accepts either input_tokens / output_tokens or prompt_tokens / completion_tokens — the importer reads both. Evaluator scores and reasoning are preserved under maxim.eval.*.
One platform, one bill
Trace once. Secure, eval, optimize — everywhere.
Observability is the hook. The platform is why you stay.
Start free