# What leaves your machine

> The complete list of what Awaitful sends: a device token, that an agent is thinking, for how long, and which surface showed the line. Nothing else.

- Source: https://awaitful.com/docs/what-leaves-your-machine
- Updated: August 5, 2026

This is the complete list of what Awaitful sends from your machine - not a summary, the list. The most specific thing Awaitful ever learns about a coding session is how long a sponsored line was on screen.

*Figure: Everything inside Claude Code talks only to a local helper on your own machine; one wire crosses to Awaitful, and every field on it is pinned by the public CI egress test.*

## What leaves

-   A device token, so we know which machine earned
-   That an agent is thinking, and for how long
-   Which surface showed the line

In wire terms, the client makes a handful of request types and nothing else:

-   **Ad requests** - which surface is asking. That is the whole query.
-   **Event reports** - batched events proving a line was seen: a random event identifier (so the server can drop duplicates), the event type, which ad and slate, the surface, an advisory client timestamp, and the visible milliseconds, which the server caps - sent alongside the machine's random device identifier.
-   **A kill switch poll** - a yes/no safety check with no body at all.
-   **Patch recipe checks** (only if you enable a patch surface) - which agent and which Claude Code build, so the server can return the right known-good patch.
-   **Patch health reports** (only if you enable a patch surface) - hashes of Claude Code's own bundled files, so the fleet can agree a [patch is safe](https://awaitful.com/docs/editor-safety). Never hashes of your files.
-   **Account and earnings reads** - read-only requests so the panel can show your account name and balance.
-   **One-time link requests** when you [sign a machine in](https://awaitful.com/docs/link-your-editor) - a random handshake code, no content.

## What never leaves

-   **Your code**
-   **Your prompts**
-   **Your files or file names**
-   **Your agent's output**

No file names, no paths, no project or repository names, no clipboard, no terminal contents. Thinking detection watches the agent's own spinner indicator, not what the agent is doing. Everything that runs inside Claude Code - the patched line, the terminal script - talks only to a local helper on your own machine at 127.0.0.1, never to the network directly. The terminal script even receives Claude Code's session data on its way through and deliberately never reads it; it only passes it on to your own previous status line.

That local conversation is short: which helper is this, what line should I draw, the line was drawn, seen or clicked, and - when the spot it attaches to is missing - I had a line and could not place it. That last one is how a broken surface tells you it is broken instead of quietly earning nothing. Each editor window and each copy of the in-editor script mint a random id when they start, so a window can tell its own script apart from another window's. Those ids live in memory for the session, never reach the network, and identify a window and a script, not you or your machine.

**The list is enforced, not promised**

Every request schema's exact field set is pinned by a CI test, and unknown fields are stripped before anything is processed - a smuggled field cannot survive parsing. The [egress manifest](https://github.com/Awaitful/awaitful/blob/HEAD/PRIVACY.md) documents every field in plain English, and [the test itself](https://github.com/Awaitful/awaitful/blob/HEAD/packages/shared/src/__tests__/egress.test.ts) is public. How to read both is covered in [Verify it yourself](https://awaitful.com/docs/verify-it-yourself).

## Identity, held to the minimum

A linked machine authenticates with a device token that identifies the machine, not your browsing - its narrow powers are described in [Sign in and link your editor](https://awaitful.com/docs/link-your-editor). Even the docs feedback control at the bottom of this page is anonymous by construction: it sends the page name, the vote, and your optional note. Nothing else.
