Telemetrie in eigenen KI-Tools: was vLLM, Hugging Face und Vektordatenbanken senden
Eurokommerz, Wien, seit 2006: Private AI/ML · IT Managed Services · Enterprise Training · KI-Hardware & Software
- vLLM „collects anonymous usage data by default“: Hardware, Modellarchitektur und Engine-Einstellungen, gesendet an stats.vllm.ai beim Start und danach alle zehn Minuten, bis VLLM_
NO_ USAGE_ STATS=1 oder DO_NOT_TRACK=1 gesetzt ist - Im Quelltext von vLLM müssen beide Variablen genau 1 sein; DO_NOT_TRACK=true, der Wert im Open-WebUI-Image, stoppt die Meldungen von vLLM nach unserer Lesart des Codes nicht
- Hugging-Face-Bibliotheken, Chroma, Qdrant, n8n und NeMo Guardrails melden ebenfalls ab Werk Nutzungsdaten, jeweils mit eigenem Schalter; Hugging Face akzeptiert 1, ON, YES oder TRUE
- Ollama erklärt, bei lokal betriebenen Modellen weder Prompts noch Daten zu sehen; OLLAMA_
NO_ CLOUD=1 entfernt Cloud-Modelle und Websuche - Die Images von NVIDIA NIM for LLMs 2.0.4-pb6 setzen die Opt-outs für vLLM, Hugging Face, Ray und DO_NOT_TRACK ab Werk; eine Firewall, die ausgehenden Verkehr der GPU-Server sperrt, fängt ab, was eine Einstellung verfehlt
Geliefert von Eurokommerz: KI-Server, auf Bestellung gebaut Konfiguration anfragen →
Welche Teile eines privaten LLM-Stacks Daten nach außen senden
Mehrere Komponenten eines selbst betriebenen LLM-Stacks melden ab Werk Nutzungsdaten. vLLM sendet anonyme Daten zu Hardware, Modell und Engine an seine Entwickler, bis VLLM_ oder DO_NOT_TRACK=1 gesetzt ist; Hugging-Face-Bibliotheken, die Vektordatenbanken Chroma und Qdrant, n8n und NeMo Guardrails tun dasselbe, jeweils mit eigenem Schalter. Die Felder, die vLLM, Chroma, Qdrant und NeMo Guardrails dokumentieren, enthalten keine Prompts oder Antworten, doch eine Datenschutz- oder Air-Gap-Vorgabe verlangt meist, dass es gar keine ungeplante ausgehende Verbindung gibt.
Telemetrie ist nur eine Form ausgehenden Verkehrs. Versionsprüfungen, Modell-Downloads und Cloud-Funktionen sind weitere, und dieselben Einstellungen decken sie oft mit ab. Dieser Artikel geht jede Komponente nach ihrer Dokumentation vom Oktober 2026 durch, mit dem Schalter, der sie abstellt, und den Teilen, für die es eine Firewall braucht. Die Installation eines Stacks ohne Internetzugang behandelt unser Leitfaden zum Air-gapped-LLM-Server, eingehende Zugriffe der Leitfaden GPU-Server absichern.
| KOMPONENTE | MELDET AB WERK | ABSCHALTEN MIT |
|---|---|---|
| vLLM | Nutzungsdaten alle 10 Minuten | VLLM_ |
| Hugging-Face-Bibliotheken | Nutzung der Bibliotheken | HF_ |
| Ray (vLLM, mehrere Server) | Nutzungsstatistik seit Ray 1.13 | RAY_ |
| Chroma | Nutzungsereignisse an PostHog | ANONYMIZED_ |
| Qdrant | anonymisierte Nutzungsstatistik | QDRANT_ |
| n8n | Daten an die Server von n8n | drei Variablen false, drei leer |
| NeMo Guardrails | Heartbeats zur Installation | NEMO_ |
| Dify | Versionsprüfung | CHECK_UPDATE_URL leer lassen |
| Open WebUI | Versionsprüfung | OFFLINE_MODE=true |
| Ollama | nichts bei lokalen Modellen | OLLAMA_ für Cloud-Funktionen |
Dokumentation oder Quelltext des jeweiligen Projekts, gelesen am 24. Oktober 2026; Einzelheiten und Einschränkungen in den Abschnitten unten.
vLLM Usage Stats: was gesammelt wird und wie Sie es deaktivieren
Die Dokumentation von vLLM sagt: „vLLM collects anonymous usage data by default“. Die aktuelle Feldliste steht in vllm/usage/usage_. Sie umfasst den Cloud-Anbieter, Anzahl und Typ der Prozessoren, den gesamten Arbeitsspeicher, die Plattform, die CUDA-Runtime, Anzahl, Typ und Speicher der GPUs, die Modellarchitektur, die vLLM-Version und eine anonyme ID, dazu die Werte von fünf vLLM-Umgebungsvariablen. Der Beispieldatensatz in der Dokumentation, aus v0.4.0, nennt außerdem Engine-Einstellungen: Datentyp, Tensor-Parallel-Größe, Blockgröße, GPU-Speichernutzung, Quantisierung, Datentyp des KV-Cache, LoRA, Prefix Caching und weitere. Modellnamen und Prompts gehören nicht zu den Feldern.
Der Code sendet die erste Meldung aus einem Hintergrund-Thread und danach alle zehn Minuten einen Heartbeat mit ID und Zeitstempel (time.sleep(600)). Der empfangende Server ist VLLM_, laut envs.py von v0.32.0 standardmäßig https://stats.vllm.ai. Eine lokale Kopie landet in ~/.config/vllm/usage_, und die Dokumentation empfiehlt tail auf diese Datei, um zu sehen, was gesammelt wird.
Die Dokumentation nennt drei Wege zum Opt-out:
export VLLM_NO_ USAGE_ STATS=1 export DO_NOT_ TRACK=1 - eine leere Datei
~/.config/vllm/do_not_ track
Auf den genauen Wert kommt es an. In envs.py zählt VLLM_ nur, wenn er „1“ ist, und VLLM_DO_NOT_TRACK, das auf DO_NOT_TRACK zurückfällt, ebenfalls nur bei „1“. Nach unserer Lesart des Codes meldet vLLM mit DO_NOT_TRACK=true weiter. Hugging Face akzeptiert „true“, und das Open-WebUI-Image setzt DO_NOT_TRACK=true; ein Wert, der aus der Konfiguration eines anderen Dienstes in den vLLM-Container übernommen wird, wirkt also nicht wie erwartet. Setzen Sie VLLM_ in der Umgebung jedes vLLM-Containers und jeder systemd-Unit. Die Datei im Home-Verzeichnis wirkt nur für den Benutzer, unter dem vLLM läuft, und muss in einem Container im Image oder auf einem eingehängten Volume liegen.
Läuft vLLM über mehrere Server, nutzt es Ray. Die Dokumentation von Ray sagt: „Starting in Ray 1.13, Ray collects usage stats data by default (guarded by an opt-out prompt)“. RAY_ ist die Variable, die NVIDIA dafür in seinen NIM-Images setzt; setzen Sie sie daher auch auf jedem Ray-Knoten.
Hugging-Face-Bibliotheken und der Hub
Hugging Face beschreibt die Telemetrie seiner Bibliotheken in der Dokumentation von huggingface_hub: „By default, some data is collected by HF libraries (transformers, datasets, gradio,..) to monitor usage, debug issues and help prioritize features.“ Jede Bibliothek legt fest, was sie meldet, und HF_ schaltet die Telemetrie global ab. DO_NOT_TRACK ist als gleichwertig aufgeführt. Boolesche Variablen gelten bei 1, ON, YES oder TRUE als wahr, unabhängig von der Schreibweise.
Telemetrie ist nur ein Teil des Verkehrs. Ein Modell vom Hub zu laden, ist eine gewollte Verbindung, und selbst bei einer Datei im Cache fragt hf_hub_download nach einer neueren Version. HF_HUB_OFFLINE=1 verhindert das: „no HTTP calls will be made to the Hugging Face Hub“, es werden nur Dateien aus dem Cache verwendet. Ein angemeldeter Host sendet sein Token standardmäßig mit jeder Anfrage; HF_ beschränkt das auf schreibende Aufrufe. Das Kommandozeilenwerkzeug hf fragt höchstens einmal täglich bei PyPI nach einer neuen Version, was HF_ abstellt.
Auf einem Produktivserver, der Modelle von einem lokalen Pfad lädt, deckt HF_HUB_OFFLINE=1 am meisten ab, denn Telemetrie, Versionsprüfung und Downloads gehen alle an den Hub.
Open WebUI und seine Vektordatenbank
Das Dockerfile von Open WebUI setzt SCARF_, DO_NOT_TRACK=true und ANONYMIZED_ und schreibt eine ID aus Nullen in die Telemetriedatei von Chroma. Das sind Einstellungen des Images. Eine Python-Installation von Open WebUI erhält sie nicht; setzen Sie sie dort selbst. Open WebUI als Oberfläche eines privaten LLM für die Belegschaft beschreibt unsere private ChatGPT-Alternative.
Die Anwendung hat eine Versionsprüfung, ENABLE_, ab Werk an. OFFLINE_MODE=true schaltet sie ab und setzt zugleich HF_HUB_OFFLINE=1; Embedding- und Sprachmodelle müssen dann bereits im Cache oder im Image liegen. Das Image ohne CUDA lädt sein Standard-Embedding-Modell und Whisper beim Bau herunter. Der Export per OpenTelemetry ist ab Werk aus; eingeschaltet geht er standardmäßig an http://localhost:4317, einen Collector, den Sie selbst betreiben.
Community Sharing, ENABLE_, ist ab Werk an; es ist Voraussetzung der Sicherheitslücke GHSA-vpq8-f445-hcq7 mit Schweregrad High vom 27. September 2026, behoben in Open WebUI 0.11.4. Schalten Sie es ab, sofern die Belegschaft nicht auf der Community-Seite von Open WebUI veröffentlichen soll, wie unser Artikel Open WebUI absichern erklärt.
Wir setzen diese Variablen, wenn wir die Plattform auf von uns gelieferten Servern einrichten; schicken Sie uns die Komponenten Ihres Stacks, und unser Team antwortet mit den Einstellungen und den ausgehenden Verbindungen, die jede davon braucht.
Vektordatenbanken: Chroma und Qdrant
Die Telemetrieseite von Chroma sagt: „We use Posthog to store and visualize telemetry data.“ Gesammelt werden Chroma-Version und Umgebungsangaben, die Nutzung von Embedding-Funktionen und bei Collection-Befehlen eine anonymisierte Collection-UUID und die Zahl der Einträge; „We do not collect personally-identifiable or sensitive information“, etwa Benutzernamen, Hostnamen, Dateinamen oder Umgebungsvariablen. Setzen Sie ANONYMIZED_ in der Serverumgebung auf False oder anonymized_ in den Client-Einstellungen.
Der Open-Source-Container von Qdrant „collects anonymized usage statistics from users in order to improve the engine by default“: Systemangaben wie CPU, RAM und Datenträgertyp, Zeitmessungen und Zähler sowie Berichte über kritische Fehler. Jeder Start erzeugt eine zufällige UUID, die nicht gespeichert wird, Namen und URLs werden gehasht. IP-Adressen, Collection-Namen und gespeicherte Daten werden nicht erfasst. Abschalten lässt sich das mit QDRANT_, mit telemetry_ in der Konfigurationsdatei oder mit dem Schalter --disable-telemetry. Die lokalen Endpunkte /metrics und /telemetry bleiben verfügbar. In Qdrant Cloud ist die Erfassung ab Werk aus. Unser Vergleich der Vektordatenbanken hilft bei der Wahl.
Workflow- und Anwendungstools: n8n, Dify, NeMo Guardrails
Die Isolationsseite von n8n beginnt mit „By default, a self-hosted n8n instance sends data to n8n's servers.“ Um das zu unterbinden, setzen Sie N8N_, N8N_ und N8N_ auf false und lassen EXTERNAL_, N8N_ und N8N_ leer. Unser Leitfaden zu n8n mit lokalem LLM behandelt die übrige Einrichtung.
Die Konsole von Dify fragt CHECK_UPDATE_URL, standardmäßig https://updates.dify.ai, nach neuen Versionen ab; laut Dokumentation schaltet ein leerer Wert die Prüfung ab und passt für Air-gapped-Umgebungen. Fehlerberichte an Sentry sind aus, solange kein DSN gesetzt ist. Unser Artikel zu Dify mit lokalem LLM behandelt die Anbindung der Modelle.
Die Bibliothek NeMo Guardrails von NVIDIA „collects anonymous telemetry“ über Einsatzmuster, sendet „periodic heartbeats“ an NVIDIA und legt eine lokale Kopie als usage_stats.json unter ~/.config/nemoguardrails ab. Prompts, Antworten, Zugangsdaten, Modellnamen und IP-Adressen sind ausgenommen. NEMO_, DO_NOT_TRACK=1 oder eine Datei do_not_track im Konfigurationsverzeichnis stoppen sie, und die Einstellung muss vor dem Start der Bibliothek gesetzt sein, weil ein laufender Heartbeat-Thread nicht anhält. Die Guard-Modelle selbst dimensioniert unser Leitfaden zu Guardrail-Modellen.
Ollama und NVIDIA-NIM-Container
Die FAQ von Ollama sagt: „Ollama runs locally. We don't see your prompts or data when you run locally.“ Bei Cloud-Modellen verarbeitet der Dienst von Ollama die Prompts, und Ollama erhebt „basic account info and limited usage metadata“. OLLAMA_ oder disable_ auf true in ~/.ollama/server.json macht Ollama rein lokal, ohne Cloud-Modelle und Websuche; nach einem Neustart zeigt das Log Ollama cloud disabled: true. Die automatischen Updates, die die FAQ beschreibt, sind die der Apps für macOS und Windows.
NVIDIAs Referenz der Umgebungsvariablen für NIM for LLMs 2.0.4-pb6, aktualisiert am 17. September 2026, gibt DO_NOT_TRACK und VLLM_ in PB6-Images den Standardwert 1 und sagt, dass diese Images außerdem HF_ und RAY_ setzen. Diese Aussage gilt für die PB6-Images; für jede andere NIM-Version lesen Sie deren eigene Referenz. Ein NIM-Container lädt sein Modell beim Start mit NGC_API_KEY von NGC, es sei denn, NIM_ ist gesetzt und der Cache unter NIM_CACHE_PATH, standardmäßig /opt/nim/.cache, ist bereits gefüllt.
Egress-Filter als Rückfallebene
Einstellungen gelten je Komponente und je Version: Ein neues Release kann eine Meldung hinzufügen, und ein Container, der ohne die Variable startet, meldet wieder. Eine Firewall, die ausgehende Verbindungen der GPU-Server und Anwendungshosts sperrt und nur Paketspiegel, Registry und Modellablage freigibt, fängt ab, was eine Einstellung verfehlt. Ihr Log abgewiesener Verbindungen zeigt, welche Komponente welchen Host erreichen wollte, und diese Liste sollten Sie nach jedem Update durchsehen.
Starten Sie vor dem Livebetrieb jeden Dienst einmal mit seiner endgültigen Konfiguration auf einem Host, dessen ausgehende Verbindungen protokolliert werden, und lassen Sie ihn länger als zehn Minuten laufen, lange genug, dass ein Heartbeat von vLLM gesendet worden wäre. Jede Verbindung im Log sollte zu einem eingeplanten Host gehen, etwa zu Ihrer Registry oder Modellablage. Wiederholen Sie den Test nach jedem Update von vLLM, Open WebUI oder der Vektordatenbank, denn Standardwerte können sich zwischen Releases ändern.
| EBENE | MASSNAHME |
|---|---|
| Jeder Container, jede Unit | Opt-out-Variablen ausdrücklich gesetzt, Wert 1, wo dokumentiert |
| Laden der Modelle | HF_HUB_OFFLINE=1, lokale Modellpfade |
| Anwendungshosts | Versionsprüfungen aus, Cloud-Funktionen aus |
| Netzwerk | ausgehend standardmäßig gesperrt, Spiegel erlaubt |
| Nach jedem Update | Log abgewiesener Verbindungen geprüft |
Unsere Zusammenfassung der oben zitierten Dokumentation.
Die Hersteller beschreiben diese Meldungen als anonym. Ob solche Nutzungsdaten personenbezogen sind und ob ihre Übermittlung in Ihr Verzeichnis der Verarbeitungstätigkeiten gehört, beurteilt Ihr Datenschutzbeauftragter; unser Artikel zur DSFA für ein internes LLM behandelt die Prüfung, Schatten-KI: Richtlinie und Kontrollen die Tools, die Mitarbeitende selbst installieren. Zum Zugriff ausländischer Behörden auf Daten bei Anbietern lesen Sie unseren Artikel zu CLOUD Act und Datenresidenz in der EU.
Was wir liefern
Sie können die Server für diesen Stack bei uns kaufen: Unser Team dimensioniert die Konfiguration nach Ihrer Arbeitslast und Ihrem Budget und antwortet innerhalb eines Werktages. Wir bauen KI-Server auf Bestellung, vor der Lieferung montiert und getestet, auf Wunsch mit Betriebssystem, Treibern, CUDA und Container-Runtime. Die Einrichtung von vLLM, Open WebUI, Dokumentensuche und Plattform mit gesetzten Opt-outs gehört zu unserem Service Private AI/ML. Fordern Sie die Liste der ausgehenden Verbindungen an für die Komponenten, die Sie einsetzen wollen.
FAQ
Wie deaktiviere ich die Usage Stats von vLLM?
VLLM_NO_USAGE_STATS=1 oder DO_NOT_TRACK=1 in der Umgebung jedes vLLM-Prozesses oder legen Sie die Datei ~/.config/vllm/do_not_track für den Benutzer an, unter dem vLLM läuft. Im Quelltext von vLLM müssen beide Variablen genau 1 sein; ein Wert wie true wird nicht erkannt.Welche Daten sammelt vLLM?
~/.config/vllm/usage_stats.json .Wie schalte ich die Telemetrie von Hugging Face ab?
HF_HUB_DISABLE_TELEMETRY=1 oder DO_NOT_TRACK=1. Auf einem Server, der Modelle von einem lokalen Pfad lädt, verhindert HF_HUB_OFFLINE=1 alle HTTP-Aufrufe an den Hub und deckt damit auch Versionsprüfungen und Downloads ab.Sendet Ollama meine Prompts an ollama.com?
OLLAMA_NO_CLOUD=1 macht Ollama rein lokal, ohne Cloud-Modelle und Websuche.Hat Open WebUI Telemetrie?
SCARF_NO_ANALYTICS , DO_NOT_TRACK und ANONYMIZED_TELEMETRY ab. Die Anwendung prüft ab Werk auf neue Versionen; OFFLINE_MODE=true schaltet das ab und versetzt Hugging Face in den Offline-Modus. Bei einer Python-Installation setzen Sie diese Variablen von Hand.Ist Telemetrie in KI-Tools ein DSGVO-Problem?
Wir liefern GPU-Server und richten private LLM-Stacks mit abgeschalteter Telemetrie und begrenztem ausgehendem Verkehr ein. Beschreiben Sie Ihre Aufgabe in wenigen Sätzen, unser Team hilft Ihnen weiter. Wir antworten innerhalb eines Werktages. Das erste Gespräch ist kostenlos.
Mit einem Experten sprechenWir antworten innerhalb eines Werktages