Privacidad, con franqueza
En pocas palabras: recopilamos lo menos posible, no vendemos nada y puedes deshacerte de lo que tenemos cuando quieras.
Este aviso está redactado en inglés, y la versión en inglés es la que prevalece. La traducción está aquí para que puedas leerlo en tu idioma.
Última actualización: · ver qué cambió
Qué recopilamos y cuándo
Siempre, para que el sitio funcione y siga mejorando:
- Eventos anónimos de visita y de salida de página, a través de PostHog Cloud EU. Eso incluye la URL que visitaste, la URL desde la que llegaste, tu país aproximado (deducido de tu dirección IP, que PostHog descarta después) y tu navegador, sistema operativo y tamaño de ventana. Sin nombre, sin correo electrónico, sin ID de usuario.
- Eventos anónimos de interacción en las páginas de herramientas gratuitas: qué moneda eliges en el comparador de préstamos, si cambias entre calcular el plazo y la cuota mensual, si abres el panel «Más opciones», si copias el enlace para compartir y si restableces el formulario. Los valores financieros que escribes nunca se envían: ni la cantidad del préstamo, ni la tasa de interés, ni las comisiones, ni el nombre de la entidad financiera. La razón de ser de la calculadora es que los cálculos se hacen en tu navegador.
- En todas las herramientas gratuitas, la dirección de la página nunca lleva lo que escribes, así que la URL de la página que queda registrada en la analítica tampoco puede llevarlo. Las herramientas no escriben tus datos en la dirección mientras las usas. Un enlace para compartir los lleva después del signo #, una parte de la dirección que los navegadores nunca envían a un servidor, y la página los saca de la barra de direcciones antes de que empiece la analítica. Como medida de respaldo, el script de analítica elimina todo salvo los parámetros de campaña (utm_source y similares) de cualquier dirección de una herramienta gratuita antes de enviar un evento.
- Eventos anónimos de interacción en el simulador Monte Carlo: qué moneda eliges, qué ajuste de rentabilidad y qué número de trayectorias simuladas escoges, si activas o desactivas los retiros, si abres la tabla de resultados, si copias el enlace para compartir y si restableces el formulario. Las cantidades, los años, las comisiones y la combinación de activos que introduces nunca se envían.
- Eventos anónimos de interacción en la calculadora de inflación: qué pregunta eliges («Poder de compra futuro», «Costo futuro», «Del pasado a hoy», «¿Sigue el ritmo?»), qué moneda eliges y de qué país quieres ver la historia, si usas la media de un país como tasa, si copias el enlace para compartir y si restableces el formulario. Elegir un país carga su historia desde el propio nidhi.today, nunca desde el Banco Mundial. Las cantidades, las tasas y los años que introduces nunca se envían.
- Parámetros de campaña (
utm_source,utm_medium, etc.) si llegaste desde un enlace etiquetado por nosotros o por otra persona.
Solo si haces clic en «Sí, me parece bien» en el aviso de cookies:
- Mapas de calor de clics y eventos capturados automáticamente: básicamente, en qué elementos de una página se hace clic, incluidos los clics en cosas que no responden («clics muertos»). Lo usamos para detectar enlaces rotos y diseños que confunden a la gente. No registramos en absoluto mediciones de velocidad de página ni errores del navegador.
Si te suscribes al boletín del blog:
- Tu dirección de correo electrónico.
- La página desde la que te suscribiste (para saber si te trajo el índice del blog o una entrada concreta).
- La fecha y hora en que te suscribiste, confirmaste y (si lo haces) cancelaste la suscripción.
- El estado de tu suscripción: pendiente, confirmada o cancelada.
- Si se suscribe y confirma suficiente gente, el sitio puede mostrar el total de suscriptores confirmados, redondeado hacia abajo. Nunca muestra ninguna dirección de correo ni si una persona concreta se ha suscrito.
- Los correos del boletín llegan desde
updates@nidhi.today. Añádela a tus contactos para que los avisos de nuevas entradas lleguen a tu bandeja de entrada.
Si te apuntas a la lista de espera para el lanzamiento del producto:
- Tu dirección de correo electrónico.
- La página desde la que te apuntaste.
- La fecha y hora en que te apuntaste.
- Sin paso de confirmación ni seguimiento de estado. Alta directa (single opt-in).
- Si se une suficiente gente a la lista de espera, el sitio puede mostrar el total de inscripciones, redondeado hacia abajo. Nunca muestra ninguna dirección de correo ni si una persona concreta se ha apuntado.
- El correo del lanzamiento llegará desde
updates@nidhi.today. Añádela a tus contactos para que no acabe en spam.
Si te ofreces para ayudar a traducir el sitio:
- La página de voluntariado en nidhi.today/volunteers/ forma parte de este sitio. Como todas las páginas, envía un evento anónimo de visita y de salida de la página. Su botón abre un formulario de Google gestionado por nuestra cuenta de Google Workspace; si aceptas el aviso de cookies, el clic en ese botón se registra por su etiqueta, volunteers-form. Tus respuestas solo llegan a Google cuando envías el formulario. No necesitas iniciar sesión, y tu cuenta de Google no forma parte de las respuestas que recibimos.
- Tu dirección de correo electrónico y lo que decidas contarnos: el nombre para el crédito, qué idiomas, si tienes formación en finanzas (y una nota sobre ella, si la añades), cómo quieres ayudar, si quieres crédito en el sitio y tu nivel en cada idioma.
- Tu consentimiento para que te contactemos por correo electrónico sobre la traducción, si además pediste que te invitemos a la beta del planificador (una opción aparte y opcional) y la hora a la que enviaste el formulario.
- Si pides crédito, el nombre que nos diste puede aparecer en el sitio, junto a las demás personas que ayudaron con ese idioma. Puedes cambiarlo o pedir que lo quitemos en cualquier momento.
- En esa hoja privada también anotamos el estado del seguimiento y la fecha de nuestro último contacto contigo, para gestionar las respuestas y aplicar el plazo de conservación indicado más abajo. Cada respuesta nueva nos envía un aviso que no incluye ninguna de tus respuestas. Una persona lee cada respuesta, y nada ocurre de forma automática: ni respuestas, ni decisiones, ni créditos, ni altas en la beta.
- La página del formulario es de Google, así que mientras lo rellenas se aplican las condiciones y la política de privacidad de Google.
Guardado solo en tu navegador, nunca se nos envía:
- Tu elección sobre las cookies (
nidhi-cookie-consent). - Tu preferencia de tema claro, oscuro o del sistema (
nidhi-theme-mode). - Solo para el equipo de nidhi: un indicador (
nidhi-internal) que se activa al abrir una página desde un enlace especial, para que no se cuenten nuestras propias visitas. Mientras está activo, no se ejecuta ninguna analítica en ese navegador. - Qué lecciones has leído (
nidhi-reading-progress), para mostrarte un discreto indicador de «leída» la próxima vez y sugerirte tu siguiente lección en la página de inicio y en la ruta de aprendizaje, incluido el siguiente paso de cada recorrido de «Empieza donde estés». - Si has confirmado tu suscripción al boletín (
nidhi-newsletter-subscription), para dejar de mostrarte el formulario de suscripción en cada página una vez completada la doble confirmación. Solo se guarda cuando haces clic en el enlace de confirmación de tu correo; nunca contiene tu dirección de correo electrónico. - Si has cerrado el aviso de suscripción al boletín (
nidhi-newsletter-dismissed), para respetar tu decisión de no volver a verlo durante un tiempo. Solo contiene un tipo de cierre y una fecha y hora, sin dirección de correo ni datos personales. - Si te has apuntado a la lista de espera para el lanzamiento del producto (
nidhi-waitlist-signedup), para dejar de mostrarte el formulario de la lista de espera en futuras visitas. Solo contiene un indicador de estado y una fecha y hora, nunca tu dirección de correo electrónico.
Si borras los datos del sitio en tu navegador, todo lo anterior desaparece al instante.
Por qué lo recopilamos
- Analítica: para averiguar qué entradas ayudan de verdad a la gente y en cuáles se pierde a mitad de camino. No podemos arreglar lo que no vemos.
- Boletín: para enviarte un correo cuando se publica una nueva entrada del blog, más un recordatorio si empiezas a suscribirte pero no confirmas en 3 días (enviado entre las 9:00 y las 12:00, hora de Praga). Ningún otro correo. Sin promociones, sin secuencias de «te echamos de menos», sin promoción cruzada de otros productos.
- Lista de espera: para enviarte exactamente un correo cuando se lance el producto nidhi. Nada más. Ni un boletín, ni una secuencia automática de correos, ni promoción cruzada.
- Voluntariado: para entender qué idiomas hablas, tu nivel y tu formación en finanzas, contactarte sobre la traducción, darte crédito en el sitio si lo pediste y, si lo pediste, invitarte a la beta del planificador cuando abra. Nada más.
- Preferencias locales: para que el sitio te resulte coherente sin tener que consultar a un servidor. Todo eso se queda en tu dispositivo.
Dónde se guarda
- PostHog Cloud EU (Fráncfort, Alemania): nuestro encargado del tratamiento para la analítica. La grabación de sesiones está desactivada. Usamos su producto estándar, sin propiedades personalizadas de persona que te identifiquen, salvo si te suscribes: en ese caso, el estado de tu suscripción pasa a ser una propiedad del registro anónimo de persona para el análisis del embudo.
- Google Workspace (regiones de Google Cloud en la UE): nuestras direcciones de correo (
hello@nidhi.todaypara contacto general y soporte,updates@nidhi.todaypara correos automáticos del producto, como invitaciones a la beta y envíos del boletín) y la hoja de Google Sheets que guarda las suscripciones al boletín y las altas en la lista de espera (en pestañas separadas), y el formulario de Google para quienes se ofrecen a traducir, con la hoja donde se guardan sus respuestas. Solo nosotros podemos leer las hojas y las respuestas guardadas en ellas. - GitHub Pages (un servicio de GitHub / Microsoft): aloja los archivos estáticos de este sitio web. GitHub conserva durante poco tiempo registros de acceso al servidor para prevenir abusos. No los leemos ni recibimos copias.
- Tu navegador: para las preferencias locales indicadas arriba.
Esa es la lista completa de servicios que tratan datos por nosotros. No hay un cuarto encargado del tratamiento escondido en una nota al pie.
Un servicio al que tu navegador se conecta directamente: Frankfurter (api.frankfurter.dev), un servicio gratuito y abierto que reúne los tipos de cambio que publican bancos centrales y otras fuentes oficiales. Tu navegador le pide los tipos más recientes cuando abres la calculadora de patrimonio neto (y otra vez si cambias allí la moneda de tus gastos). La solicitud solo incluye códigos de moneda, nunca tus cantidades ni nada que hayas escrito, y la respuesta es una tabla con los tipos de muchas monedas, de la que la calculadora conserva las que ofrece. Como cualquier solicitud que hace tu navegador, le muestra a Frankfurter tu dirección IP y el tipo de navegador. Va directamente de tu navegador a Frankfurter, así que nosotros nunca la vemos, y Frankfurter es independiente de nosotros: lo que conserve depende de ellos.
Lo que no hacemos
- No mostramos anuncios. Ninguna tecnología publicitaria en este sitio.
- No vendemos, alquilamos, licenciamos ni redistribuimos tus datos a nadie.
- No te rastreamos entre sitios. Sin píxel de Facebook, sin etiqueta de Google Ads, sin LinkedIn Insight, sin píxel de TikTok, sin retargeting de ningún tipo.
- No grabamos tu pantalla, tus pulsaciones de teclado, los valores de los formularios ni un registro continuo de tu desplazamiento.
- Las respuestas a los correos del boletín llegan a una persona en hello@nidhi.today, que las lee. Nunca las introducimos en ningún sistema de analítica ni de publicidad.
- No importamos las listas del boletín ni de la lista de espera, ni las respuestas del formulario de voluntariado, a ninguna otra herramienta ni sistema de envío de correos.
Cuánto tiempo lo conservamos
- Eventos de analítica: 12 meses (el plazo de conservación predeterminado de PostHog; no lo hemos ampliado), y después se eliminan automáticamente.
- Suscriptores del boletín: mientras mantengas la suscripción, y hasta 30 días después de que canceles la suscripción, para asegurarnos de que no te llegue ni un correo más por error. Pasado ese tiempo, se elimina la fila.
- Altas en la lista de espera: hasta que enviemos el correo del lanzamiento y hayas tenido tiempo de actuar, o hasta que nos pidas que te eliminemos. Escríbenos cuando quieras.
- Respuestas del formulario de voluntariado: hasta que nos pidas que las eliminemos, o dos años después de nuestro último contacto contigo, lo que ocurra antes. El crédito en el sitio se mantiene hasta que nos pidas quitarlo.
- Correos rebotados o no válidos: se eliminan en cuanto los detectamos, normalmente en una semana.
- Tu localStorage: hasta que borres los datos de tu navegador. Una vez más: nosotros nunca lo vemos.
Tus derechos
Según el RGPD (y normativas similares), tienes derecho a preguntarnos qué datos tenemos sobre ti, a rectificarlos, a exportarlos, a limitar cómo los usamos, a oponerte a su uso o a suprimirlos.
- En el caso del boletín, puedes cancelar la suscripción con un enlace de un clic en cada correo que enviamos, y eso también programa la eliminación descrita arriba. En el caso de la lista de espera y del formulario de voluntariado, escríbenos y te eliminaremos, junto con el crédito en el sitio si lo hay. En cualquiera de estos casos, lo haremos a mano si nos lo pides.
- En cuanto a la analítica, los eventos son anónimos; no tenemos forma de buscar «tus» eventos porque no sabemos quién eres. Si eso te molesta, simplemente rechaza el aviso de cookies o usa un bloqueador de contenido. No se rompe nada en el sitio. Puedes cambiar tu respuesta en cualquier momento con Configuración de cookies, al pie de cada página; si ahí respondes que no, el registro de clics se detiene de inmediato.
- Para cualquier otra cosa, escribe a hello@nidhi.today con la palabra privacy en el asunto. Respondemos en unos pocos días.
Menores
Este sitio está escrito para personas adultas que intentan entender su propio dinero. No recopilamos a sabiendas nada de menores de 16 años. Si crees que lo hemos hecho, escríbenos y lo eliminaremos.
Registro de cambios
Cambios en este aviso
El registro de abajo se mantiene en inglés, con las palabras con que se escribió, y no se traduce: es la constancia de lo que decía este aviso en una fecha concreta.
Actualizamos esta misma página. Cada cambio, por pequeño que sea, tiene una entrada en el registro de abajo, empezando por el más reciente. Los últimos se muestran completos; los anteriores se conservan palabra por palabra en «Cambios anteriores». Los cambios que afectan a cómo tratamos los datos personales (un nuevo encargado del tratamiento, una nueva categoría de datos, un cambio en la conservación) se marcan como relevante.
No enviamos correos de «hemos actualizado nuestra política de privacidad». Si quieres seguirla de cerca, guarda esta página en favoritos o lee el registro de abajo cuando tengas curiosidad. Si algún cambio te incomoda, puedes cancelar la suscripción al boletín con un enlace de un clic en cada correo, y borrar los datos del sitio en tu navegador elimina todo lo guardado localmente.
- relevante
A volunteers page and form for translators: native or near native speakers can offer to review the site's translations or help translate the lessons, through a Google Form linked from the new page nidhi.today/volunteers/. The home page and the footer link to the page. This notice now says what the form collects, why, where it is kept, for how long, and how to have it removed.
- New page nidhi.today/volunteers/, in every language, describing the call for translators and linking to the volunteer form. Like every page, it sends the anonymous pageview and page-leave events described above. New click labels, recorded only if you accept the cookie banner: volunteers-form on the page's two buttons that open the form, volunteers-privacy on its link to this notice, home-volunteers on a one line strip after the home page's opening section, and footer-volunteers on a new footer link. The form is only linked, never embedded, so the page loads nothing from Google. No new storage key or browser request.
- The volunteer form is a Google Form run by our Google Workspace account (already listed under "Where it lives"). You do not need to sign in, and your Google account is not part of the answers we receive; your email address is an ordinary question. It asks for your email, which languages, whether you have a financial background (with an optional note), how you would like to help, whether you want credit on the site, and your consent to be contacted by email about translating; optionally, whether you want to be invited to the planner's beta (a separate choice), a name to credit and your level in each language. Google records when you sent it. Answers go to a sheet of their own that only we can read, where we also note a follow-up status and the date of our last contact with you. A new response sends us a notification that contains none of your answers. A person reads every response, and no reply, decision, credit or beta signup happens automatically.
- If you ask for credit, the name you gave may appear on the site, listed with the others who helped with that language, until you ask us to remove it.
- Retention: volunteer form answers are kept until you ask us to remove them, or two years after our last contact with you, whichever comes first. To have them removed, email us, as for the waitlist.
- The form page itself is served by Google, so Google's own terms and privacy policy apply while you fill it in. We added no Google script, pixel or tag to nidhi.today.
- relevante
The loan comparison and the inflation calculator now carry the planner waitlist box the home page and the net worth calculator already have. It is the same form, collecting the same things; signing up there records that page as where you signed up. Also: a new "What's changed" page, at /changes/ in every language, lists changes to the site as they ship; the footer links to it with a new click label. The page itself collects nothing new. Also: the Monte Carlo simulator now carries the same waitlist box, and the net worth calculator's box matches the others, which renames its two confirm-button labels. Also: the "What's changed" page has an RSS feed in each language, linked from that page with a new click label. Also: the waitlist box may show a rounded-down total of signups once there are 50, never anything about any one person. Later the same day, that threshold became 20, in steps of 20. Also: the newsletter boxes may show a rounded-down total of confirmed subscribers once there are 20, never anything about any one person.
- Waitlist form on /free/loan-comparison/ and /free/inflation-calculator/, and on their Hindi, Spanish, Czech and Marathi editions: the same form as on the home page, with the same confirm step. Nothing is sent until you confirm your address. It then sends your email address and the page you signed up on, as the waitlist already does, so those two addresses can now appear as the source page. The page address sent is the path only (for example /free/loan-comparison/), never anything after a ? or #, so it never carries what you typed into the tool.
- Events and labels are the ones the waitlist already uses: waitlist_submit, with the same two properties (email_domain, the part of the address after the @, and source, the page path), and waitlist_sent; the confirm buttons carry waitlist-confirm-yes and waitlist-confirm-change, recorded only if you accept the cookie banner, as before. After you sign up, the existing nidhi-waitlist-signedup key in your browser hides the box on these pages too. No new event, label, key or third party.
- The "What's changed" page, at /changes/ and, translated, at /hi/changes/, /es/changes/, /cs/changes/ and /mr/changes/, lists changes to the site, newest first. It sends the same anonymous pageview and page-leave events every page sends, under the same consent choice. It stores nothing in your browser, makes no third-party requests and has nothing to type into.
- Click labels, recorded only if you accept the cookie banner, as before: the footer link to the page carries footer-changes.
- Waitlist form on /free/monte-carlo-simulator/ as well, and on its Hindi, Spanish, Czech and Marathi editions, in place of the "Join the early-access list" link, so all four free tools carry the same box. As on the others, nothing is sent until you confirm your address; then your email address and the page path are sent, and the path never includes what you typed into the simulator.
- The net worth calculator's box is now the same as on the other tools, so its confirm buttons carry waitlist-confirm-yes and waitlist-confirm-change rather than waitlist-hero-confirm-yes and waitlist-hero-confirm-change. The Monte Carlo link's label, free-monte-carlo-planner-link, goes with the link. No page uses the waitlist-hero-confirm-yes and waitlist-hero-confirm-change labels any more; earlier entries that name them describe the site as it was then. No new event, storage key or third party.
- RSS feeds of the "What's changed" lines, at /changes/rss.xml and /hi/changes/rss.xml, /es/changes/rss.xml, /cs/changes/rss.xml and /mr/changes/rss.xml. A feed is a plain file: it loads no analytics, stores nothing and makes no third-party request, so a feed reader that fetches it is not counted. The page links to its feed with a new click label, changes-rss, recorded only if you accept the cookie banner, as before.
- Waitlist total: once 50 people have joined, the waitlist box on the home page and the free tools may say how many, rounded down to a multiple of 50 ("50+ people have joined my waitlist."). The number is read once per site build from the waitlist sheet, as a single total of distinct addresses; the request carries a secret token and returns only that number. Your browser makes no request for it, and it never shows any email address or whether any particular person has joined. Below 50, nothing is shown. The "What we collect, and when" section of this notice now says so.
- Waitlist total, later the same day: the threshold and the rounding are now 20, not 50 ("20+", "40+", "60+" ...), so nothing is shown below 20. The request's secret token is now checked by the waitlist script against a fingerprint of it (a SHA-256 hash), so the token itself is kept only by the site's build. What is read and shown is otherwise unchanged.
- Newsletter total: once 20 people have subscribed and confirmed, every newsletter box (at the end of each lesson and on the blog index) may say how many, rounded down to a multiple of 20 ("20+ readers get new lessons by email."). The number is read once per site build from the newsletter sheet, as a single total of distinct confirmed subscribers; addresses that are still pending, have unsubscribed or whose emails bounce are not counted. The request carries a secret token, checked against a fingerprint of it (a SHA-256 hash), and returns only that number. Your browser makes no request for it, and it never shows any email address or whether any particular person has subscribed. Below 20, nothing is shown. The "What we collect, and when" section of this notice now says so.
- relevante
A glossary page, at /blog/glossary/ in every language, collects the terms the lessons define. It is linked from the Learn menu, the footer and the learning path, and those three links carry new click labels. The page collects nothing new.
- The glossary page, at /blog/glossary/ and, with translated page text, at /hi/blog/glossary/, /es/blog/glossary/, /cs/blog/glossary/ and /mr/blog/glossary/, lists the terms the lessons define, each linked to the lesson that explains it. It sends the same anonymous pageview and page-leave events every page sends, under the same consent choice. It stores nothing in your browser, makes no third-party requests and has nothing to type into.
- Click labels, recorded only if you accept the cookie banner, as before: the Learn menu's Glossary entry carries nav-blog-glossary on a wide screen and nav-menu-blog-glossary in the phone menu, the footer link carries footer-blog-glossary, and the learning path's Glossary link carries blog-index-glossary.
- Lesson pages can now show a "Glossary" card with the lesson's terms as pills and their definitions folded under "Show all definitions", and the "In this lesson" list links to the parts of the lesson. Opening the definitions or following those links happens in your browser and records nothing beyond the clicks the cookie banner already covers; they carry no click labels of their own.
Cambios anteriores21 cambios
octubre de 2026
- relevante
The site is published in Czech as well, at /cs/. The Czech edition collects exactly what the English one does, with the same browser storage and no new third-party requests. The lessons stay in English, and a Czech page says so. The free tools start in Czech koruna on Czech pages, and the inflation calculator starts with Czechia's history there. The site is published in Marathi too, at /mr/, on the same terms, with the free tools starting in rupees and the inflation calculator starting with India there. Analytics now count only visits to nidhi.today itself.
- The Czech edition, at /cs/: the site's pages are published in Czech as well, on the same terms as the Hindi and Spanish editions. The lessons and the pages a subscription email links to stay in English, and a Czech page says so. A Czech page sends the same anonymous pageview and page-leave events an English page sends, through the same PostHog project under the same consent choice. There are no new kinds of event, and no event or property carries anything you type. The free tools behave as their English counterparts do, including the rule that a tool never writes what you type into the page address, and the backstop that removes everything but campaign parameters from a free-tool address before any event is sent now covers /cs/free/... as well. Czech is an address and nothing else: no language is stored in your browser, and no automatic redirect picks one for you from your device settings.
- Click labels, recorded only if you accept the cookie banner, as before: the language picker's Czech choice carries lang-switch-cs. The picker on a Czech page uses the labels it already had (lang-switch-en, lang-switch-hi, lang-switch-es).
- Short links for a Czech social profile, /cs/ig, /cs/tg, /cs/wa and /cs/dsc, lead to the Czech home page with the same campaign parameters the English short links carry. The redirect page itself loads no analytics.
- Typefaces: Czech letters with diacritics (č, ř, ě, ů and the rest) are drawn from the extended-Latin files of the two typefaces the site already uses. Your browser fetches those files from nidhi.today itself, the same host as the page, only when a page needs them; a Czech page asks for the Inter one straight away, as a Hindi page does for its Devanagari typeface. Spanish pages no longer fetch the Devanagari typeface in advance, which they did by mistake and never used. This adds no third party.
- Czech pages: the free tools start in Czech koruna there until you pick another currency, as they start in rupees on Hindi pages. So on an untouched Czech net worth calculator, the request to Frankfurter asks for koruna rates rather than euro rates; it still names only currency codes. The existing rates-error event, which records the spending currency the tool was set to, reports CZK on such a page. Share links are unchanged: a link that names no currency still opens in euros on every page, and a link made on a Czech page in koruna says so. When you switch language on a tool you have not touched, nothing is carried and the new page starts in its own currency.
- Inflation calculator on the Czech page: it starts with Czechia's inflation history, which is built into the page, so nothing is fetched until you pick another country, as with India on the Hindi page. Picking a country still sends the existing free_inflation_country_changed event with the country's three-letter code.
- Browser storage is unchanged: the same keys as before, in every language, and nidhi-reading-progress is shared across editions, as it already was. The Czech privacy notice is a translation of this one, and this English notice is the version that governs.
- The Marathi edition, at /mr/: the site's pages are published in Marathi as well, on the same terms as the Hindi, Spanish and Czech editions. The lessons and the pages a subscription email links to stay in English, and a Marathi page says so. A Marathi page sends the same anonymous pageview and page-leave events an English page sends, through the same PostHog project under the same consent choice. There are no new kinds of event, and no event or property carries anything you type. The free tools on Marathi pages follow every rule the English ones do, including that a tool never writes what you type into the page address.
- Click labels, recorded only if you accept the cookie banner, as before: the language picker's Marathi choice carries lang-switch-mr. The picker on a Marathi page uses the labels it already had (lang-switch-en, lang-switch-hi, lang-switch-es, lang-switch-cs).
- Short links for a Marathi social profile, /mr/ig, /mr/tg, /mr/wa and /mr/dsc, lead to the Marathi home page with the same campaign parameters the English short links carry. The redirect page itself loads no analytics.
- Typefaces: a Marathi page asks for the Devanagari typeface straight away, as a Hindi page does. It is the same file, which also carries the letters and letter forms Marathi uses, and your browser fetches it from nidhi.today itself. This adds no third party.
- Marathi pages: the free tools start in rupees there until you pick another currency, as they do on Hindi pages. So on an untouched Marathi net worth calculator, the request to Frankfurter asks for rupee rates; it still names only currency codes. The existing rates-error event, which records the spending currency the tool was set to, reports INR on such a page. Share links are unchanged: a link that names no currency still opens in euros on every page. The inflation calculator on the Marathi page starts with India's inflation history, which is built into the page, as on the Hindi page; picking another country still sends the existing free_inflation_country_changed event with the country's three-letter code.
- Browser storage is unchanged for the Marathi edition as well: the same keys, and nidhi-reading-progress is shared across editions. The Marathi privacy notice is a translation of this one, and this English notice is the version that governs.
- The published site now starts analytics only at https://nidhi.today itself. A copy of the site served from anywhere else, such as a developer's own computer, never starts PostHog. A test copy built to check what the site sends uses a dummy key that PostHog rejects, so it cannot add to our figures. Before this, a local test of the Czech edition on Oct 19 sent at least 48 pageviews of the Czech home page to our analytics, under the address localhost:4399, and may have sent pageviews of the English, Hindi and Spanish home pages as well. They came from our own computer, not from visitors, and carried nothing typed into a tool.
- relevante
The net worth calculator now gets its exchange rates from Frankfurter's newer service, which combines rates from central banks and other official sources rather than the European Central Bank alone. The request still names only the currency you chose. Also: the free tools offer nine more currencies.
- Net worth calculator: the request your browser makes to api.frankfurter.dev now goes to its newer rates address (/v2/rates?base=EUR, for example) instead of the older one (/v1/latest?from=EUR). It still names only your spending currency, never your amounts or anything you typed, and it still goes straight from your browser to Frankfurter, so we never see it. The reply is a table of rates for many currencies, and the calculator keeps only the ones it offers.
- Where the rates come from: the older service published the European Central Bank's reference rates only. The newer one combines the rates published by central banks and other official sources, which is what lets the calculator convert the new currencies below. Rates for a currency the European Central Bank also publishes can differ slightly from before.
- This notice's description of Frankfurter, under "Where it lives", now says this in every language, as do the free tools' own pages, which no longer say the rates are the European Central Bank's.
- Nine more currencies in every free tool (the loan comparison, the net worth calculator, the Monte Carlo simulator and the inflation calculator): the Kenyan, Tanzanian and Ugandan shillings (KES, TZS, UGX), the Bangladeshi taka (BDT), the West and Central African CFA francs (XOF, XAF), the Congolese franc (CDF), the Angolan kwanza (AOA) and the Mozambican metical (MZN). There are no new events or properties: the events that already record which currency you pick, and the rates-error event that records the spending currency, can now carry these nine codes too. The inflation calculator can now show its history for the countries that use them in that currency.
- relevante
A new free tool, an inflation calculator. It sends only the choices you make (which question, currency and country), never the numbers you type, and loads country inflation history from nidhi.today rather than from the World Bank. Also: the newsletter and waitlist forms show the address you typed and send nothing until you confirm it, and the waitlist keeps each address once without saying whether it was already there.
- New free tool: an inflation calculator, at /free/inflation-calculator/ (and /hi/free/... and /es/free/...). It answers four questions (what an amount could buy later, what a price could cost later, what a past amount is worth today, and whether a raise or a savings return keeps up with inflation) entirely in your browser. The amounts, rates and years you type are not sent to us or anyone else, and it stores nothing in your browser: no new localStorage, sessionStorage or cookie key.
- New anonymous interaction events on the inflation calculator, sent the same way as every other tool event: free_inflation_mode_changed (which question tab you pick: buy, cost, past or keep), free_inflation_currency_changed (the currency code you pick), free_inflation_country_changed (the three-letter code of the country whose inflation history you pick, or none; a choice from a list, like the currency, never anything you type), free_inflation_average_used (you used a country's recent average as the rate; the average itself is not sent), free_inflation_share_copied, free_inflation_reset, and free_inflation_shared_view_opened with the link's utm_source when you arrive from a shared link (not again when you only switch language). No event carries an amount, a rate, a number of years, a starting year or the encoded state.
- Country inflation history: the calculator shows yearly consumer price inflation from the World Bank (indicator FP.CPI.TOTL.ZG, CC BY 4.0). nidhi keeps a copy in its own code, refreshed by a monthly job that opens a pull request for review, and serves it from nidhi.today. When you pick a country, your browser fetches /data/inflation-history.json from nidhi.today, the same site and the same host as the page, and never contacts the World Bank. The request carries nothing about you or your choice: it is the same file for every country. On the Hindi page, India's history is built into the page, so nothing is fetched until you pick another country. This adds no third party.
- Share links for the calculator follow the rule every free tool keeps: nothing goes into the page address while you use it, a copied link carries your values after the # sign (a part of the address browsers never send to a server), and the page moves them out of the address bar into the page itself before analytics start. The analytics backstop that strips everything but campaign parameters from any free-tool address covers this tool in every language without change.
- Click labels, recorded only if you accept the cookie banner: the calculator's question tabs (free-inflation-tab-buy, -cost, -past, -keep), free-inflation-share, free-inflation-reset, free-inflation-use-average, the lesson link free-inflation-lesson-link, and its related-reading cards (related-purchasing-power, related-saving-vs-investing, related-why-your-euro-buys-more). The new tool also gets a card on the free tools page (free-cta-inflation-calculator), a menu entry (nav-tool-inflation-calculator, nav-menu-tool-inflation-calculator), a footer link (footer-inflation-calculator), a card on the home page (home-cta-inflation-calculator), and a link from the lessons it pairs with, starting with the lesson on purchasing power (post-tool-inflation-calculator). Like every clickable element, they are told apart by these labels, never by their text.
- The "What we collect" section of this notice now lists the inflation calculator's events, in every language.
- Newsletter and waitlist forms: pressing the button now first shows the address you typed and asks whether it is right. Nothing leaves your browser until you press yes; pressing "Change it" sends nothing and lets you edit the address. The events these forms already sent (waitlist_submit and waitlist_sent for the waitlist; blog_subscribe_submit, blog_subscribe_sent and the hashed-address identify call for the newsletter) now happen when you press yes rather than on the first press, with the same properties as before.
- The waitlist keeps each address once. Signing up again with an address already on the list adds no row and sends no second waitlist_signup event, and the page and the reply are exactly the same as for a new signup, so the form never reveals whether an address is on the list. Rows already stored twice are reduced to the earliest one, once, the next time anyone signs up. The newsletter already kept one row per address and still answers every valid address the same way.
- Click labels, recorded only if you accept the cookie banner: the confirm step's two buttons, waitlist-confirm-yes and waitlist-confirm-change (waitlist-hero-confirm-yes and waitlist-hero-confirm-change in the box at the top of the home page), and subscribe-full-confirm-yes, subscribe-full-confirm-change, subscribe-compact-confirm-yes and subscribe-compact-confirm-change on the newsletter boxes. Like every clickable element, they are told apart by these labels, never by their text, so the address shown next to them is never recorded.
- relevante
New free tool: a Monte Carlo simulator. The site is published in Spanish as well, at /es/. The Spanish edition collects exactly what the English one does, with the same browser storage and no new third-party requests. The lessons stay in English, and a Spanish page says so. Also: the free tools start in rupees on Hindi pages, so an untouched Hindi net worth calculator asks the exchange-rate service for rupee rates.
- The simulator plays a savings and withdrawal plan forward thousands of times with random yearly returns. The whole simulation runs in your browser (large runs in a background thread of the same page); the amounts, years, fees and stock/bond mix you enter are not sent to us or anyone else.
- New anonymous interaction events on /free/monte-carlo-simulator: which currency you select, which return setting you pick (cautious, historical or optimistic), which number of simulated paths you pick, whether you switch withdrawals on or off, whether you open the results table, whether you copy a shareable link, whether you reset the form, and, when you arrive from a shared link, that it was a shared link plus its utm_source. None of them carry the values you typed.
- Unlike the other tools, this one does not write your inputs into the page address while you type. They only go into a link when you press "Copy a link to this plan", and then after the # sign, a part of the address browsers never send to a server. When you open such a link, the page moves the values out of the address bar before analytics start, so page-view analytics never record them.
- The page links to the early-access list for the planner. Following that link is recorded only through the click data you accept on the cookie banner.
- The lesson Introduction to Financial Independence ends with a link to the simulator.
- The tool makes no network requests of its own and adds no third parties.
- The Spanish edition, at /es/: the site's pages are published in Spanish as well, on the same terms as the Hindi edition. The lessons and the pages a subscription email links to stay in English, and a Spanish page says so. A Spanish page sends the same anonymous pageview and page-leave events an English page sends, through the same PostHog project under the same consent choice. There are no new kinds of event, and no event or property carries anything you type. The free tools behave as their English counterparts do, including the rule that a tool never writes what you type into the page address, and the backstop that removes everything but campaign parameters from a free-tool address before any event is sent now covers /es/free/... as well. Spanish is an address and nothing else: no language is stored in your browser, and no automatic redirect picks one for you from your device settings.
- Click labels, recorded only if you accept the cookie banner, as before: the language picker's Spanish choice carries lang-switch-es. The picker on a Spanish page uses the labels it already had (lang-switch-en, lang-switch-hi).
- Lesson pages: the "Language" line at the top of an English lesson, which linked to the Hindi learning path, is removed, because it read as if the lesson itself were available in Hindi. Its click label, post-hindi-path, is no longer recorded. The lessons stay in English, and the Hindi and Spanish learning paths still list them and say so.
- Short links for a Spanish social profile, /es/ig, /es/tg, /es/wa and /es/dsc, lead to the Spanish home page with the same campaign parameters the English short links carry. The redirect page itself loads no analytics.
- Browser storage is unchanged: the same keys as before, in every language, and nidhi-reading-progress is shared across editions, as it already was between English and Hindi. Spanish needs no new typeface, so a Spanish page makes no request an English page does not. The Spanish privacy notice is a translation of this one, and this English notice is the version that governs.
- Hindi pages: the free tools now start in Indian rupees there, and in euros everywhere else, until you pick another currency. So on an untouched Hindi net worth calculator, the request to Frankfurter asks for rupee rates rather than euro rates; it still names only currency codes. The existing rates-error event, which records the spending currency the tool was set to, reports INR on such a page. Share links are unchanged: a link that names no currency still opens in euros on every page, and a link made on a Hindi page in rupees says so. When you switch language on a tool you have not touched, nothing is carried and the new page starts in its own currency; once you have typed or chosen anything, the values and the currency come with you as before.
A clearer line about replies to newsletter emails: a person reads them, and they never go into analytics or ads.
- Replies: the line in "What we don't do" read as if replies to newsletter emails were not read at all. They are: replies go to hello@nidhi.today, where a person reads them. What the line promises is unchanged: replies are never fed into any analytics or ads system. Nothing is collected, stored or sent differently.
- relevante
The site is published in Hindi as well as English. The Hindi edition at /hi/ collects exactly what the English one does, with the same browser storage and no new third-party requests. The lessons stay in English, and a Hindi page says so. Also: two new click labels, one on the learning path and one on the homepage, and seven sentences of the Hindi notice corrected to say what this one says.
- The Hindi edition, at /hi/: the site's pages are published in Hindi as well, apart from the lessons (see below) and the pages a subscription email links to, which stay in English. A Hindi page sends the same anonymous pageview and page-leave events an English page sends, through the same PostHog project under the same consent choice. There are no new kinds of event, and no event or property carries anything you type, the same promise the English site makes. The two calculators and the free-tools page behave as their English counterparts do, including the rule that a tool never writes what you type into the page address. Hindi is an address and nothing else: no language is stored in your browser, and no automatic redirect picks one for you from your device settings.
- The lessons stay in English, and there is one feed. A Hindi page lists the same lessons, in English, and says in Hindi that they are in English, so a reader is not left to work it out from the headings; opening one takes them to that lesson at its one address, which is the English one and is the same address an English reader gets. Every page, in either language, links the one English feed.
- The learning path: an English lesson page now carries a link back to the Hindi learning path, so a reader who prefers Hindi can find it from the lesson they are reading. New data-attr label, recorded only if you accept the cookie banner, as before: post-hindi-path. The lesson cards on a Hindi page keep the labels they already had (blog-card-<lesson> and the rest); what changed is where they lead, which is the lesson's one address. Nothing new is stored or sent.
- The language picker: the header holds a language control, which opens a short list of the languages a page is published in and leads to the same page in the one you choose. Each choice carries one click label, lang-switch-hi on an English page and lang-switch-en on a Hindi page, recorded only if you accept the cookie banner, like every other click label. Opening the control carries no label of its own, because opening it is not switching language. If you switch language on a tool page, the values on screen come with you, whether you typed them or a share link filled them in, and they travel behind the # sign, the part of an address a browser never sends to a server. They are added to the address only as you leave the page, never written into the link itself, so a recorded click on the language control never includes them. Until then they stay in the open page, which keeps an encoded copy of the current values for this purpose and stores nothing. A tool opened this way does not send its shared-view event again, because the page you came from already sent it.
- Browser storage is unchanged: the same keys as before, in both languages, and nidhi-reading-progress is deliberately shared, because the lessons are the same lessons whichever edition you reach them from and your place on the learning path should survive switching. The backstop that removes everything but campaign parameters from a free-tool address before any event is sent now covers /hi/free/... as well as /free/.... The Devanagari typeface is served from nidhi.today like the others, so a Hindi page makes no request an English page does not. The Hindi privacy notice is a translation of this one, and this English notice is the version that governs.
- Homepage: a "Two questions suggest where to start" link under the starting routes leads to /blog/#level-helper, which opens the level helper when the page loads. New data-attr label, recorded only if you accept the cookie banner, as before: home-level-helper. The helper works as before: your answers are kept only while the page is open, and are not stored or sent.
- Homepage: the "My finances have got complicated" route is now the Optimizing level. Until its first lesson is published it shows as a line without a link; once published, its link keeps the existing label (home-start-complex-door). Nothing new is stored or sent.
- The Hindi privacy notice, checked line by line against this one: five sentences said something different and now match. They are the promise that we do not sell, rent, license or syndicate your data (the Hindi had said "share" for syndicate, which would have contradicted the processors this notice names); which changes the log below flags as material (the Hindi had said changes that reveal, not changes that affect, how personal data is handled); that we remove you from the newsletter or the waitlist by hand when you ask; that nothing typed into a free tool goes into the page address; and the "short version" opening line. The rest of the Hindi notice also had smaller wording, grammar and spelling fixes, such as naming what the Monte Carlo simulator never sends as amounts and a portfolio mix rather than "figures" and a "mix"; none of them changes what it promises. A second check corrected two more sentences: the newsletter row is kept for up to 30 days after you unsubscribe, which is a maximum (the Hindi read as a fixed 30 days), and the loan comparison records whether you switch between solving for the term and for the monthly payment (the Hindi described which of the two you were in). A third check left the promises as they were and only evened out the wording: the three places that invite you to email us use the same plain verb form as the rest of the Hindi site. No practice changed, and this English notice, which governs, is unchanged.
- relevante
Topic pages use the new learning path layout and no longer have their own search box, so no page on the site writes what you type into its address. The homepage has fewer links competing for attention, and no longer contacts the exchange-rate service.
- Topic pages (/blog/tag/...): a topic's lessons are grouped by level on the same cards as the level pages, each group linking to its full level. The search box, the level summary and the topic chips are gone. Searching across every lesson happens on /blog/, which keeps what you type on the page. Before, the topic-page search wrote it into the address (?q=), which the analytics script then removed before sending any event; now nothing writes it there at all. The analytics script still strips ?q= from learning path addresses, for old bookmarks and hand-typed links.
- Read status on topic pages uses the existing nidhi-reading-progress key, as before. Nothing new is stored or sent.
- New data-attr labels, recorded only if you accept the cookie banner, as before: topic-level-discovery, topic-level-building, topic-level-psychology, topic-level-optimizing, topic-level-mastery and topic-level-inclusive-finances (the link from a topic's level group to that whole level), and tag-search-all (the link to search every lesson). tag-browse-all and blog-card-* keep their meaning. The topic pages' lp-skip-next-*, lp-go-previous-*, lp-mark-level-read-* and lp-mark-level-unread-* buttons are gone; the last two remain on the level pages.
- Homepage: one main button per screen. Each of the four starting routes is now a single line that links to its route, instead of a card with a link per lesson, a link per free tool and a button; the line keeps the button's label (home-start-basics-door, home-start-no-plan-door, home-start-habits-door, home-start-complex-door) and still leads to the first lesson on the route you have not read, from the existing nidhi-reading-progress key. The hero no longer has the "Not sure where to begin?" and "Already know the basics?" lines. Labels removed with them: home-hero-first-lesson, home-hero-skip-building, home-hero-skip-psychology, home-hero-skip-tools, the per-lesson route links home-start-<route>-1, -2 and -3, and the per-tool route links home-start-<route>-tool-<n>. The Inclusive Finances route is a single line too, with its existing label (home-inclusive-finances). The "Welcome back" link (home-hero-continue) now shows only to readers with reading progress, as before. Nothing new is stored or sent.
- Homepage: the page is arranged as three steps (learn, see yours, look ahead). The worked example is split across them, with a short summary of it in the hero; the "nidhi grows with your financial life" section is removed, and the free tools are listed on their own, without a lesson link beside each one. Labels removed: home-grows-<stage>-1 and -2 for each stage, home-start-complex-more, home-pair-lesson-<tool> for each tool, and home-tools-all. Nothing new is stored or sent.
- Homepage: the multi-currency example and its "Add it up in euros at today's rates" button are removed, so the homepage no longer contacts Frankfurter (the European Central Bank exchange-rate service) at all. Its labels go with it: home-mc-convert and home-mc-tool. The net worth calculator still fetches rates as before, and the section on Frankfurter above no longer mentions the homepage.
- relevante
The previous PostHog project, holding all analytics recorded before October 8, 2026, was deleted. Analytics have gone to a new project since 00:00 UTC on October 8. Also: two ways typed text could reach analytics are closed, shorter page titles and descriptions for search results, a menu on phones, and a new learning path page with one page per level, an optional helper for choosing a level, and a search that keeps your words out of the page address.
- Deleted: every analytics event recorded before October 8, 2026, including the pageview and page-leave events that carried what people typed into the loan comparison and the net worth calculator (see October 7). We deleted the whole PostHog project rather than searching for the affected events one by one, so the anonymous visitor profiles, click data and heatmaps from that period are gone too. None of it can be restored.
- Since 00:00 UTC on October 8, 2026, analytics go to a new PostHog Cloud EU project; nothing was recorded between the pause on October 7 and then. What is collected, when, and under what consent is unchanged, as described above. The newsletter and waitlist server-side events go to the same new project.
- Search results: lessons whose title ran past about 60 characters in search results now give search engines and link previews a shorter title (for example "Introduction to Financial Independence | nidhi"); the heading on the page is unchanged. The homepage and three lessons have shorter descriptions, and the anti-bias lesson's description now explains what many people do instead of telling you what to do. Wording only; nothing is collected or sent.
- Phone menu: on phones, the site's links move into a menu in the header. New data-attr labels nav-menu, nav-menu-contact and one per link (nav-menu-blog, nav-menu-about, nav-menu-email and so on). As with every click, they are recorded only if you accept the cookie banner.
- Learning path search: the words you search for go into the page address (?q=), and pageview events carry the address, so they reached our analytics. The analytics script now removes ?q= from learning path addresses before any event is sent.
- Click text: if you accepted the cookie banner, a recorded click, including a click on something that does not respond, carried the text of what was clicked. On the free tools that text can be a vendor name you typed or a figure worked out from your numbers. Clicks are now recorded without any text, told apart by their data-attr labels only.
- Learning path (/blog/): the page no longer lists every lesson. It shows where to start, or, if you have read lessons, the next one; the five levels and Inclusive Finances as one list, each with how many lessons it has (and how many you have read); and a search box. Each level's lessons are on their own page (/blog/discovery/, /blog/building/ and so on), with the same read toggles as before. Starting points, counts and "You are here" come from the existing nidhi-reading-progress key in your browser. Nothing is sent to us or anyone else, and no new key is stored.
- Search: what you type into the learning path's search box stays on the page. It is no longer written into the page address (?q=), so it never reaches page-view analytics. When a search engine sends you to /blog/?q=..., the page uses those words for the search and then removes them from the address. The analytics script still strips ?q= from learning path addresses as a backstop, and the search on topic pages (/blog/tag/...) is unchanged.
- Level helper: "Help me choose a level" asks which ideas you could explain to a friend and what would help most right now, then suggests a level to begin with and the lessons on the ideas you did not tick. Your answers are kept only while the page is open: they are not stored in your browser, put in the address or sent anywhere. Its area is excluded from recorded clicks, and while it is open click heatmaps are paused, so that, even if you accepted the cookie banner, nothing records which answer you picked. Following its link to a level is an ordinary page view of that level's page.
- New data-attr labels, recorded only if you accept the cookie banner, as before: blog-start-first-lesson, blog-start-continue, blog-start-inclusive, blog-level-helper (opening or closing the helper, not its answers), blog-level-discovery, blog-level-building, blog-level-psychology, blog-level-optimizing and blog-level-mastery, blog-search-result and blog-search-show-all (never the words searched), and on the level pages level-page-crumb, level-page-covered-<level>, level-page-prev, level-page-next, level-page-all, level-page-inclusive and level-page-any-country, and blog-index-any-country for the note that lessons are written for any country. In the header, Learn now opens a menu like Free Tools: nav-learn (the menu button), nav-blog (Learning path, the same destination as before), nav-blog-topics and nav-learn-editorial (How lessons are written, the editorial policy), with nav-menu-learn-editorial for the same link in the phone menu. The existing blog-index-browse-topics, blog-index-inclusive-hub, blog-card-*, lp-mark-level-read-* and lp-mark-level-unread-* labels keep their meaning. Lesson pages and the homepage now link to the level pages instead of a section of /blog/; their labels are unchanged.
- relevante
Fixed free tools that put what you typed into page addresses analytics recorded. Also: a homepage that leads with learning, starting routes you can follow, lessons that show where you are and end with what you now understand, a simpler one-currency net worth view, Frankfurter named in the notice, and OpenAI's training crawler blocked.
- Internal visits: the team's own browsers can be marked so they are never counted. Opening any page with ?internal=1 sets a new key in your browser, nidhi-internal, and from then on that browser runs no analytics at all, not even anonymous pageviews; ?internal=0 removes it. The parameter is taken out of the address right away. Visitors who never open such a link see no change.
- Cookie settings: a "Cookie settings" link at the bottom of every page reopens the cookie banner, so you can change your answer as easily as you gave it. Before, a choice could only be undone by clearing your browser's site data. Choosing "No thanks" there after an earlier yes switches click recording off immediately, not just from your next visit. The choice is still stored only in your browser (nidhi-cookie-consent), and the link's own click is recorded only if you had accepted (data-attr footer-cookie-settings).
- Analytics paused, then a fresh start: from today until 00:00 UTC on October 8, 2026, the site records no analytics at all, and the newsletter sends no events either. From then on, analytics go to a new, empty PostHog Cloud EU project, under the same rules described above. The previous PostHog project, holding everything recorded before today, is being deleted.
- Free tools, what went wrong: the loan comparison (since it launched on May 10, 2026) and the net worth calculator (since May 17, 2026) wrote what you typed into the page address as you typed, so the page could be reloaded or bookmarked. Every page sends an anonymous pageview and page-leave event, and those carry the page address. So the amounts, rates, names and currencies you entered on those two tools reached our analytics (PostHog Cloud EU) inside that address, and so did the contents of any shared link opened to one of them. A link to any of the three tools with values after a ? would have been recorded the same way. The events carried no name, email or user ID, but this broke our promise that the values you type are never sent.
- Beliefs and the learning path: the principle behind every lesson is now said where people meet the site. The beliefs page has a new belief, "Not just the rules of thumb": a rule of thumb is a starting point, and each lesson explains why it exists, where it breaks and what depends on you. The learning path introduction says the same in one sentence. Wording only.
- Footer disclaimer: "nidhi offers guidance" and "Our suggestions are educational" read like advice, which the rest of the site is careful not to give. It now says nidhi provides educational information and tools, and that the content and tools are educational, not professional financial, investment or tax advice. Wording only.
- Homepage FAQ, "What happens to the numbers I type into the tools?": it said the numbers are not sent "to nidhi or anyone else". That was broader than precise. It now says they stay on your device and are not sent to nidhi, never go into the page address, and that when a tool needs outside data such as exchange rates, your browser asks that service for the rates only, never your amounts, which like any request shows it your IP address. Nothing changed in what is sent.
- Phones: no page scrolls sideways any more. Wide lesson tables scroll inside their own box (a small script wraps each table in a labelled, keyboard-focusable region as the page loads; it reads and stores nothing), the loan comparison's screen-reader data tables no longer widen the page, lesson text has the same side margin as its title, breadcrumbs on the tools and topics pages are at least 24 pixels tall, and topic card lesson counts are at least 12 pixels. Spaces that went missing next to links on the about, editorial policy, free tools, privacy and subscription-confirmed pages are back. Layout and wording only.
- Net worth calculator on phones: in the Share window, the Cancel and Copy link buttons sat half under the recipient preview, so a tap on their lower half missed. They now sit above it. Layout only.
- Free tools, what changed: no tool writes your inputs into the page address any more. A share link carries them after the # sign, a part of the address browsers never send to a server, and the page moves them out of the address bar before analytics start, so the pageview never sees them. Older links that carried the values after a ? still open, and are cleaned the same way. As a backstop, the analytics script now removes everything except campaign parameters (utm_source and the like) from any free-tool address before an event is sent. The section on what we collect now says this. One consequence: reloading a tool page no longer keeps what you typed; a share link keeps a copy. The events already recorded with these addresses are being deleted from PostHog.
- Lessons: every lesson and Inclusive Finances guide now ends with a short "What you now understand" list restating its main ideas, in a tinted box that mirrors the TL;DR at the top, before the free tool and the previous and next links.
- Homepage, for readers who already know the basics: a line under the hero buttons links straight to the Building and Psychology levels and to the free tools (data-attr labels home-hero-skip-building, home-hero-skip-psychology and home-hero-skip-tools, captured only with consent, as before), each starting card says who its route suits, and a short section explains how lessons go past the rule of thumb. No change to what data is collected.
- Lessons: each lesson in Discovery, Building, Psychology, Optimizing and Mastery says where it sits in its level (for example "Lesson 8 of 16") at the top and above the previous and next links, with a link to that level on the learning path. That link is at least 24 pixels tall, the minimum size for a tap target. The numbers come from the published lessons when the site is built; nothing about your reading is used.
- Lessons: those with a paired free tool end in a short path: the lesson you read, the idea in one line, and a link to the tool. Two more lessons now link to the net worth calculator: What Is Net Worth and Managing Money Across Currencies.
- Homepage, "Start wherever you are": each situation shows its lessons as a numbered route, names the free tools that go with it, and ends in one button into the route. If you have read lessons on that route, the button moves to the first one you have not read, and once you have read them all it points to the learning path. It reads the existing nidhi-reading-progress key in your browser to do this. Nothing is sent to us or anyone else, and no new key is stored.
- Homepage: numbered lessons keep their titles beside their numbers, "nidhi grows with your financial life" has more space between stages, and on phones the example chart is drawn narrower so its labels stay readable. Its footnote, and the description of the chart for screen readers, are now printed once in the page, not once per drawing. Small labels are at least 12 pixels, and the "Free Tools" menu button in the header is at least 24 pixels tall, the minimum size for a tap target.
- Homepage redesign: the page now leads with the free lessons and tools: where to start for your situation, which lesson goes with which tool, and how nidhi keeps up as finances get more complex. The planner and its early-access list come after them. The early-access form in the hero is gone; the one further down is the same form, sending and storing exactly what it did before. A short FAQ on the homepage is also published as structured data for search engines.
- Homepage example: the look-ahead step now grows an invested balance (€3,400 invested, €150 added a month, an illustrative 5% a year after inflation) instead of the whole net worth, because a net worth made of a car, cash, a pension and a loan does not grow at one rate. Its note now counts the starting €3,400 as money put in alongside the €18,000 added. Editorial only; nothing is collected or sent.
- Homepage: if you have read lessons on the learning path, it suggests the next one, using the same nidhi-reading-progress key. Without any reading progress it suggests the first lesson.
- Homepage: the multi-currency example no longer contacts Frankfurter (the European Central Bank exchange-rate service) when the page loads, and the page no longer opens a connection to it in advance. The request is made only if you press "Add it up in euros at today's rates", and it carries none of the amounts on the page or anything you typed. Like any request your browser makes, it shows Frankfurter your IP address and browser type.
- Frankfurter in the notice: until now it was mentioned only in changelog entries. "Where it lives" now has a paragraph on it: when your browser contacts it, what the request contains, and what it reveals. Earlier entries said the request carries "no personal data". That was imprecise: it carries only currency codes, never your amounts, but like any request your browser makes it shows Frankfurter your IP address and browser type, and an IP address can count as personal data. The earlier entries stay as written, as a record; this corrects them. Nothing changed in what the site sends.
- New data-attr labels, so consented interaction analytics can tell links apart: on the homepage home-hero-start-learning, home-hero-tools, home-hero-first-lesson, home-hero-continue, home-start-* (including the route buttons home-start-basics-door, home-start-no-plan-door, home-start-habits-door and home-start-complex-door, and the route tool links home-start-<route>-tool-1 and -tool-2), home-pair-lesson-*, home-tools-all, home-grows-*, home-mc-convert, home-mc-tool, home-editorial-policy, home-privacy and home-faq-*; on lessons post-series-top and post-series-bottom. Without consent, these clicks are not captured, as before; only the anonymous pageviews described above are recorded.
- Net worth calculator: when everything you enter is in your own currency, the results show what you own, what you owe and your net worth, instead of a currency chart and per-currency risk cards. This view needs no exchange rates. Add something in another currency and the currency chart and risk cards appear as before. Wording now says "your currency" instead of "functional currency". Everything still runs in your browser, and nothing new is sent or stored.
- Inclusive Finances, once its first guide is published: a full-width card in "Start wherever you are" on the homepage, listing the situations the guides cover and linking to all of them, and a card beside the numbered levels on the learning path, using the existing data-attr labels home-inclusive-finances and blog-index-inclusive-hub. The hub joins the sitemap, the list of pages we offer to search engines, in the same update, dated by its most recently published or updated guide.
- Names: the navigation link and breadcrumbs say "Learn" and the footer link says "Learning path". They still lead to /blog/ and keep their nav-blog and footer-blog labels. The learning path page is titled "Learn Personal Finance", and the subscription pages, the topic list, the free tools page, the about page and the beliefs page call them lessons or the learning path instead of "the blog". The newsletter itself, and what it collects, are unchanged. The net worth tool is now called the net worth calculator; its address (/free/multi-currency-net-worth/) and link labels are unchanged.
- The trust section on the homepage says nidhi is built for different households, countries, abilities and ways of working, and names what that means in practice: the site works with screen readers, its charts do not rely on colour alone, it follows your device's reduced motion setting, and every lesson opens with a short summary. The beliefs page names the needs it means instead of saying "wired differently".
- Crawlers and AI tools: robots.txt, the file that tells crawlers which pages they may read, now blocks GPTBot, the crawler OpenAI uses to gather training data. OAI-SearchBot, which powers ChatGPT search and links back to our pages, stays allowed. llms.txt, the plain-text summary of the site for AI tools, calls the lessons the learning path and opens with who nidhi is for.
- The short social videos made from lessons no longer mention a free tool before that tool is available.
- Social posts made from the upcoming Optimizing and Inclusive Finances lessons now follow the same "teach, don't prescribe" wording as the lessons: they describe what many people do and what depends on your situation instead of telling you what to do, carry their sources and assumptions, and drop claims stronger than the lessons make. The one-line teasers these posts use to point back to each lesson were updated to match, and one lesson figure was corrected (€500 a month at 5% a year after inflation for 30 years is about €408,000, using the same method as the lesson's other figures). The upcoming cash management lesson's FAQ no longer says rate-sensitive funds are fine for money needed within a year: their price drop when rates rise is immediate, as the lesson itself explains. Editorial only.
- Editorial pass over the 42 published lessons: claims stated more firmly than the evidence supports now say where the rule of thumb breaks, figures that disagreed between lessons now agree (long-run stock returns of about 4 to 6% a year after inflation, one threshold for high-interest debt, one order for emergency fund, debt and employer match), two figures were corrected against their sources (long-run bond returns, and how much more often investors sell winners than losers), and one attribution was fixed (what Robert Shiller's Nobel Prize recognised). The 36 lessons this changed now show today as their update date. Editorial only.
- Second editorial pass, "teach, don't prescribe": across all lessons, published and upcoming, wording that told readers what to do with their money (what to buy, which debt to pay first, which account to open) now explains what people commonly do, why, the evidence, where it breaks and what depends on your situation. Upcoming Optimizing and Inclusive Finances lessons were brought in line with the published figures, and a few errors were fixed along the way (a retirement formula, an example's arithmetic, and a statement that money-market funds are deposit-insured). Published lessons this changed show today as their update date. Editorial only.
- This changelog is easier to read: the latest entry and the two before it are shown in full, and everything older sits under one collapsed "Earlier changes" section, grouped by month. Every entry is kept word for word; nothing was removed.
- This changelog now keeps one entry per day. Days that had several entries (May 25, October 1, October 5 and today) were combined into one each. Only repeated lines were dropped; no change was left out.
- relevante
Fixed two kinds of analytics that could run without your consent and a cookie banner that could stick open, plus interactive charts in both tools, a continuous homepage, a two-column learning path, and tool links inside articles.
- Analytics, what went wrong: two PostHog features, page-speed measurements ("web vitals") and clicks on things that did not respond ("dead clicks"), were switched on in our PostHog project settings. Our site code did not switch them off for visitors who had not accepted the cookie banner, so they ran for those visitors too. In the 30 days before the fix that was 59 page-speed events and 8 dead-click events across 23 visits. They carried no name, email or user ID, but they went beyond the anonymous pageviews this policy promises without consent.
- Analytics, what changed: the site now sets every PostHog capture feature itself instead of leaving any to the project settings. Dead clicks are recorded only after you accept, together with heatmaps and autocaptured clicks. Page-speed measurements and browser error capture are off for everyone. The "Only if you click Sure, that's fine" list above now names dead clicks explicitly and says page-speed measurements and browser errors are not recorded.
- Cookie banner: if you clicked "Sure, that's fine" before the analytics script finished loading, or with an ad blocker that stops it, the banner could stay open. It now always closes, and your choice is applied as soon as the script loads, or never if it is blocked.
- Multi-currency net worth: pointing at, tapping or selecting a currency in the chart or its legend highlights it and shows its share and amount. The legend lists amounts as well as shares. Shared links that hide amounts still hide them. Percentages follow your spending currency's number format, and a currency with no exchange rate is left out of the chart and named underneath, instead of being drawn at a size that mixed two currencies.
- Loan comparison: the balance-over-time chart has a years axis, more gridlines, and lines told apart by dash pattern as well as colour. Pointing at it, tapping it or using the arrow keys shows each loan's remaining balance and the interest paid so far, all in your browser. The payment-split chart shows whole amounts in your currency's usual format.
- Homepage: it no longer snaps between full-screen sections and scrolls as one page. The examples in the hero are calculated from the assumptions printed under each chart, and you can point at or tap a chart to read its values. The multi-currency example converts its amounts at the day's European Central Bank rates in your browser, through the same Frankfurter service the page already used; the request now asks for the US dollar and Indian rupee rates instead of only the dollar. The free tools and reading links appear as cards with small previews.
- Learning path: on wide screens each level's posts sit in two columns, numbered in reading order, with a note to read left to right, then down. Phones keep one column. The subscribe box puts the email field and button on one row, with the RSS link and the dismiss links beneath; nothing changes in what the form sends or stores. Removed the line promising new posts every Monday, Wednesday and Friday, which no longer matched the publishing schedule.
- Some posts mention their paired free tool once inside the article, at the point where it helps, as well as in the "Free tool" card after it. The mention is a plain link to the tool page with its own data-attr label (post-inline-tool-loan-comparison or post-inline-tool-multi-currency-net-worth), so consented interaction analytics can tell the two placements apart. Without consent, nothing is captured, as before.
Tightened upcoming blog posts: removed passages that repeated earlier posts and merged the Monte Carlo post into the projections post.
- Editorial changes only: repeated explanations replaced with a link to the earlier post, and one post folded into another. No new data collection, forms, localStorage keys, analytics events, or third-party calls.
- A second pass removed passages that repeated within a post or between the Optimizing and Inclusive Finances posts, corrected one worked example, and redrew the starting point of one chart. Also editorial only, with no change to how personal data is handled.
- Corrected the long-run stock return stated in published posts (Purchasing Power, Saving vs Investing, Understanding Risk, Investing 101) from 5 to 7% to about 4 to 6% a year after inflation, so the whole site uses one range backed by the cited historical data. Rebuilt one upcoming chart from a public historical dataset with a script anyone can rerun. Editorial only.
- The "min read" shown on posts now counts only readable text, not the code behind charts, so posts with figures show a slightly shorter, more accurate time. One upcoming post was split in two to keep every post under 15 minutes. No change to how personal data is handled.
- Made the site easier to use on phones: charts now keep a readable size and scroll sideways, summaries and FAQ answers use larger text, no text is smaller than 12px, and links and buttons are easier to tap. Layout only, with no change to how personal data is handled.
Fact-checked and corrected figures, sources, and charts in upcoming blog posts before they are published.
- Editorial changes only: corrected numbers, updated limits and regulator names, removed named commercial products, and redrew charts to scale. No new data collection, forms, localStorage keys, analytics events, or third-party calls.
Added the Inclusive Finances collection and per-level buttons on the learning path, and posts that pair with a free tool now show a "Free tool" card after the article.
- Inclusive Finances: a hub page at /blog/inclusive-finances/, optional follow-up posts on the learning path, and a homepage link. The hub and the new posts are static pages like the rest of the blog.
- Read status for the new posts, and the new "Mark the level as read" and "Mark the level as unread" buttons, use the existing nidhi-reading-progress key, which stays in your browser only. "Skip to next" and "Go to previous" only scroll the page.
- The "Free tool" card is a plain link to the tool page (for example /free/loan-comparison). The tools themselves work as before.
- The new links carry data-attr labels (for example home-inclusive-finances, lp-mark-level-read-discovery and post-tool-loan-comparison) so consented interaction analytics can tell them apart from other links. Without consent, nothing is captured, as before.
- No new data collection, forms, localStorage keys, or third-party calls.
mayo de 2026
Added updates@nidhi.today as the sending address for automated emails (newsletter, beta invites).
- hello@nidhi.today remains the address for general contact, support, and privacy requests. Replies to updates@ go to the same inbox.
- Same Google Workspace account, same processor, same data. No change to how your information is handled, just clarifying which address you will see in your inbox.
- relevante
Added a product-launch waitlist signup on the landing page, and a single reminder for newsletter subscribers who have not confirmed.
- New waitlist form on the homepage for people who want one email when nidhi launches. Single opt-in (no confirmation email). Separate from the blog newsletter: different Apps Script backend, different sheet tab, different purpose.
- New localStorage key nidhi-waitlist-signedup. Stored only in your browser. Set when you submit the waitlist form, so we hide the form on future visits. Contains only a status flag and timestamp, never your email address. Cleared when you clear your browser site data.
- Waitlist subscribers stored in a dedicated "beta waitlist" tab in the same Google Sheet as the newsletter. Collects: email, source page, signup timestamp. No confirmation tokens, no unsubscribe tokens (single opt-in).
- Newsletter reminder: if you submit the newsletter form but do not click the confirmation link within 3 days, we send exactly one reminder email asking you to finish subscribing. Sent between 9 AM and 12 PM Prague time (CET/CEST). After that, no further reminders. No new data collected and no change to processors, storage, or retention; the pending status was already tracked.
- relevante
Dismissible subscribe prompt; subscription key now set only on confirmation.
- New localStorage key nidhi-newsletter-dismissed. Stored only in your browser, never sent to us or any third party. Records your choice when you click "I already subscribed" (permanent) or "Not now" (30-day cooldown) below the subscribe form, so we honor that choice across pages.
- Changed nidhi-newsletter-subscription to be set only when you click the confirmation link in your email (double-opt-in complete). Previously it was also set on form submit, which hid the prompt before you'd actually confirmed. Does not store your email address.
- Both keys cleared on Undo (for dismiss) or unsubscribe (for subscription), or when you clear your browser site data. No category of personal data on our servers changed.
- relevante
Renamed the currency tool, refreshed its event list, and added a few error-and-engagement signals on both free tools.
- The free tool at /free/currency-risk is now /free/multi-currency-net-worth (the old URL redirects). The tool itself is unchanged in what it computes; the new name better reflects that the headline output is your net worth converted into one currency, with the concentration / risk view as a secondary panel.
- New anonymous events on /free/multi-currency-net-worth: free_multi_currency_net_worth_rates_error (fired when the exchange-rate fetch from Frankfurter fails outright; carries the functional currency you had selected and a short, generic reason string from the failed fetch, never your asset data), and free_multi_currency_net_worth_csv_parse_errors (fired when a CSV upload contains invalid rows; carries the count of valid and invalid rows and a coarse reason bucket like "invalid_value" or "unsupported_currency"). Neither event ships any of the values you typed.
- The free_multi_currency_net_worth_shared_view_opened event now also includes the utm_source URL parameter. This lets us tell apart someone arriving via a copied share link (utm_source=share) from any other inbound campaign. The utm_source value is the campaign source you yourself sent in the URL; we never invent it.
- New anonymous events on /free/loan-comparison: free_loan_comparison_validation_error (debounced, fires 600ms after a burst of input edits if any vendor card has a validation error; carries the count of errored cards, a coarse error reason like "missing_principal", and the slot label of the first errored vendor, never the actual values), free_loan_comparison_horizon_changed (debounced; carries the chosen horizon in months), and free_loan_comparison_refi_changed (debounced; carries which refinance field was last edited: vendor index, refinance month, new rate, new term, new fees, or "roll fee" toggle). None of these events carry the underlying loan numbers.
- Most React-rendered buttons in both tools now have a stable data-attr label (for example data-attr="lc-share-copy", data-attr="mcnw-asset-add"). For users who consent to interaction analytics, this gives the autocaptured click events a stable selector instead of a fragile auto-generated one. For users who do not consent, this changes nothing: autocapture is gated on consent.
- relevante
Added the Currency Risk Analyzer tool and disclosed a new third-party API call from your browser.
- New free tool at /free/multi-currency-net-worth (formerly /free/currency-risk): add assets and liabilities across currencies, see your net worth in your chosen currency, and check your currency concentration. No data is sent to us, everything runs in your browser.
- New anonymous interaction events on /free/multi-currency-net-worth: which functional currency you select, when you add or remove an asset, when you upload a CSV file, when you copy a shareable link (and which sharing mode: "full" or "redacted"), and when you reset the form. The financial values you type (asset names, amounts, currencies) are never sent; only interaction metadata is captured.
- The tool makes one network request from your browser to api.frankfurter.dev (a free, open ECB exchange-rate API). The request includes only the functional currency code you selected (e.g. ?from=EUR). No personal data is sent. This is a direct browser-to-API call; we never see the request or the response.
- The header navigation now includes a dropdown listing all free tools.
- relevante
Disclosed a small set of anonymous interaction events on the Free Tools pages.
- New anonymous events on /free/loan-comparison: which currency you select, whether you toggle solve-for-term vs solve-for-payment, whether you switch a vendor between fixed and hybrid (ARM) rate kinds, whether you change the analysis tab (side-by-side, horizon, refinance, etc.), whether you change the vendor selected for the per-vendor split chart, whether you open the per-vendor "Show details" expander, whether you copy the shareable link, and whether you click Reset to defaults.
- These events do not include any of the financial values you type (loan amount, interest rate, fees, monthly payment, vendor name). The point of the calculator is that the math runs in your browser; we are not exfiltrating the inputs.
- These events fire whether or not you accept the cookie banner; they are categorised the same way as pageview and page-leave: anonymous, no name, no email, no user ID.
- relevante
Added a local-only key that remembers whether you’ve subscribed.
- New localStorage key nidhi-newsletter-subscription. Stored only in your browser, never sent to us or any third party.
- Purpose: once you’ve submitted the newsletter form (or confirmed via email), we hide the subscribe prompt on the rest of the site so you don’t get pitched on every blog post.
- Cleared automatically when you unsubscribe via the one-click link, when you use the “try a different email” link on the success card, or when you clear your browser site data. No category of personal data on our servers changed.
- relevante
Initial publication.
- First version of this notice.
- Describes PostHog Cloud EU (analytics), Google Workspace EU (newsletter storage + sending), GitHub Pages (static hosting), and browser localStorage (local preferences) as the only processors.
- Newsletter uses double opt-in with a one-click unsubscribe in every email.
Quiénes somos
nidhi es un pequeño proyecto independiente. Sin inversores, sin equipo de crecimiento, sin presupuesto publicitario. Ahora mismo lo crea y lo gestiona una sola persona en Praga.
- hello@nidhi.today: para cualquier cosa, de privacidad o no
- @nidhi.today: si prefieres los mensajes directos
- En qué creemos: si quieres saber el porqué