What this site stores, and what it doesn't.
NYC Affordability runs entirely in your browser. This page explains exactly what's saved, where, and how the ads on this site work.
Last updated: October 4, 2026Overview
NYC Affordability has no server-side backend, no user accounts, and no login. There is nothing to sign up for and nothing we can look up about you, because nothing you enter is ever transmitted to a server we control. The calculators are static pages; all math runs client-side in JavaScript in your own browser.
The only data this site stores is what your browser's local storage holds on your own device, described below, plus whatever Google AdSense's advertising system does independently to serve ads (also described below).
Local storage (stays on your device)
If you use the "Save inputs" or "Save profile" toggle on a calculator, your entries are written to your browser's localStorage, a storage mechanism built into every browser that is scoped to this site and never sent anywhere automatically. It exists purely so your numbers are still there the next time you open the same calculator in the same browser. If you don't enable saving, nothing is written and your session resets when you close the tab.
| Key | Used by | Purpose |
|---|---|---|
nyc_shared_profile | Shared profile | Income, other debts, and account balances shared across every tool so you don't re-enter them |
nyc_shared_assumptions_rent | Rent assumptions | Rent calculator assumptions (income multiplier, insurance, reserve buffer) |
nyc_shared_assumptions_coop | Co-op assumptions | Co-op assumptions (mortgage rate, down payment %, maintenance, DTI limit, reserve months) |
nyc_shared_assumptions_condo | Condo assumptions | Condo assumptions (mortgage rate, down payment %, common charges, taxes, DTI limit) |
nyc_coop_inputs | Co-op calculator | Full set of co-op calculator inputs |
nyc_condo_inputs | Condo calculator | Full set of condo calculator inputs |
nyc_rent_inputs | Rent calculator | Full set of rent calculator inputs |
nyc_affordable_inputs | Affordable Housing Finder | Household size, income, and unit-size inputs for AMI eligibility |
nyc_reality_check_inputs | Housing Reality Check | Liquid savings and household size for the Reality Check, kept apart from the shared profile so its one-number simplification never overwrites a fuller account breakdown |
nyc_required_salary_inputs | Required Salary | Monthly expenses, savings goal, filing status, and benefit elections |
nyc_afford_more_inputs | How Do I Afford More? | Income, debts, cash and investments, and the target price |
nyc_savings_planner_inputs | Savings planner | Target price, current savings, monthly contribution, and income |
nyc_rent_vs_buy_inputs | Rent vs buy | Price, rent, and the growth and return assumptions |
nyc_rate_sensitivity_inputs | Rate sensitivity | Income, debts, cash, and the rate and charges being tested |
nyc_cost_to_move_inputs | Cost to move | Rent or price, moving costs, and overlap days |
nyc_scenarios | Saved scenarios | Named snapshots of the keys above, saved from Your Saved Data |
These values persist until you clear your browser's site data or storage for www.nyc-affordability.com, turn off saving, or delete them on the Your Saved Data page. That page shows which of these keys hold anything, lets you save named scenarios (the nyc_scenarios key), and exports or imports everything as a JSON file. The export is a file your browser downloads, and an import reads a file you pick. Neither one is sent to a server. The NYC Sale Net Proceeds calculator (/sell/) stores nothing. It doesn't have a Save toggle and resets when you close the tab.
The legacy co-op domain forwards to this site. If that browser has co-op inputs saved there, only the calculator settings (rate, term, down payment percentage, reserve months, DTI limit, maintenance, and closing-cost settings) come along, in a URL fragment that your browser reads once and removes from the address bar. Fragments are never sent to a server. Income, debts, and account balances are not carried over: if any are saved there, the old address stops on a short page that lists them and offers them as a file to download, which you can import on Your Saved Data.
Sharing your result
Calculator pages and the Reality Check tool have a "Share your result" button. Clicking it builds a short text summary of your calculated result (e.g. a max purchase price and which limit it hit) and hands that text to your device's native share sheet, or (on browsers/devices without one) copies it to your clipboard instead. Only that computed summary is included: no account balances, account names, debts, or other raw inputs are ever part of the shared text, and nothing is sent to any server we control in the process. Where you share it from there is up to you and subject to that app's own privacy practices, not ours.
Third-party advertising (Google AdSense)
Ads are turned off right now. When they're on, this site shows ads served by Google AdSense (Google's AdSense program). Google and its advertising partners use cookies (including the DoubleClick cookie) to serve ads based on your visits to this site and other sites on the internet. This lets Google show ads that may be more relevant to you (personalized ads) rather than generic ones (non-personalized ads).
When they're on, ads appear on every page, including the calculators. Our own code never sends the numbers you type to Google or anyone else, and nothing on this site passes them to the ad script. The ad script does run on the same page, though, and any script on a page can technically read what's on it. If that matters to you, an ad blocker removes the ad script entirely and every calculator still works without it.
We do not control what data Google or its partners collect through these cookies, and this policy doesn't cover their practices. For details on how Google uses information from sites that use its services, see Google's "How Google uses information from sites or apps that use our services". This site publishes an ads.txt file, which is a standard transparency mechanism that lets ad exchanges verify who is authorized to sell ad inventory on this domain.
Your ad choices
You can control or opt out of personalized advertising through:
- Google Ads Settings: manage or turn off personalized ads from Google
- Network Advertising Initiative (NAI) opt-out: opt out of participating third-party ad networks
- Digital Advertising Alliance (DAA) opt-out: a similar industry-wide opt-out tool
- Your browser's own cookie, tracking-protection, or content-blocking settings
Opting out of personalized ads doesn't remove ads from this site; it means the ads you see are no longer based on your browsing history.
Analytics
This site uses Cloudflare Web Analytics to measure aggregate page-load performance and traffic. It's cookieless and doesn't track you across other sites. It doesn't use any client-side state (cookies, local storage, or fingerprinting) to identify individual visitors. We don't run Google Analytics or any similar tool of our own, and have no other visibility into visitor behavior beyond this and what Google AdSense's own ad-serving reports may show in aggregate.
Children's privacy
This site is not directed at children under 13 and does not knowingly collect information from anyone, regardless of age. See the Overview above.
Changes to this policy
If this policy changes, the "last updated" date at the top of this page will change to reflect it. Material changes will be reflected here directly; there is no separate mailing list or account to notify since the site collects no contact information.
Contact
Questions about this policy or how the site works can be raised via the Contact page. See the About page for more on who maintains this project, and the Terms of Service for the full legal terms of using this site.