Halton Meter Cloud

Workspaces

Workspaces are the unit of team collaboration in Halton Meter Cloud — one workspace per company or client engagement, with members, paired devices, and per-workspace billing.

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

A workspace is the unit of team collaboration. It holds:

  • Members — the people who can view the workspace’s spend
  • Devices — the paired developer machines whose daemons sync into it
  • Projects — the project slugs the daemon attributes against
  • Billing — the plan, seat count, and tier (Solo, Team, Business+, Enterprise)

You can be a member of multiple workspaces. One workspace per company or per client engagement is the common shape; a workspace per repo is overkill. Switch workspaces from the avatar menu in the dashboard or visit app.haltonmeter.com/[workspace-slug]/overview directly.

Creating a workspace

Sign-up at app.haltonmeter.com creates your first workspace automatically, named after your email’s domain (e.g. acme-co from vk@acme.co). The slug is editable in workspace settings.

To create additional workspaces (Team plan and above), use the avatar menu → “Create workspace”. You will need to pick a name, a slug, and the plan.

Members and roles

Three roles, listed from most to least privileged:

RoleCan do
OwnerEverything — invite/remove members, change billing, delete the workspace, transfer ownership
AdminInvite/remove members (not other owners), edit projects, edit policies, view audit log, manage devices
MemberView dashboards, generate reports, view audit log; cannot change billing or membership

Roles are assigned per workspace, not globally. You can be an Owner of one workspace and a Member of another. The first member of a workspace is always the Owner.

Inviting members

From app.haltonmeter.com/[workspace]/members:

  1. Enter the invitee’s email.
  2. Pick a role (Member is the default).
  3. The backend issues an invitation via the v1_workspace_invitations router; an email is sent from operator@haltonlabs.com via Resend.
  4. The invitee clicks the link, signs in with Clerk (creating an account if needed), and lands directly in the workspace.

Invitations expire after 7 days. Resend or revoke from the same members view. Pending invitations do not count toward your seat limit; accepted ones do.

Seat limits

  • Solo — 1 seat. Inviting fails with a clear “seat limit reached” error.
  • Team — 10 seats included, additional seats charged separately. Additional seats are billed pro-rata on the next invoice; the dashboard tells you the delta before you confirm.
  • Business+ — custom seat limit, set in the contract.
  • Enterprise — unlimited seats; member sync via SSO directory if configured.

Devices

A device is a paired machine. Each developer typically pairs one device (their laptop); some operators run a separate paired daemon on a CI host or a build server.

From app.haltonmeter.com/[workspace]/settings/devices you can:

  • See every paired machine: hostname, machine_id, last sync timestamp, state (ACTIVE / DEGRADED / PAUSED / NOT-CONFIGURED), daemon version.
  • Revoke a device. Immediately invalidates the token; the daemon on that machine moves to paused_unauthorised on its next sync attempt. Local capture continues, but no more data flows to the cloud from that machine. Use this when a laptop is lost or an employee leaves.
  • Rename a device. The default name is the machine’s hostname; you can override it to something more human (“Vikrant’s MBP”).

There is no device limit on any plan — what you pay for is seats (members), not devices. A solo founder running the daemon on their laptop, their desktop, and a CI box still pays the Solo $19/month rate.

Projects and project scoping

Project slugs are created automatically by the daemon’s Smart Attribution (see Project tagging). The first time a request gets attributed to slug acme-api, a row appears in the workspace’s projects list. You do not have to pre-create projects.

From app.haltonmeter.com/[workspace]/projects you can:

  • Rename a project (the slug stays as the foreign key; you set a display name).
  • Add a client name and an hourly rate (for billing reports).
  • Archive a project. Archived projects stop receiving new sync rows attributed to that slug; historical data stays queryable.

The Solo plan has a 10-project ceiling. The Team plan and above are unlimited.

Personal vs. team data

The daemon’s [cloud.upload.per_project] config lets you mark certain project slugs as local-only — they will never sync, no matter what the global preset says. Use this for the personal slug the daemon falls back to when a request originates outside any tracked workspace (e.g. you running claude "draft an email" in your home directory), so personal terminal usage stays off the team dashboard.

[cloud.upload.per_project."personal"]
upload = false

[cloud.upload.per_project."side-project"]
upload = false

Edit ~/.halton-meter/config.toml or use halton-meter cloud privacy set upload false --project personal. See Sync and retention for the full consent model.

Billing

Billing is per-workspace. Each workspace has its own plan, its own seat count, its own invoice. There is no “org-level” rollup of billing across multiple workspaces — that pattern is intentionally absent because it leaks information about other engagements between separate client workspaces.

The billing surface is Clerk Billing. From the workspace settings page, “Manage billing” deep-links into the Clerk customer portal where you can:

  • Add or update a payment method
  • Change plan (Solo ↔ Team)
  • Cancel the subscription
  • Download invoices

Tier changes take effect immediately. Cancellation honours the current billing period — the workspace stays usable until the end of the period, then transitions to read-only.

Removing members

Owners and Admins can remove a member from app.haltonmeter.com/[workspace]/members. Removal is immediate:

  1. The member’s Clerk session for this workspace is invalidated.
  2. Their next request to a /v1/[workspace]/* route returns 403.
  3. The audit log records the removal with the actor, the removed member, and the timestamp.
  4. If the removed member was the only Owner, ownership transfers to the next-longest-tenured Admin; otherwise no transfer happens.

Removing a member does not affect any device they paired — devices are tied to the workspace, not to a specific member. Revoke the device separately if you also need to stop their machine from syncing.

Deleting a workspace

Owners can delete a workspace from app.haltonmeter.com/[workspace]/settings. Deletion is final, scheduled for 30 days after request to give time for export. During the grace period the workspace is read-only and any paired daemons return 401 (treated as paused_workspace_deleted).

To export before deleting:

  1. Download every project’s PDF report from app.haltonmeter.com/[workspace]/projects.
  2. CSV-export the audit log from app.haltonmeter.com/[workspace]/audit.
  3. If on Team plan and S3/GCS export is configured (planned), the next scheduled export will catch the final snapshot.

See also