Privacy policy

Draft - not yet reviewed by a lawyer.

Effective [EFFECTIVE DATE]

H1B Math is built to need as little personal data as possible. The calculator runs in your browser, and there are no accounts and no cookies. This page explains what does reach us, why, and for how long.

Who is responsible

The operator of H1B Math (details on the Legal notice page) is the controller of the personal data described here. In this policy, "we" means the operator. For anything about privacy, emailprivacy@h1bmath.com.

What stays in your browser

The calculation runs in your browser. Your salary and degree answers are never sent to our server. The calculator does not ask for your name, nationality, immigration status or employer.

To look up wage thresholds, your browser downloads public data files from our server: the wage file for the job code you choose, the ZIP code file for the first three digits of the ZIP code you enter and, for cap-exempt employers, the ACWIA wage file for the job code. Everyone who picks the same job or ZIP prefix gets the same file. How these requests are handled is described under Server logs.

Your answers are kept in the part of the page address after the # sign (the fragment). Browsers do not send the fragment to servers or include it in the Referer header.

A result link you copy contains your numbers in the fragment. Anyone who gets the link can see them, and so can any service you send it through, such as an email or chat app. Share it only with people you want to see your numbers.

Cookies, storage and third parties

H1B Math sets no cookies. If you use the light/dark switch, your browser saves your choice in local storage under one key, theme. It stays on your device and is never sent to us.

Fonts and all other files come from our own server. The pages make no requests to third parties and contain no advertising or tracking pixels. Links to other websites take you to sites with their own privacy policies.

Server logs

Our web server (Caddy) logs requests for pages and for our API. Each entry holds a shortened IP address with the last part removed (an IPv4 address keeps its first three numbers, an IPv6 address its first three groups), the time, the path without the query string, your browser's user agent, and the response status, size and duration. The path never includes the fragment.

Requests for data files and for static files such as fonts, scripts and styles are not logged at all. Your browser does request the data files, though, and their names contain the job code and the first three ZIP digits, so our server sees them at the moment of the request without keeping them.

We use the logs for security and operations, for example to investigate abuse and errors. Legal basis: our legitimate interest in a secure, working service (GDPR Art. 6(1)(f)). We delete the logs after 14 days.

Job-duty suggestions

This feature is optional. Nothing is sent until you click "Suggest codes". Then your browser sends the job title and the duties text to our API. Before sending, it removes email addresses, phone numbers, links, pay figures and some names it can detect. Our API repeats the removal of emails, phone numbers, links and names before anything goes to Anthropic. Detection is not perfect, so leave out names and contact details yourself.

Our API does not store or log the text. It logs only counts, such as text length and response time. The API keeps a salted hash of your IP address in memory for up to 11 minutes to limit requests (10 per 10 minutes), then forgets it.

The API sends the text to Anthropic PBC in the USA, whose AI model generates the suggestions. Anthropic acts as our processor under its commercial terms and does not use API data to train its models. Anthropic keeps the data for [VERIFY: Anthropic API retention period]. The transfer to the USA is based on [VERIFY: transfer basis - EU-US Data Privacy Framework or SCCs].

Suggestions are generated by AI and labeled as such (EU AI Act Art. 50).

Legal basis: providing the feature you asked for (GDPR Art. 6(1)(b)) or our legitimate interest in offering it (Art. 6(1)(f)). [VERIFY: legal basis]

Analytics

We count visits with Umami, an analytics program we run ourselves on our own server. It is the same installation we use for our other website, RouteMyTrip, and no outside company receives this data. Umami sets no cookies and stores nothing on your device, not even in local storage. [VERIFY: live at launch]

Your browser sends analytics only to h1bmath.com itself, at the path /stats/, and our server passes it on to Umami. Your browser never contacts another site for analytics.

With each page view your browser sends the page path without anything after the ? or# sign, so the part of the link that holds your numbers is never sent. The path shows which public page you opened, such as a wage page for a job and area. On the not-found page only /404/ is recorded, not the address you typed. Your browser also sends the page title, the website you came from (only its domain, and only if it is another site), your screen size and your browser language. From your browser's user agent Umami reads the browser and device type.

Some actions also send an event. Finishing a calculation records only the wage level (Level I-IV, below Level I, ACWIA, or no data), the odds as a 10-point range such as 50-60%, and whether you used quick or full mode. We also count copying a link, printing, opening "More knobs", using the job-duty suggestions and submitting the reminder form. For suggestions we record only whether they returned cards, a question, a refusal, nothing or an error, and which of the three cards you picked, by its position. For the reminder form we record only whether the sign-up worked. Events never include anything you type into the calculator: your salary, job title or job code, ZIP code, area, duties text or email address.

Before passing a page view or event on, our server shortens your IP address the same way as in ourserver logs, with the last part set to zero, so Umami never receives your full address. Umami uses the shortened address to estimate your country, region and city and, together with your browser's user agent, to build a session hash whose salt changes every month, so it can group visits from the same browser within a month. Within a session, page views in the same hour are grouped into one visit. Umami does not store the IP address. [VERIFY: Umami 3.2.0 IP handling and salt rotation]

If your browser sends a Global Privacy Control or Do Not Track signal, the site sends no analytics at all.

We keep analytics data for [RETENTION: e.g. 24 months]. Legal basis: our legitimate interest in knowing how the site is used, measured without cookies (GDPR Art. 6(1)(f)). [VERIFY: legal basis - legitimate interest, Art. 6(1)(f), cookieless audience measurement]

Email reminders

You can sign up for two emails: one when FY2028 registration opens and one when selection results are out. You enter your address on the result screen, and our server passes it to Brevo, which sends you a confirmation email. Nothing else is sent unless you click the link in it (double opt-in). [VERIFY: live at launch]

If you never click the confirmation link, your address is not added to the list and Brevo deletes the pending sign-up. [VERIFY: Brevo retention of unconfirmed double opt-in contacts]

Our server does not store or log your address. To stop repeated confirmation emails to the same inbox, it keeps a salted hash of a normalized form of the address until 24 hours after the last request for it; to limit sign-ups, it keeps a salted hash of your IP address for about an hour. Nothing reversible is kept.

The emails are sent by Brevo (Sendinblue SAS), France [VERIFY: entity name and address in the Brevo DPA], as our processor. The reminder emails carry no tracking pixels and no tracked links. The only click Brevo records is the one on the confirmation link, as part of your consent record. [VERIFY: open and click tracking turned off in Brevo]

Legal basis: your consent (GDPR Art. 6(1)(a)), which you can withdraw at any time. Your consent covers only these two FY2028 emails. Every email has an unsubscribe link. Brevo keeps a record of your consent: the time and IP address of your sign-up and of your confirmation.

After the second email we delete the addresses from Brevo within 30 days. If you unsubscribe earlier, your address stays only on Brevo's do-not-email list so you are not mailed again.

Who else handles data

The only transfer outside the EU is the job-duty text sent to Anthropic. [VERIFY: Brevo sub-processors in the DPA stay in the EU] We do not give personal data to anyone else unless the law requires us to.

Your rights

Under the GDPR you can ask for access to your personal data, correction, deletion, restriction of processing and a copy in a portable format, and you can object to processing based on legitimate interest. Where processing is based on consent, you can withdraw consent at any time; this does not affect processing before the withdrawal.

Write to privacy@h1bmath.com. Because we hold so little, we may not be able to link a request to you: for example, we cannot find log entries without the IP address and the approximate time.

You can also complain to the Polish supervisory authority, the President of the Personal Data Protection Office (Prezes Urzędu Ochrony Danych Osobowych, uodo.gov.pl), or to the data protection authority where you live or work.

We make no decisions about you based solely on automated processing that have legal or similarly significant effects. You do not have to give us any personal data: the calculator works without it, and the suggestion feature needs only the text you choose to send.

US state privacy laws and Do Not Track

We do not sell or share personal information, as "sell" and "share" are defined in US state privacy laws such as the California Consumer Privacy Act, and we do not use it for targeted advertising.

We do not track you across websites. If your browser sends a Global Privacy Control or Do Not Track signal, the site sends no analytics (see Analytics); everything else works the same. Either way, we do not sell or share your personal information.

Children

H1B Math is not directed at children under 16, and we do not knowingly collect their personal data.

Changes to this policy

We publish any change on this page and update the effective date at the top. A change to how we handle email addresses applies only to sign-ups made after the change; earlier subscribers keep the terms they agreed to.

Contact

Privacy questions and requests: privacy@h1bmath.com. Everything else:hello@h1bmath.com. Operator details: Legal notice.