Skip to content
½Halv

PRIVACY

Privacy, in plain language.

Last updated

WAITLIST EMAIL

Email addresses previously submitted to the waitlist are used only for product announcements. We do not sell them or use them for advertising. We remove them on request.

SITE TRACKING

This site uses the Google tag to measure ad conversions and Plausible to count visits and downloads without cookies. It uses the OpenAI Measurement Pixel to attribute installer download clicks from ChatGPT ads. Google may set measurement cookies. The OpenAI Pixel may set a first-party attribution cookie. Plausible sets no cookies and stores no personal data.

DESKTOP APP

Halv runs code indexing, context compression, and command filtering on your computer. Your agents send prompts and required context to your selected model provider through your account. Halv sends sign-in, billing, and savings reports to halv.ai. From version 1.0.2, Halv sends task briefs for Halv Cloud routing only if you say yes to brief sharing. A savings report holds token counts and dollar amounts only, with no prompts, code, or file contents. Usage events are opt-in: Halv sends none until you say yes, and you can change the answer in Settings. Halv checks GitHub for app updates and uses the relay at relay.halv.ai only when you connect a phone.

TASK BRIEFS

A coding agent writes a task brief as free text. The agent passes the brief to the halv-savings tool on your computer, with a route_task or route_tasks call. A brief holds whatever the agent puts in it, such as code, file paths, commands, and secrets. Halv does not redact a brief. The route_task call accepts a brief with its evidence, up to 16,000 characters in total. The route_tasks call accepts up to 4,000 characters for each entry and 64,000 characters for each batch.

BRIEF SHARING

From version 1.0.2, Halv sends a brief only after you say yes to brief sharing. Versions 1.0.1 and older do not ask. While you are signed in to Halv, they send each brief that an agent passes to route_task or route_tasks. This also happens when task routing is off or your plan has no Halv Cloud. Halv asks only when you are signed in, your plan includes Halv Cloud, and task routing is on in Settings. When you start a Claude or Codex session, Halv asks before the session starts. When a session starts without your action, such as a restored session, it starts without routing, and a card asks the question. If you close the question without an answer, the session starts without routing and Halv sends no brief. Halv asks again after the next app start. A yes applies to sessions that start after it. You can change your answer in Settings. Brief sharing is separate from app analytics. Your analytics answer does not change brief sharing. Your brief sharing answer does not turn on analytics.

CHECK BEFORE EACH BRIEF

From version 1.0.2, the halv-savings tool on your computer checks local data before each brief. It sends nothing if you are not signed in, if the last known plan of your account has no Halv Cloud, or if your answer is not yes. In that case, the agent does the task itself. A no in Settings stops the next brief of each running session. If Halv cannot save the no, it shows an error, and running sessions can still send briefs. If the app does not know your plan yet, the tool sends the brief, and the Halv server checks your plan.

WHERE TASK BRIEFS GO

The halv-savings tool on your computer sends the brief to api.halv.ai/v1/route. The Halv server forwards the brief to OpenRouter. OpenRouter runs the JEV router model of TypeSafe. The Halv server returns a rating to the halv-savings tool, and the tool picks the model tier. OpenRouter and TypeSafe process the brief under their own privacy policies, linked below. Neither OpenRouter nor TypeSafe publishes a retention period for prompts. Each policy gives only a general rule: the company keeps data as long as reasonably necessary.

WHAT THE HALV SERVER KEEPS

The Halv server does not store the brief and does not write it to a log. It keeps a count of the routing requests of each account, to enforce rate limits. It deletes each count within about one day. It also keeps the routing savings of each account in dollars. It keeps the raw savings rows for up to 90 days. After that, it keeps daily totals.

CLOUD HANDOFF

Cloud handoff is a feature of Automations. In version 1.0.2, Cloud handoff is off. The app does not offer it for a new automation, and it sends no automation prompt to halv.ai. A Cloud handoff automation from an older version stays paused and does not run. Task briefs do not use Cloud handoff.

APP ANALYTICS

Halv asks before it sends usage events. If you say yes, the app sends a few events to halv.ai with a random install ID, the app version, and your operating system. The events cover setup steps, your first task, Halv Cloud trial steps, and each day you use Halv. Our server forwards the events to PostHog (EU), our analytics processor, without your IP address. Usage events never hold prompts, code, file names, terminal output, emails, API keys, or stack traces. You can change your answer in Settings at any time.

DAILY SUMMARY AND APP HEALTH

Halv sends the data in this section only after you say yes to the current usage events question. Halv sends one short summary for each day you used Halv. It sends the summary after that day ends. The summary lists which agents you used, a range for how many sessions you ran, and how many tokens and dollars Halv saved. The summary holds only rounded savings, to two significant digits. The exact numbers do not go into usage events. The summary also says whether you used code indexing and routing, and which plan you have. Halv also sends an event when the app updates or fails to update, when the proxy fails, and when the app closes in a bad way. A crash event holds only the previous app version and two ranges: how long the app ran and how much memory it used. It holds no stack trace. Two older events get new facts. When you connect an account, Halv adds the kind of agent and the sign-in method. When Halv shows a Halv Cloud trial offer, it adds the place where the offer showed. Halv also adds the language of the app to your events. If you said yes before this data existed, Halv shows a notice until you answer. Without a new yes, Halv sends none of this data.

REMOVAL

To have your waitlist email removed, contact [email protected].