PRIVACY · PLAIN ENGLISH

Your salary never
leaves your device.

Home > Privacy

The short version

Gross is a calculator, not a database. Every number you type — your salary, your ZIP, your target take-home — is used to do math right there in your browser and is never sent anywhere. We have no server that could receive it. There is nothing to breach, sell, or subpoena.

All math runs on your device

The site is a static bundle served from a CDN. The tax engine, the rate tables, and the ZIP lookup all ship to your browser and run locally. When you tap “Show me the damage,” no request goes out with your salary — the calculation happens on your phone or laptop, full stop.

No accounts. No cookie banners.

  • No sign-up, no login, no email required.
  • No advertising cookies and no cross-site trackers — so there's no consent banner to click through.
  • We use localStorage for exactly two conveniences, both on your device only: remembering your answers so you can resume (resume), and remembering which city you picked for an ambiguous ZIP (tzpick-<zip>). Clear your browser storage and both are gone.

Anonymous analytics — events, never values

To learn which features get used and which channels send visitors, we count anonymous events with Umami and Cloudflare Web Analytics. Both are privacy-first and cookieless. They record that something happened — not what you earn or where you live beyond your state.

Here is the complete list of events we fire and the only properties attached to them. This is the whole list — there is no hidden payload:

EventWhen
calc_completedYou viewed a result.
card_savedYou downloaded the share-card image.
card_sharedYou shared the card (native share, clipboard, or link).
reverse_usedYou used the reverse solver (target take-home → gross).
picker_shownA ZIP spanned multiple tax areas and we showed a picker.
picker_answeredYou chose your city/municipality from that picker.
sdit_confirmedYou saw the Ohio school-district-tax notice.

The only properties any event may carry:

  • state— your two-letter state (e.g. “MD”). Never a city, county, or ZIP.
  • ambiguous — true/false: did your ZIP need a disambiguation picker?
  • sdit — true/false: was the Ohio school-district notice shown?
  • intent— “job” or “current”: which framing you picked (job hunting vs. reviewing your current pay). A coarse flag, nothing about you.
  • ref — a campaign label from short links like /li or /hn(e.g. “li”). Tells us which post you came from — nothing about you.

What is never in any event, property, or URL: your salary, your ZIP code, your target take-home, or any place more specific than your state. This is a hard rule enforced by a check that fails our build if violated.

Questions

This is a beta tool and not tax advice. If something here is unclear, the code is the source of truth — the event list above is generated directly from it.

← Back to the calculator · How we calculate