Surfil
// Field report, live

One machine measured this. These are the rest.

The August report is a single developer's laptop and says so on every page. This is the same measurement taken on every machine whose owner chose to send it, pooled rather than averaged, with the machine count printed beside each number.

~ - surfil
$ surfil contribute --dry-run
# prints the exact bytes, sends nothing
counts and token sums only
no source · no prompts · no paths
no hostname · no IP · random id
Measured, not asserted

The first run we published is the one where we saved nothing

Every tool in this category quotes a percentage. Here is a real run from our own machine, including the figure that does us no favours.

What Cap found
0 tokens

removed from 533 intercepted requests. Nothing redundant was there, so nothing was taken out and nothing is claimed. A number you can check beats a percentage you cannot.

Cache reuse measured at 1.70x, with 302,323 input-token-equivalents of write premium carried by the bill. That is the provider's cache, measured, not a saving Surfil produced.
What Guard saw
39 screened

of 533 requests, 0 blocked. Two kinds of credential were seen in outbound traffic before it left the machine: anthropic-keygithub-token

Cost figures above are measured from 21 of 533 requests, because only those carried a usage field from the provider. The rest are counted, never estimated into a total.
Contributed

What the other machines say

Counts are always shown. Ratios appear once five machines have contributed, and any figure one machine dominates is flagged or withheld.

1
machine contributing
539
requests behind these figures
0
attested by a linked device
0
reporting a floor, not a total
Requests that reported their cost
not yet

Either too few machines have contributed, or one machine is so much of the total that publishing it would describe that machine rather than a population.

Cache reads per written token
not yet

Either too few machines have contributed, or one machine is so much of the total that publishing it would describe that machine rather than a population.

Requests the security screen flagged
not yet

Either too few machines have contributed, or one machine is so much of the total that publishing it would describe that machine rather than a population.

Requests blocked
not yet

Either too few machines have contributed, or one machine is so much of the total that publishing it would describe that machine rather than a population.

not enough machines to say anything about the population
Read this first

What these numbers cannot tell you

The same limits as the single-machine report, and one more that only applies to a pooled one.

There is no time span

Each device keeps a fixed SIZE of history and evicts the oldest first, so a submission covers whatever fitted. No per-day or per-week figure is derivable, and none is published.

Contributors are not a sample

These are people who installed a cost tool and chose to send their numbers. That is a self-selected group, and it is not the same as developers in general.

Pooled, never averaged

Every ratio is the sum of numerators over the sum of denominators. A mean would give a machine with three requests the same vote as one with fifty thousand.

Some totals are floors

A machine whose window had already evicted events reports what it still holds. Those submissions are counted above, and their totals understate rather than overstate.

Add yours

One command, and you can read exactly what it sends first

It prints the payload, waits for a yes, and refuses to send at all without a terminal to ask in.

~ - surfil
$ surfil contribute --dry-run
# prints the payload and exits, sending nothing
$ surfil contribute
Send this? [y/N]

Your machine is identified by a random id in ~/.surfil/contributor.json, generated on your device and derived from nothing about it. Delete the file and you are a new contributor. Contributing again replaces your previous numbers rather than adding to them, because surfil report is already cumulative.

The single-machine report, with its full method and every caveat, is at the August field report.

Measure your own agents first

Contributing is optional and always second. The tool is useful on one machine, which is where every figure on this page came from.