Telemetry
What hali reports, why it matters, and how it makes the registry better for everyone.
The philosophy
hali's telemetry is opt-in, anonymous, and purpose-built. It exists for exactly one reason: to make the public registry smarter, safer, and faster.
Every pull event you report contributes to the trust scoring system that helps the community identify reliable models and publishers. Your anonymous reports verify that models are valid, downloadable, and come from publishers who deliver what they promise.
There is no tracking. No analytics. No "product improvement" data collection. No user behavior monitoring. Just factual, anonymous reports that say "this model was successfully downloaded from this source at this time."
What gets reported
When telemetry is enabled, the daemon sends a pull event to the registry for each model you download:
{
"model_id": "mistral:7b:instruct:q4_k_m",
"revision": "abc123...",
"infohash": "a3f9c21b4d67...",
"magnet": "magnet:?xt=urn:btih:a3f9c21b4d67...",
"source_url": "https://huggingface.co/TheBloke/...",
"local_hash": "def789...",
"timestamp": 1700000000,
"publisher_pubkey": "abc123...64-char-hex...",
"publisher_sig": "def789...128-char-hex..."
}
| Field | What it is | Why it's sent |
|---|---|---|
model_id | Canonical model identifier | Maps the event to a specific model |
revision | HuggingFace revision hash | Verifies the exact version downloaded |
infohash | BitTorrent infohash | Links to the torrent swarm |
magnet | Magnet URI | Enables anyone to join the swarm |
source_url | HuggingFace download URL | Verifies the model's origin |
local_hash | Hash of the local GGUF file | Verifies file integrity |
timestamp | When the download completed | Feeds the maturity score |
publisher_pubkey | Your Ed25519 public key (64 hex) | Attributes the report to your identity |
publisher_sig | Ed25519 signature (128 hex) | Proves the report came from you |
What is NOT collected
hali telemetry does not collect or report:
- Your IP address
- Your machine name or hostname
- Your username or real identity
- Your geographic location
- Your download speed or bandwidth
- What other models you have cached
- How often you use hali
- Your Ollama/LM Studio usage
- Anything about your system, your files, or your behavior
The telemetry payload is a single JSON object per download — it contains only the public metadata about the model you just pulled and a cryptographic signature proving it came from your key.
Why reporting matters
Every pull event you report makes the registry better for the community. Your anonymous download confirmations feed the trust scoring engine, which helps everyone identify quality models and reliable publishers. You're contributing real signal that protects the ecosystem from bad actors — just by using the tool normally.
How your reports improve the registry
1. Trust scoring
The download_success_rate component of the trust score (20% weight) depends entirely on download reports from peers like you:
trust_score = 0.4 × format_validity
+ 0.3 × publisher_reputation
+ 0.2 × download_success_rate ← YOUR REPORTS
+ 0.1 × maturity_factor
Each successful download you report increases the success rate for that model. Each failure report (e.g., corrupted file) decreases it. Over time, this separates reliable models from unreliable ones.
2. Publisher reputation
Your reports flow up to publisher reputation scores. Publishers who consistently deliver valid, downloadable models earn higher reputations. Their models rank higher in search. The community benefits from better signal.
3. Visibility
Models below the visibility threshold (score < 0.3) are hidden from search results. Your reports are part of the mechanism that surfaces good models and suppresses bad ones.
4. Freshness
The maturity_factor component (10% weight) uses timestamps from pull events to measure how long a model has been in active circulation. Older models with consistent download success get a maturity bonus.
The signing pipeline
Every telemetry event is cryptographically signed with your Ed25519 keypair. This proves:
- The report genuinely came from you (not a third party)
- The data hasn't been tampered with in transit
- The report can be attributed to a specific publisher identity
The signing flow:
Events that fail signature verification are rejected silently by the backend. They do not affect trust scores.
Managing telemetry
Check current state
hali telemetry status
# Telemetry is enabled.
Enable
hali telemetry enable
Pull events are signed and submitted after each download.
Disable
hali telemetry disable
When disabled:
- Pull events are still generated and queued on disk
- They are never sent to the registry
- Manifest generation still happens locally (the torrent is created, the infohash is computed)
- The manifest is not submitted to the registry — your model stays local
Re-enable
hali telemetry enable
hali service restart # Submits queued events and manifests
When you re-enable telemetry, the daemon submits any queued events from when telemetry was disabled.
FAQ
Can I use hali without telemetry?
Yes. Disable it with hali telemetry disable. Everything still works — downloading, caching, LAN sharing, exporting to runtimes. The only things that stop: manifest submission to the registry (your models stay local) and pull event reporting.
Can I see what data was sent?
Enable debug logging:
hali config set debug true
hali service restart
The daemon will log the telemetry payload before sending.
What happens if the registry is unreachable?
Events are queued locally and retried. If the registry is down, nothing is lost — events are sent when connectivity returns.
Is my privacy at risk?
Your only identifier is a randomly generated Ed25519 public key. No personal information is attached. If you've created a publisher profile (display name, website, etc.), that profile is publicly visible on the registry — it's your choice what goes in it.
Does disabling telemetry hurt other users?
Indirectly, yes. Without pull reports, the trust scoring system has less data to work with. Models take longer to accumulate download success metrics. New publishers take longer to build reputation. The registry is marginally less useful without your contribution.
But this is your choice — hali works perfectly without telemetry, just without the global registry benefit.