Privacy
Your travel history is sensitive. If you don't sign in, it never leaves your device. If you sign in to save your trips, this page says exactly what we store and why.
What happens to the dates you enter?
You do not need an account to use this calculator. Signed out, every calculation runs inside your browser, on your device. Your green card date and every trip you enter are read by the calculator, used to compute a result on screen, and held only in that page's memory. Closing or reloading the page clears them, because they were never sent anywhere to begin with.
If you choose to sign in, you can save your trips so you don't have to type them again next time. Signing in sends your form inputs to our server and stores them, so we can show them back to you. The rest of this page explains exactly what that means. If you never sign in, none of the sign-in section below applies to you: your dates still never leave your browser.
A few other things on this site do send something, and (outside of signing in) none of them carries your dates: the contact form, when you choose to write to us; Google Analytics, which measures how people find the site; and an anonymous counter that records that the calculator was used without recording anything about who used it. All of these are described below.
What happens if you sign in?
Signing in is optional and only saves your trips. You type your email, we send a 6-digit code to that address, and you type the code back in. There is no password.
The code itself is never stored as plain text. We keep only a scrambled (hashed) version of it, so even we can't read the code back out of the database. The code works for 10 minutes, and only once. Along with the code, we store a scrambled form of your IP address, the same kind the contact form uses: it changes every day, so it can't be used to track you from one day to the next. Its only job is to stop one address from requesting too many codes.
We use Resend to send the code email and, if you turn on the filing reminder, the reminder emails. Resend receives your email address and the text of that one email so it can deliver it. It does not get anything else you typed into the calculator.
Once you sign in, here is everything we store, tied to your email address:
- Your email address.
- The form inputs you saved: your green card date, your path (general or spouse-of-a-citizen), your marriage and spouse's citizenship dates if you entered them, every trip you added (departure date, return date, whether you're still away), and which out-of-scope boxes you checked (military service, N-470, removal order). We never save the engine's results, only the inputs; the result is worked out again from those inputs each time you load the page.
- When you signed in, so we know your account is still active.
- Your session: a cookie named
n400_sessionthat keeps you signed in on that device for 180 days, and resets to 180 days each time you visit. The cookie itself holds a random value; we store only a scrambled (hashed) version of it, so reading our database would not hand someone your working cookie. The cookie cannot be read by other websites and is only ever sent over a secure connection. - Your filing-reminder setting: whether it's on, and the filing date it's set for, so we know when to email you.
Your account page has two buttons. "Download my data" gives you a copy of everything above as a file. "Delete my account and data" removes your email, your saved trips, your session and your reminder setting from our database right away. Neither one needs you to wait for a reply from us.
What does the contact form store?
Your name, email address and message, plus the topic you picked and the time it arrived. They go to a database so someone can read the message and write back to you. Nothing from the calculator goes with them, so your green card date and your trips are only in that database if you typed them into the message yourself.
Alongside each message we store a scrambled form of your IP address. It is hashed together with the date, which changes every day, so the stored value cannot be turned back into an address and cannot be used to recognise you tomorrow. Its only job is to cap how many messages one sender can file in an hour, which is what keeps the form usable without a captcha. The address itself is never written down.
No third-party form service is involved. The form posts to this site, and the database is ours.
Does this site use analytics or tracking?
Yes, in one place. Every page here loads Google Analytics 4 (measurement ID G-NL43EBQBRJ). Google receives the address of the page you are on, the page that linked you to it, your browser and device type, and an approximate location worked out from your IP address. It sets the cookies listed further down so it can tell one visit from another. Google is a third party, and what it does with that data falls under its own terms rather than this page.
What Google never receives is anything you type into the calculator. Your green card date, your marriage date and your trips are read by JavaScript on your own device and posted nowhere. No analytics event on this site carries them, because the code that would have to send them does not exist.
There are no advertising scripts here, and no tracking pixels beyond the analytics script named above.
Separately, this site keeps five tally marks of its own. When the calculator page loads, it adds one to a counter. It adds one to another counter if a trip gets entered, another if three or more do, another when the calculator produces a filing date, and another when someone uses the trip simulator. That is the entire list.
Nothing that could identify you is recorded alongside those five counts: not your IP address, not a scrambled version of it, not a browser or device fingerprint, not a cookie, not a visitor ID, not the page you came from, not even the time of day. A stored row is nothing more than a date, a counter name and a number: on 8 September 2026, the "a trip was entered" counter went up 37 times. There is no column that says who, because no such column exists. Even we cannot tell whether those 37 were 37 people or one person on 37 visits.
Your green card date, your marriage date and your trips are never part of this. The counters record that something happened, never what you entered. Your actual dates stay in your browser, unless you choose to sign in and save them, as explained above.
Why keep any of this? The five counters answer one question: whether people who land here get as far as an answer. If almost nobody does, the tool is broken and needs fixing. Google Analytics answers a different question, about how people find the site at all, which the counters cannot see.
If you would rather Google did not count you, a content blocker or Firefox's built-in tracking protection stops the script loading, and the calculator works the same without it. Google also publishes a browser opt-out add-on.
Like any website, the infrastructure that serves these pages may keep standard connection logs — the kind that record an IP address and browser type for security and reliability. That is ordinary web server behavior, not something this site adds on top, and it is separate from what you type into the calculator, which is covered above.
Does this site use cookies?
Yes, three. Two belong to Google Analytics: _ga lasts two years and lets Google tell one visitor from another; _ga_NL43EBQBRJ also lasts two years and holds the state of your current session. They are stored under this site's domain, but Google's script is what writes and reads them.
The third is ours, and it only exists if you sign in: n400_session, described above, which keeps you signed in for 180 days. If you never sign in, this cookie is never set. Block cookies for this site and the calculator still works the same when you're signed out; signing in needs the session cookie to work.
Two things we wrote use browser storage, and both stay on your device, not on a server. Switch between light and dark with the sun/moon button in the header and, if your choice differs from your device's setting, that word is saved in your browser's local storage, so the next page loads the way you left it. The stored value is the word light or dark and nothing else; it is never sent anywhere, and switching back to your device's own setting deletes it. Separately, if you sign in, your browser remembers that with the local-storage key n400-signed-in-hint, so it knows to check whether you're still signed in next time you load the page; it holds only the value 1, no email and no session details, and "Sign out" removes it. Nothing else on this site uses local storage or session storage.
Questions about this policy
Send them from the contact page. See also the terms of use.
Last updated 19 September 2026.