Privacy
Last updated: August 24, 2026
This privacy page describes how the private walk-away calculator handles your data.
Phase 0: on-device calculation
In Phase 0 (the current version), the calculator's equity math runs entirely in your browser. When you enter your comp data — base salary, equity grants, vesting schedules, or offer details — the calculation itself happens on your device: nothing is sent to a server to compute your verdict. No accounts are created.
The equity math engine is pure client-side JavaScript. As you type, your scenario is also saved automatically — to your browser's local storage and into this page's own URL — so it survives a reload or a closed tab. See "Local storage" and "Shareable URLs" below for exactly what that means and what it doesn't.
Local storage
Every edit to your scenario is saved to your browser's local storage under the key qm.scenario. That's what lets you close the tab and come back later without losing your numbers. It stays on your device — it is never sent to a server — but it also isn't cleared automatically when you close the tab. It persists until you clear it yourself: clear this site's data from your browser's settings, or open your browser's developer console and run localStorage.removeItem('qm.scenario').
Shareable URLs
Every edit also updates this page's own address-bar URL with a ?s= parameter. That parameter encodes your entire scenario — base, bonus, every equity grant, strike prices, share counts, all of it — not a banded or rounded version of it. It's the same encoded data the calculator uses to restore your session, so anyone who has that URL can decode it and see the exact numbers you entered. The "Copy link" button on the share panel copies this same URL. Treat it the way you'd treat sharing your actual comp: send it only to someone you'd tell anyway.
The copied link doesn't add any extra parameter marking it as a shared link — it's just the ?s= scenario data described above, nothing more.
Share cards
The share card text ("My net gain bands to $X a year...") is a separate thing from the link above, and it stays accurate: it shows banded ranges, never your exact numbers, and it's generated in your browser with no server involved. The link copied alongside it is a different matter — see "Shareable URLs" above for what that carries.
Anonymous verdict counter
When you complete a comparison — you've entered both a current package and an offer — the calculator sends one anonymous signal to our server: that a verdict was computed, along with its kind ("real" offer vs. "exploring") and whether you arrived via a shared link. No comp numbers and no scenario data are sent, and there's no identifier — cookie, session ID, or otherwise — tying this signal to you or to anything else you do. It's a counter increment, not a log entry about you. We use it only to see whether the calculator is getting used.
Optional email updates
The share panel has an optional "Notify me" field. If you type an email address there and submit it, it's sent to our email provider (Resend) and added to a mailing list for future updates about this project. This only happens if you take that action — nothing is collected otherwise.
The field only appears when that mailing list is actually connected. If it isn't, the field isn't shown at all, so there is no way to hand us an address that goes nowhere. Same rule as the advisor below: a feature that can't do what it says is not offered.
Optional AI advisor
If you activate the optional AI advisor, you will see an explicit disclosure before any data leaves your browser. Activating the advisor sends your scenario data (current package, offer, vesting schedules, factor ratings) to Anthropic's API for conversational advice. This data is sent with a zero-data-retention organization setting, meaning Anthropic does not store your prompts or responses for model training or other purposes.
The advisor is opt-in. The core calculator works without it. If you don't activate the advisor, nothing about your scenario is sent to Anthropic.
What we don't collect
No accounts. No device fingerprinting. No cookies beyond what Next.js uses for basic client-side routing. By default, the only two things that leave your browser are the anonymous verdict counter and the optional email field described above — both covered in full there.
Our hosting provider (Vercel) logs request metadata, including IP addresses, for the API routes above — that's standard behavior for the infrastructure we're on, not something we've added. We don't access or use that log data ourselves, but we won't claim it doesn't exist.
No employer names or company logos stored anywhere. If you enter your current employer in a blocklist (a future marketplace feature), that data is yours only and never transmitted unless you opt into marketplace features explicitly.
Future features: marketplace and advisor packages
If you choose to participate in a future marketplace feature where advisors or third parties receive anonymized candidate profiles, that will require explicit opt-in and a separate disclosure. Any data sharing with third parties will be opt-in, disclosed in advance, and scoped to anonymized data only (research areas, seniority bands, comp bands — never names, employers, or exact comp).
Phase 0 has no marketplace. If we build it, this privacy page will be updated to describe what data moves, to whom, and under what controls.
No fake company names
This calculator is an independent project. We do not operate under a corporate legal entity at this time. If that changes, this page will be updated with entity details. For now: this is a tool, not a service with a Terms of Service or a legal entity behind it.
Contact
There is no contact address on this page yet, and rather than print a mailbox nobody reads, here is what that means in practice. Phase 0 stores nothing about you that you could ask us to delete: no account, no identifier, no comp data on any server. The two things that do leave your browser are an anonymous counter increment, which carries nothing tying it to you, and an email address only if you typed one into "Notify me" — and that one lives in Resend, whose own unsubscribe link removes it. Everything else is in your browser: clear this site's data, or run localStorage.removeItem('qm.scenario'), and it is gone.
A contact address goes here before any feature ships that stores something you would need to ask us about.
This privacy page will be updated as features change. Material changes will be dated and noted at the top.