Skip to content

Privacy Policy

Written in plain language on purpose. If anything here is unclear, that's a bug — treat it as one.

Does what I type into a calculator leave my browser?

For the calculation itself: no. Every number you enter — income, estate value, loan balance, and so on — is processed entirely in JavaScript running in your own browser.DueMATH does not send your calculator inputs to any server to compute your result, and there's no account or login, so there's nothing tied to your identity to begin with.

The one exception is the optional “Explain this result in plain English” feature. If you click it, your calculator inputs and the resulting numbers are sent to our server, which forwards them to Anthropic's Claude API to generate a plain-English explanation. That request is not stored in a database on our end. It is subject to Anthropic's own data handling terms as the API provider. If you'd rather not send anything anywhere, simply don't click that button — every calculator works fully without it.

What do you collect?

Two separate analytics tools, described below, and both optional in the sense that declining or ignoring the analytics banner does not change how any calculator behaves — every calculator works fully whether analytics is on or off. Neither tool ever receives the dollar amounts, account balances, income figures, tax results, state selections, dates of birth/death, or any other value you type into a calculator, and neither receives an email address or free-form text you've typed anywhere on the site.

Google Analytics 4 (optional — off by default)

On your first visit, a banner asks whether to turn on Google Analytics 4 (GA4). Until you click “Accept analytics,” GA4's script is never loaded, no GA4 cookie is set, and no GA4 event is sent — the “deny by default” state is the actual behavior of the code, not just a stated intention. Clicking “Reject analytics” (or simply not clicking Accept) keeps it that way indefinitely; nothing about the site nags, blocks, or degrades because you rejected it.

If you accept, GA4 records events limited to:

  • which page you're on (page views),
  • which calculator was viewed, started (you began entering something), or completed,
  • whether a result became visible on screen,
  • whether you switched a comparison scenario or expanded a “how this is calculated” section,
  • which related calculator or guide link you clicked, and its destination.

Every one of those events carries only catalog-level identifiers — which calculator, which content cluster, which page path, the calculator's version and rule year — never anything you typed in. This is enforced in the code itself (a single, closed TypeScript type that has no field for a dollar amount or free-form value), not just a policy we're asking engineers to remember.

GA4's standard tag sets a small first-party cookie once you accept, used only to distinguish visits in aggregate — it is not used to build an advertising profile of you. We keep Google Signals and ad-personalization signals disabled at all times, GA4 never receives ad-targeting data from this site, and we don't sell or share data with data brokers.

You can change your mind at any time using the “Analytics settings” link in the footer of every page. If you had not yet accepted (or had already rejected), clicking “Reject analytics” simply records that and closes the panel — there was nothing running to stop.

If you had previously accepted, withdrawing works differently, and we want to describe what actually happens rather than what we'd prefer to claim. Once GA4's script has loaded, it can attach its own page-level measurement (e.g. scroll depth, outbound link clicks) directly in your browser, independent of anything our own code does from that point on — telling our code to stop calling GA4 does not, by itself, reach in and stop that. The moment you withdraw, we immediately send Google's own documented consent signal (Consent Mode) telling its systems your choice is now denied, and then refresh the page. After the withdrawal refresh completes, GA4 is no longer loaded and no further analytics collection occurs unless you accept analytics again — the refreshed page reads your just-recorded “denied” choice before GA4's script is ever loaded again, the same “never loaded until accepted” state as a brand-new visit. Any calculator input you were in the middle of typing at that moment is lost, the same as with any page refresh; the banner tells you this before you confirm. We send that consent signal ahead of the refresh as an immediate first step, but we don't rely on it alone to reach that stable, fully-stopped state — by Google's own documentation, the signal alone doesn't stop all further requests to Google's servers while the page is still open, which is why the refresh is what actually gets you there.

Either way, the GA4 cookies this site can reach are cleared as part of withdrawing — where your browser makes this possible for a page to do on its own behalf. Some browsers restrict what a page can clear about its own cookies; if that happens here, the leftover cookie has no further effect once GA4 stops receiving events, and it expires on its own on GA4's normal schedule. Accepting again afterward turns GA4 back on from that same clean state.

If a future change to what we collect is significant enough to warrant asking again, the banner will reappear on your next visit even if you'd previously made a choice — your previous answer is tied to the version of this policy you saw at the time.

Vercel Web Analytics (always on, not gated by the banner)

Separately from GA4, this site uses Vercel Web Analytics to track basic page-view traffic. We checked Vercel's own documentation and the analytics package's source code before deciding this didn't need the same consent gate as GA4: Vercel states it identifies visitors “without using any third-party cookies”, via “a hash created from the incoming request” that is discarded after 24 hours, and the package itself sets no cookie and writes nothing to your browser's local storage — it only loads a small first-party script from this site's own domain. It does still process some request-level information on Vercel's servers for aggregate traffic stats — page URL, referring site, approximate location (city/region/country level), and device/browser type — but not in a cookie, not in local storage on your device, and not in a way that's tied to a persistent identifier that follows you across sites.

Ads

DueMATH may display ads (via Google AdSense) to keep the calculators free. If enabled, AdSense may use cookies for ad personalization per its own policies — see Google's advertising policy for details. Ad placements are positioned to never sit between a Calculate button and your result.

Changes to this policy

If what DueMATH collects or sends changes, this page will be updated to reflect it accurately — the goal is that this page never overstates our privacy protections or understates what actually happens with your data.