Skip to content
Helicone → EvalGuard

Helicone did logging. EvalGuard does six things. 

Drop-in proxy replacement — change the base URL, keep your SDK code. You get request/response logging, cost tracking, and caching just like Helicone. Plus red-team security (300+ plugins), LLM firewall, evals (200+ scorers), and prompt IDE in the same workspace.

SOC 2 evidence engineISO 42001 mappedEU AI ActGDPR

Same proxy, more surface

What you keep — and what you gain

Keep
  • ✓ Drop-in proxy — change one URL, keep your SDK
  • ✓ Full request / response logging
  • ✓ Cost tracking per model, per user
  • ✓ Response caching (semantic + exact)
  • ✓ Custom tags for segmentation (flat labels via X-EvalGuard-Tags)
  • ✓ Rate limiting per key
  • ✓ More generous free tier (50K traces/month — 5× Helicone's 10K)
Gain
  • + 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
  • + OTel trace correlation web→worker→LLM
  • + Drift detection + auto-reeval on regression
  • + 50 compliance frameworks + audit log

Drop-in mapping

Proxy URL mapping

Replace the base URL and swap the Helicone auth header for an EvalGuard key. Your SDK code and provider keys stay the same; Helicone properties map to EvalGuard tags.

HeliconeEvalGuardNotes
https://oai.helicone.ai/v1https://evalguard.ai/api/v1/gateway/proxySame drop-in base-URL pattern; EvalGuard routes to the right provider based on the model name.
https://anthropic.helicone.aihttps://evalguard.ai/api/v1/gateway/proxySame endpoint — claude-* model names auto-route to Anthropic.
Authorization: Bearer $OPENAI_KEYAuthorization: Bearer $PROVIDER_KEYKeep sending your provider key — or store it once in BYOK and drop the header.
Helicone-Auth: Bearer $HELICONE_KEYX-EvalGuard-Key: eg_...Proxy auth header — keys start with eg_, created at /dashboard/settings.
Helicone-Property-*: { key: value }X-EvalGuard-Tags: tag1,tag2EvalGuard tags are a flat label list (not key-value); use them to segment traces.

One-line migration

// Before — Helicone
- baseURL: "https://oai.helicone.ai/v1",
- defaultHeaders: { "Helicone-Auth": `Bearer ${HELICONE_KEY}` },
// After — EvalGuard
+ baseURL: "https://evalguard.ai/api/v1/gateway/proxy",
+ defaultHeaders: { "X-EvalGuard-Key": EG_KEY },

Backfill your history

Bring your existing Helicone logs along

The proxy swap captures new traffic. To move the request logs you already have, export them from Helicone and import them with the EvalGuard CLI — no request is dropped, and re-running the same import never double-counts (spans use a stable content hash).

# Export your logs from Helicone, then convert them:
npx @evalguard/cli import:traces --from helicone export.json --output spans.json

Prints an import summary (spans imported / duplicates skipped / parse errors) and writes the neutral-shape spans to spans.json. The same importer also reads Langfuse and Portkey exports — --from langfuse or --from portkey.

One platform, one bill

Log once. Secure, eval, optimize — everywhere.

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

Start free — 50K traces / month