Halton Meter Cloud

Halton Meter Cloud overview

Optional hosted layer for team rollups, reconciliation against provider invoices, branded PDF reports, and a full audit log. The local daemon stays the source of truth; Cloud reads a copy.

macOS 12+ · Python 3.11+ Reading time 2 min Updated May 11, 2026

The daemon never moves. Cloud reads a copy.

Halton Meter Cloud is the hosted SaaS tier at app.haltonmeter.com. It pairs with the local-binary halton-meter daemon (free, on PyPI) and rolls captured LLM API spend up across a team. The cloud is strictly opt-in — the daemon ships with cloud.enabled = false, and nothing leaves the machine until you run halton-meter cloud connect and approve the pairing in the browser.

The cloud lives at:

  • Marketing + sign-up: https://cloud.haltonmeter.com
  • Dashboard: https://app.haltonmeter.com
  • Backend API: https://api.haltonmeter.com
  • Pairing approval: https://app.haltonmeter.com/connect?code=...

The relationship to the daemon: the daemon’s local SQLite at ~/.halton-meter/db.sqlite remains the source of truth for every captured request. Cloud sync copies a tier-gated subset of those rows to a Postgres database — the daemon’s local data is never moved, never deleted, never mirrored back. If you disconnect, the local data and reports keep working exactly as before.

What Cloud adds

The local daemon already does the heavy lifting: TLS interception, project attribution, cost computation, terminal reports. The cloud adds the three things one local daemon cannot do alone.

Cross-machine team rollups

Pair every developer’s local daemon into one hosted workspace. The cloud dashboard at app.haltonmeter.com/[workspace]/overview shows aggregated spend across every paired machine — by project, by developer, by model, by provider. No N-laptops-to-track-separately. One dashboard, one cost model, one workspace.

Reconciliation against provider invoices

Match your captured spend against the actual invoices each provider sends. The reconciliation view (app.haltonmeter.com/[workspace]/reconciliation) shows three columns per period: what you logged, what the provider billed, the variance. When the delta is meaningful, the audit log gives you the exact requests to investigate.

In practice on cache-heavy Claude workloads the delta is under $0.20 on a $300 month after v0.2.0’s cost-recompute fix. Methodology is public — see Pricing methodology.

Branded PDF cost reports

Every project produces a client-ready PDF cost report on demand. White paper, orange brand strip, table of projects × models × tokens × cost, methodology footer linking back to haltonmeter.com/docs/concepts/pricing. Generated server-side via WeasyPrint; downloadable from the project report view. Use it to invoice clients, share with finance, or attach to a procurement request.

Audit log of state-changing events

The audit view (app.haltonmeter.com/[workspace]/audit) logs every state-changing event in the workspace — membership invitations and removals, device pair/unpair, project create/rename/delete, cost-centre edits, API-key mint/revoke, billing changes — with the actor, the timestamp, and the affected resource. Queryable, exportable, and the answer to “show us who changed what, when” during a compliance review.

The audit log captures state-change events, not the captured request stream itself. Per-request data lives in the Overview and the project report — the audit log is the change log on top of them.

Continuous optimisation recommendations

The optimisation view analyses your last 30 days of synced data and quotes a number: “swap Claude 3.5 Sonnet → Claude Haiku 4.5 on acme-batch-summariser and save $42/month.” Recommendations come from realised usage patterns, not synthetic benchmarks — they only fire when your traffic shape supports them.

What stays local

The same things that stayed local before pairing stay local after:

  • Your TLS root CA. The daemon’s mitm root never leaves the machine. It is generated on halton-meter init, stored in ~/.halton-meter/mitmproxy-ca.pem, and trusted only on this machine.
  • The full SQLite store. ~/.halton-meter/db.sqlite is canonical. Cloud sync reads from it, never writes to it, never deletes from it.
  • Captured request bodies. Bodies are NOT synced by default. They stay in the local store until you opt them in per-project via halton-meter cloud privacy set bodies.enabled true. See Sync and retention for the consent model.
  • Local paths and workdir. The default [cloud.upload] preset is standard with source_workdir = false — the high-leak field (your absolute filesystem path) is off by default. Cloud sees project slugs, not paths.

If the cloud is unreachable or unhealthy, the daemon continues capturing to local SQLite uninterrupted. Sync resumes when the backend returns. The cloud is observation infrastructure layered on top of a local-first product; it cannot break the daemon’s hot path.

When you don’t need it

Cloud is the wrong choice when:

  • You are one developer, on one machine, not billing clients. The local daemon plus halton-meter report already answers every question the cloud answers, and the local dashboard at localhost:3000 is Apache-2.0.
  • Your data cannot leave your network. Even with standard preset, metadata syncs to AWS-hosted Postgres in eu-west-2. Regulated environments should look at the Enterprise on-premises plan — same product, your infrastructure, no outbound telemetry, air-gap supported. See app.haltonmeter.com/enterprise.
  • You only want the captured-cost number, not the reports. The daemon’s terminal report (halton-meter report --since 30d) prints the same breakdown the cloud overview shows. The cloud adds sharing, reconciliation, and PDF exports — if you do not need those, you do not need the cloud.

Pricing

All prices in USD. The daemon is free; pricing covers the hosted layer only. There is no free hosted tier and no paid trial on Solo or Team — the free daemon plus a halton-meter report is the open-ended free path.

  • Solo — $16/month (annual billing, “save 16%”) · $19/month (monthly). 1 seat, 1 workspace. Includes Overview, Projects, Reports workbench (Personal summary, Client invoice templates), Optimisation, Settings. Sign in with Google or GitHub OAuth. 90-day metadata retention; 30-day body retention if you opt body sync on.
  • Team — $99/month annual (10 seats included) · $120/month monthly. Additional seats charged separately. Adds Clusters, Team page, Members page, Cost centres, Traces. 13-month metadata retention; 13-month body retention if body sync is on. Same OAuth sign-in as Solo — workspace SAML SSO and SCIM provisioning are Enterprise-only.
  • Business+ — by enquiry, annual + invoiced. Adds Executive reports, Reconciliation, Audit log, Executive P&L, Benchmarks. Custom retention on request.
  • Enterprise (on-premises) — your infrastructure (Helm chart, Terraform module, or air-gapped Docker), SAML 2.0 + SCIM (Okta, Azure AD, JumpCloud), audit-log SIEM export, RBAC, 99.9% SLA on the management plane. See app.haltonmeter.com/enterprise for the procurement details, deployment timeline, and compliance checklist.

Sign-up at cloud.haltonmeter.com; the dashboard lives at app.haltonmeter.com once you’re in.

Provider support

The cloud rolls up everything the local daemon captures, which today is:

  • Adapter-verified, reconciliation-grade — Anthropic, OpenAI, Google Gemini, xAI (4 providers, 6 adapters end-to-end including streaming, tool-use, vision, and prompt caching).
  • Generic OpenAI-compatible passthrough — Groq, Mistral, DeepSeek and other API-compatible providers. Cost is captured from the response usage block; reconciliation against the provider’s billing portal is best-effort because the upstream invoice format varies.
  • Custom adapters are available on the Enterprise tier — talk to us if you need an adapter for a provider not on the supported list.

See also