Langfuse is an open-source observability and prompt-management platform. Its playground can re-run a captured generation, but it doesn't replay a run's tool calls, block a call before it runs, or produce a signed compliance artifact.
| Capability | Langfuse | Runback | Note |
|---|---|---|---|
| Read and search traces | ✓ | ✓ | |
| Prompt versioning and management | ✓ | ✓ | Versioned registry with movable labels (production/staging), a runtime-fetch endpoint, and a playground |
| Self-hostable | ✓ | ✓ | Both self-hostable. Langfuse is open source (MIT); Runback is source-available — the replay and audit core is not open source. Langfuse's self-hosting docs list Postgres + ClickHouse + Redis/Valkey + S3-compatible storage, not Postgres alone |
| Re-execute any step from captured inputs | partial | ✓ | 'Open in Playground' re-runs a captured generation with edits; it doesn't replay the run's tool calls or environment state, so a multi-step re-run isn't deterministic |
| Live policy enforcement — block before it runs | ✗ | ✓ | Langfuse's security docs (langfuse.com/docs/security-and-guardrails) describe its role as "ex-post evaluation" of external guardrail libraries, not a live blocker. Runback decides each tool call server-side, from its TypeScript and Python SDKs (not yet Go or an MCP proxy), against the policy version assigned to the agent; each assignment fails closed or open during an outage (closed by default for agents declared critical, once the SDK has fetched its policy bundle), and decisions are recorded and sealed — those the SDK makes on its own once Runback answers again |
| CI release gate | ✓ | ✓ | Shipped May 2026 (langfuse/experiment-action) — fails the PR on score regressions; evaluates a dataset, not a specific captured production run against real history the way Runback's gate does |
| Signed, tamper-evident audit export | ✗ | ✓ | Traces are stored for search and analysis; the public documentation describes no hash chain or signature over them, so we see no basis for verifying a trace independently of Langfuse |
| Regulatory mappings (EU AI Act · CPS 230 · NIST) | ✗ | ✓ | |
| Independent roadmap | partial | ✓ | Acquired by ClickHouse, Jan 2026 — ClickHouse states the license, self-hosting, and roadmap are unchanged, but it's no longer a standalone company |
| Redact PII/secrets before data leaves your process | partial | ✓ | Langfuse's mask()/mask_otel_spans() is real, but it's a batch-level hook with no guarantee it sees a complete trace and can't touch span structure — Runback's SDK redacts each event in-process as it's captured |
| No metered overage billing | ✗ | ✓ | Langfuse bills consumption-based overage per unit (trace/observation/score) beyond the plan's included volume — Runback caps usage per tier and prompts an upgrade instead of a variable bill |
| Purpose-built Go SDK | ✗ | ✓ | Langfuse has no first-party Go SDK — Go apps go through a generic OpenTelemetry exporter only, with no Langfuse-specific ergonomics or redaction. Runback's Go SDK has the same manual-recording shape (and redaction) as its TS/Python SDKs |
Its playground can re-run a captured generation, but it doesn't replay a run's tool calls, block a call before it runs, or produce a signed compliance artifact. Most teams use both — Langfuse for what it's already good at, Runback for deterministic incident replay and the signed record.
Source: Langfuse's public documentation, https://langfuse.com/docs, read 8 October 2026. Products change: report an error to legal@runback.dev and we will correct it. Names and trade marks belong to their owners; Runback is not affiliated with, endorsed or sponsored by any of them.
No signup. Walk the scripted failing demo run step by step and see what the model was given.