llm-integration.eu

Langfuse für Claude: selbst gehostet in der EU

Langfuse in der EU selbst hosten und Claude auf Bedrock und Vertex tracen: Docker Compose oder Helm, Cloud-EU-Preise, OpenTelemetry-Code und DSGVO-Regeln für Traces.

Aktualisiert 10 Min. LesezeitFakten geprüft am 1. Oktober 2026

TL;DR

Langfuse ist eine Open-Source-Plattform für Tracing, Evaluierung und Prompt-Verwaltung. Für Claude in der EU haben Sie zwei Wege: selbst hosten (MIT-Lizenz, Postgres, ClickHouse, Redis, S3) oder Langfuse Cloud EU in Irland. AnthropicBedrock und AnthropicVertex instrumentieren Sie mit OpenTelemetry. Traces enthalten Prompts, behandeln Sie sie ab dem ersten Tag als personenbezogene Daten.

Was leistet Langfuse für eine Claude-Anwendung?

Langfuse zeichnet jeden Claude-Aufruf als Trace auf: Prompt, Antwort, Latenz, Tokens und Kosten, eingebettet in den Anwendungsschritt, der ihn ausgelöst hat. Dazu kommen Prompt-Versionierung, Evaluierungen und Datasets. Für ein Team in der EU zählt vor allem eins: Die gesamte Plattform läuft auf Wunsch im eigenen Netz.

Die Langfuse-Dokumentation nennt sechs Bereiche: Observability, Prompt-Management, Evaluierung (LLM-as-a-Judge, Code-Evaluatoren, Nutzerfeedback, manuelles Labeling), Datasets, Dashboards für Qualität, Kosten und Latenz sowie einen Playground. Das alles steckt in der Open-Source-Edition. Laut Preisseite für Self-Hosting enthält die kostenlose Variante alle Kernfunktionen und APIs ohne Nutzungsgrenze, unter MIT-Lizenz.

Die Eigentümer haben gewechselt. Am 16. Januar 2026 hat Langfuse den Wechsel zu ClickHouse bekanntgegeben. Lizenzänderungen seien nicht geplant, Langfuse Cloud behalte Endpunkte und Verträge. In der LICENSE steht inzwischen Copyright 2023-2026 ClickHouse, Inc. Alles außerhalb von ee/, web/src/ee/ und worker/src/ee/ ist MIT. Code in diesen Ordnern braucht einen kommerziellen Schlüssel.

Diese Trennung ist für den Datenschutz relevant. Die Seite zum Lizenzschlüssel ordnet Aufbewahrungsrichtlinien, Audit-Logs, serverseitige Maskierung und RBAC auf Projektebene der Enterprise Edition zu. Was das für die DSGVO heißt, folgt weiter unten. Wenn Sie Claude zuerst durch ein Gateway leiten, zeigt unser LiteLLM-EU-Gateway den Proxy, der Langfuse mit einem einzigen Callback beliefert.

Wie hosten Sie Langfuse selbst in der EU?

Selbst gehostetes Langfuse besteht aus sechs Komponenten: Web-Container, Worker-Container, Postgres, ClickHouse, Redis oder Valkey und S3-kompatiblem Objektspeicher. Docker Compose startet alles in wenigen Minuten auf einer VM. Langfuse selbst schreibt, dass dieses Setup weder Hochverfügbarkeit noch Skalierung noch Backups bietet. Produktion gehört auf Kubernetes mit Helm oder auf verwaltete Datenbanken.

Der Architekturüberblick beschreibt, was wo liegt:

Komponente Inhalt oder Aufgabe Compose-Standard
Langfuse Web Oberfläche und APIs langfuse/langfuse:4, Port 3000
Langfuse Worker verarbeitet Events asynchron langfuse/langfuse-worker:4
Postgres Transaktionsdaten: Nutzer, Organisationen, Projekte, API-Keys Postgres 17
ClickHouse Traces, Observations, Scores ClickHouse 25.12
Redis / Valkey Queue und Cache Redis 7
S3 / Blob-Storage alle eingehenden Events, multimodale Inhalte, große Exporte MinIO

Die Prompts landen also an zwei Stellen: in ClickHouse und im Objektspeicher. Beide müssen in Ihrer EU-Region stehen, beide brauchen Backups.

Für eine erste Instanz empfiehlt die Docker-Compose-Anleitung mindestens 4 Kerne und 16 GiB RAM, etwa eine t3.xlarge, und rund 100 GiB Speicher:

  1. Repository klonen: git clone https://github.com/langfuse/langfuse.git && cd langfuse.
  2. Jeden Wert mit # CHANGEME in docker-compose.yml ersetzen. ENCRYPTION_KEY erzeugen Sie mit openssl rand -hex 32. Vorgaben wie postgres:postgres oder miniosecret sind Platzhalter, keine Passwörter.
  3. docker compose up ausführen.
  4. http://localhost:3000 öffnen, Organisation und Projekt anlegen, Public und Secret Key aus den Projekteinstellungen kopieren.
  5. Vor dem Freigeben der VM die Ports prüfen. In der Compose-Datei lauschen Oberfläche (3000) und MinIO (9090) auf allen Interfaces. Postgres, ClickHouse und Redis sind an 127.0.0.1 gebunden.

Für den Produktivbetrieb installieren Sie das Helm-Chart mit helm repo add langfuse https://langfuse.github.io/langfuse-k8s und helm install langfuse langfuse/langfuse -n langfuse. Voraussetzungen: Kubernetes 1.28 oder neuer, cert-manager und der ClickHouse-Operator. Das Chart bringt Postgres, ClickHouse, Valkey und SeaweedFS mit. Langfuse empfiehlt, SeaweedFS in Produktion durch S3, Google Cloud Storage oder Azure Blob Storage zu ersetzen. Wir würden auch Postgres als verwalteten Dienst betreiben, so empfiehlt es die Backup-Anleitung.

Wie tracen Sie Claude auf Bedrock und Vertex?

Sie kombinieren das Langfuse-Python-SDK mit dem OpenTelemetry-Instrumentor für Anthropic. Der Instrumentor umhüllt messages.create im Anthropic-SDK, und AnthropicBedrock wie AnthropicVertex nutzen genau diese Messages-Ressource. Ein einziger instrument()-Aufruf erfasst damit Claude auf Bedrock, auf Vertex und über die direkte API, ohne dass Sie Aufrufstellen ändern.

Die Anthropic-Integration von Langfuse empfiehlt opentelemetry-instrumentation-anthropic. Der Quellcode des Pakets umhüllt zusätzlich den Beta-Messages-Client für Bedrock. Das Langfuse-SDK baut auf OpenTelemetry auf, deshalb erscheint der Claude-Span innerhalb des @observe-Spans Ihrer eigenen Funktion. LANGFUSE_BASE_URL zeigt auf Ihre Instanz oder auf https://cloud.langfuse.com für Langfuse Cloud EU.

# pip install -U "anthropic[bedrock,vertex]" langfuse opentelemetry-instrumentation-anthropic
# env: LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY, LANGFUSE_BASE_URL=https://langfuse.intern.example.de
from anthropic import AnthropicBedrock, AnthropicVertex
from langfuse import get_client, observe
from opentelemetry.instrumentation.anthropic import AnthropicInstrumentor

langfuse = get_client()
AnthropicInstrumentor().instrument()

bedrock = AnthropicBedrock(aws_region="eu-central-1")
vertex = AnthropicVertex(project_id="mein-projekt", region="eu")

@observe()
def zusammenfassen(ticket: str, route: str = "bedrock") -> str:
    if route == "bedrock":
        msg = bedrock.messages.create(
            model="eu.anthropic.claude-sonnet-5",
            max_tokens=512,
            messages=[{"role": "user", "content": ticket}],
        )
    else:
        msg = vertex.messages.create(
            model="claude-sonnet-5",
            max_tokens=512,
            messages=[{"role": "user", "content": ticket}],
        )
    return msg.content[0].text

print(zusammenfassen("Kunde fragt, warum Rechnung 4711 doppelt abgebucht wurde."))
langfuse.flush()  # kurzlebige Skripte müssen vor dem Ende flushen

Zwei Modelldetails halten den Claude-Aufruf selbst in Europa. Auf Bedrock sagt die Modellkarte zu Sonnet 5, dass eu.anthropic.claude-sonnet-5 Daten in EU-Regionen hält, während global. weltweit routet. Auf Google Cloud dokumentiert Anthropic region="eu" als EU-Multi-Region-Endpunkt. Einzelne Regionalendpunkte bedienen dort nur Sonnet 4.6 und älter. Beide EU-Varianten kosten 10 % mehr als global. Die Google-Seite beschreiben wir ausführlich in Claude auf Vertex AI in Europa.

Laufen Ihre Anwendungen bereits über LiteLLM, brauchen Sie das SDK nicht in jedem Dienst. Die LiteLLM-Seite von Langfuse setzt callbacks: ["langfuse_otel"] unter litellm_settings, dazu LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY und LANGFUSE_OTEL_HOST. Der Beispielhost dort ist https://us.cloud.langfuse.com. Ersetzen Sie ihn durch Ihren eigenen Endpunkt oder https://cloud.langfuse.com, sonst schickt Ihr EU-Gateway die Traces nach Oregon.

Langfuse Cloud EU oder Self-Hosting: Was kostet es?

Selbst gehostetes Langfuse kostet keine Lizenzgebühr und hat keine Nutzungsgrenze. Sie zahlen VM oder Cluster und die Leute, die es betreiben. Langfuse Cloud EU startet kostenlos und rechnet Units oberhalb des Inklusivvolumens ab. Bis zu einigen Millionen Units im Monat ist die Cloud meist günstiger. Self-Hosting gewinnt bei Kontrolle, nicht beim Preis.

Eine Unit ist laut Preisseite jeder Tracing-Datenpunkt: ein Trace, eine Observation (Span, Event, Generation) oder ein Score.

Plan Preis pro Monat Inklusive Units Datenzugriff Hinweise
Hobby 0 USD 50k 30 Tage 2 Nutzer, keine Zusatz-Units
Core 29 USD 100k 90 Tage unbegrenzte Nutzer
Pro 199 USD 100k 3 Jahre SOC-2-Type-II- und ISO-27001-Berichte
Enterprise 2.499 USD 100k 3 Jahre zusätzlich HIPAA-Region
Self-Hosting OSS 0 USD unbegrenzt bis Sie löschen MIT, Community-Support
Self-Hosting Enterprise individuell unbegrenzt eigene Richtlinie Aufbewahrung, Audit-Logs, SLA

Zusätzliche Units kosten 8 USD pro 100k bis 1 Mio., 7 USD bis 10 Mio., 6,50 USD bis 50 Mio. und 6 USD darüber. Einen Auftragsverarbeitungsvertrag (AVV) gibt es in jedem Cloud-Plan.

Unser Rechenbeispiel mit eigenen Annahmen: 20.000 Claude-Aufrufe am Tag, jeder mit einem Trace und zwei Observations, ergeben rund 1,8 Mio. Units im Monat. Im Core-Plan sind das 29 USD plus 72 USD für die Units bis 1 Mio. plus 56 USD für die nächsten 800k, also etwa 157 USD im Monat. Die Tokenkosten für denselben Verkehr liegen weit darüber, siehe unseren Claude-API-Kostenvergleich.

Wo Cloud EU steht: Die Datenregionen verorten cloud.langfuse.com in Irland auf AWS eu-west-1. Regionen sind vollständig getrennt, Backup-Kopien bleiben in derselben Rechtsordnung. Die Liste der Unterauftragsverarbeiter, inzwischen bei ClickHouse gehostet, nennt AWS für das Hosting, AWS Bedrock für die KI-Funktionen im Produkt und mehrere US-Werkzeuge für den Support, etwa Salesforce, Pylon und Google Workspace. Gehen Sie diese Liste mit Ihrem Datenschutzbeauftragten durch, bevor Produktiv-Prompts fließen.

Was bedeutet die DSGVO für Prompt-Traces?

Ein Trace speichert den vollständigen Prompt und die vollständige Antwort. Tippt ein Nutzer einen Namen, eine Kundennummer oder eine Beschwerde ein, enthält der Trace personenbezogene Daten im Sinne von Art. 4 Nr. 1 DSGVO. Wer Langfuse hostet, wird Auftragsverarbeiter. Planen Sie Maskierung, Aufbewahrung und Löschung vor dem ersten produktiven Trace.

Vier Hebel, jeweils mit Grenzen:

  1. Inhalte gar nicht erfassen. Der OpenLLMetry-Instrumentor für Anthropic loggt Prompts und Antworten standardmäßig. TRACELOOP_TRACE_CONTENT=false schaltet das ab. Für eigene Funktionen erledigen @observe(capture_input=False, capture_output=False) oder LANGFUSE_OBSERVE_DECORATOR_IO_CAPTURE_ENABLED dasselbe.
  2. Im Client maskieren. Die Maskierungs-Doku beschreibt mask für Daten aus den Langfuse-SDK-APIs und den neueren Hook mask_otel_spans, der Span-Attribute fremder Instrumentierungen vor dem Export ändert. Clientseitig maskiert verlässt der Rohwert Ihren Prozess nie. Serverseitige Maskierung ist eine Enterprise-Funktion.
  3. Aufbewahrung. Die Datenaufbewahrung gilt pro Projekt, mindestens 3 Tage, und löscht alte Traces, Observations, Scores und Medien jede Nacht. In der Cloud braucht sie Pro oder Enterprise, im Self-Hosting die Enterprise Edition. Ohne sie speichert selbst gehostetes Langfuse unbegrenzt.
  4. Löschung auf Antrag. Setzen Sie an jedem Trace eine userId. DELETE /api/public/traces entfernt Traces samt Observations und Scores, meist innerhalb von 15 Minuten und ohne Bestätigung. Langfuse nennt dafür Self-Hosting ab v4.

Die unbequeme Folge: OSS-Self-Hosting liefert den Speicherort, aber keine automatische Löschfrist. Entweder kaufen Sie den Enterprise-Schlüssel, oder Sie bauen und betreiben einen eigenen nächtlichen Löschjob gegen die API. Die zweite Variante empfehlen wir nur, wenn jemand schriftlich dafür verantwortlich ist. Die Anbieterseite derselben Frage behandelt unser DSGVO-Anbietervergleich für Claude.

Selbst betreiben oder auslagern?

Langfuse selbst zu betreiben heißt, ClickHouse und Postgres produktiv zu betreiben. Das ist der eigentliche Aufwand. Die Anwendungscontainer sind einfach. Plattenwachstum, Upgrades über Major-Versionen, Backups zweier Datenbanken und ein Löschjob sind es nicht. Hat niemand im Team ClickHouse betrieben, ist ein Dienstleister oder Langfuse Cloud EU der sicherere Standard.

Wiederkehrende Aufgaben einer eigenen Instanz:

Aufgabe Warum sie zählt
Upgrades Minor-Versionen migrieren beim Start automatisch. Major-Versionen (v2 auf v3, v3 auf v4) haben eigene Anleitungen. Mit gebündelten Datenbanken muss das Helm-Chart zuerst von v1 auf v2.
Backups ClickHouse hält die Traces: Volume-Snapshots oder native Backups nach S3. Postgres hält Nutzer und API-Keys: verwalteter Dienst oder pg_dump.
Speicherplatz Traces wachsen. Compose alarmiert nicht. ClickHouse und Objektspeicher dimensionieren und überwachen.
Aufbewahrung und Löschung Enterprise-Schlüssel oder eigener Löschjob, mit klarer Zuständigkeit.
Geheimnisse und Zugriff # CHANGEME-Werte rotieren, Lesezugriff auf Traces beschränken, denn Traces sind Prompts.

Unsere eigene Schätzung, keine Langfuse-Angabe: Ein Pilot auf einer VM kostet eine Person einige Stunden im Monat. Ein hochverfügbares Setup auf Kubernetes mit verwaltetem Postgres und S3 braucht eine Plattform-Engineerin oder einen Plattform-Engineer mit ClickHouse-Erfahrung und eine benannte Person für Backups. Das ist ein echter Anteil einer Stelle, keine Nebenaufgabe.

Auslagern lohnt sich, wenn Ihnen Kubernetes- oder ClickHouse-Erfahrung fehlt, wenn Traces sensible Daten enthalten und Sie einen auditierten Betrieb brauchen, oder wenn Observability nicht Ihr Produkt ist. Es lohnt sich nicht, wenn Sie ClickHouse oder verwaltetes Postgres ohnehin für andere Systeme betreiben, oder wenn die Unterauftragsverarbeiter von Langfuse Cloud EU bei Ihrem Datenschutzbeauftragten bereits durchgehen.

Was Sie von einem Dienstleister verlangen sollten, der Langfuse für Sie betreibt:

  • AVV nach Art. 28 DSGVO. Der Dienstleister verarbeitet Prompts in Ihrem Auftrag. Art. 28 verlangt einen Vertrag und Ihre vorherige schriftliche Genehmigung, bevor er weitere Auftragsverarbeiter einsetzt.
  • Liste der Unterauftragsverarbeiter mit Standorten, auch für ClickHouse, Objektspeicher und Support-Werkzeuge.
  • Zugriffsmodell. Wer beim Dienstleister einen Trace öffnen kann, wie dieser Zugriff protokolliert wird und ob Audit-Logs (Enterprise-Funktion) aktiv sind.
  • SLA und Upgrade-Fenster, inklusive Vorgehen bei Major-Versionen von Langfuse.
  • Aufbewahrung und Löschung pro Projekt eingerichtet, mit Nachweis, dass der nächtliche Job läuft.
  • Exit. Dokumentierter Export der ClickHouse- und Postgres-Daten und eine Löschbestätigung zum Vertragsende.

FAQ

Ist Langfuse beim Self-Hosting kostenlos?

Ja. Die Kernplattform steht unter MIT-Lizenz, ohne Nutzungsgrenze und mit allen Kernfunktionen wie Tracing, Evaluierungen, Prompt-Management und Datasets. Aufbewahrungsrichtlinien, Audit-Logs, serverseitige Maskierung und RBAC auf Projektebene brauchen einen kostenpflichtigen Enterprise-Schlüssel. Infrastruktur zahlen Sie in jedem Fall.

Was kostet Langfuse Cloud für eine Claude-Anwendung?

Core kostet 29 USD im Monat mit 100k Units inklusive, danach 8 USD pro weitere 100k bis 1 Mio. und 7 USD pro 100k darüber. In unserem Beispiel mit 20.000 Aufrufen am Tag und drei Units pro Aufruf sind das rund 157 USD im Monat.

Wo wird Langfuse Cloud EU gehostet?

Unter cloud.langfuse.com in Irland, auf AWS eu-west-1. Langfuse gibt an, dass die Regionen vollständig getrennt sind und Backup-Kopien in derselben Rechtsordnung bleiben. Die Unterauftragsverarbeiter umfassen US-Support-Werkzeuge, die Ihr Datenschutzbeauftragter prüfen sollte.

Langfuse Cloud EU oder Self-Hosting: Was sollten wir wählen?

Cloud EU, wenn AVV und Unterauftragsverarbeiter akzeptabel sind und Ihnen ClickHouse-Erfahrung fehlt. Self-Hosting, wenn Traces im eigenen Netz bleiben müssen oder Sie ClickHouse und Postgres bereits betreiben. Selbst gehostetes OSS hat keine automatische Löschfrist.

Erfasst Langfuse AnthropicBedrock- und AnthropicVertex-Clients?

Ja, über opentelemetry-instrumentation-anthropic. Das Paket umhüllt messages.create im Anthropic-SDK, das beide Clients nutzen. Rufen Sie AnthropicInstrumentor().instrument() nach get_client() auf und flush(), bevor ein kurzlebiges Skript endet.

Können wir Prompts ganz aus Langfuse heraushalten?

Ja. Setzen Sie TRACELOOP_TRACE_CONTENT=false für den Anthropic-Instrumentor und schalten Sie die Erfassung von Ein- und Ausgaben bei @observe ab. Trace-Baum und Laufzeiten bleiben sichtbar, ohne den Text, der Traces zu personenbezogenen Daten macht.

Quellen

  1. Langfuse: Self-Hosting-Überblick (1. Oktober 2026)
  2. Langfuse: Docker-Compose-Deployment (1. Oktober 2026)
  3. Langfuse: Kubernetes (Helm) (1. Oktober 2026)
  4. Langfuse: Upgrades für Self-Hosting (1. Oktober 2026)
  5. Langfuse: Backups (1. Oktober 2026)
  6. Langfuse: Lizenzschlüssel und Enterprise-Funktionen (1. Oktober 2026)
  7. Langfuse: Cloud-Preise (1. Oktober 2026)
  8. Langfuse: Preise Self-Hosting (1. Oktober 2026)
  9. Langfuse: Datenregionen (1. Oktober 2026)
  10. Langfuse Cloud Unterauftragsverarbeiter (1. Oktober 2026)
  11. Langfuse: Datenaufbewahrung (1. Oktober 2026)
  12. Langfuse: Datenlöschung (1. Oktober 2026)
  13. Langfuse: Maskierung (1. Oktober 2026)
  14. Langfuse: Anthropic-Integration (1. Oktober 2026)
  15. Langfuse: LiteLLM-Integration (1. Oktober 2026)
  16. Langfuse: Wechsel zu ClickHouse (1. Oktober 2026)
  17. langfuse/langfuse LICENSE (1. Oktober 2026)
  18. OpenLLMetry: Anthropic-Instrumentierung (1. Oktober 2026)
  19. AWS: Modellkarte Claude Sonnet 5 (1. Oktober 2026)
  20. Anthropic: Claude auf Google Cloud (1. Oktober 2026)
  21. Verordnung (EU) 2016/679 (DSGVO) (1. Oktober 2026)

Weiterführende Guides