{"content":"\u003cp\u003e\u003cem\u003eLast updated: 14 November 2026\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eThis is a personal website run by Đặng Bá Tới (\u0026ldquo;I\u0026rdquo;, \u0026ldquo;me\u0026rdquo;). It covers the blog at\n\u003ccode\u003ewww.toidang.xyz\u003c/code\u003e, the interactive CV at \u003ccode\u003e/r/cv\u003c/code\u003e and the small tools linked from them. I collect\nas little as I can, I do not sell or share your data with advertisers, and there are no ads or\nthird-party tracking scripts on this site.\u003c/p\u003e\n\u003ch2 id=\"what-i-collect-and-why\"\u003eWhat I collect, and why\u003c/h2\u003e\n\u003ch3 id=\"when-you-send-a-message-through-the-contact-form\"\u003eWhen you send a message through the contact form\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWhat:\u003c/strong\u003e the email address you enter, your message, and the page you sent it from.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWhy:\u003c/strong\u003e so I can read your message and reply.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"when-you-subscribe-to-new-posts\"\u003eWhen you subscribe to new posts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWhat:\u003c/strong\u003e your email address.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWhy:\u003c/strong\u003e to email you when a new post is published. You can unsubscribe at any time with the\nlink in every email.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"browser-notifications-only-if-you-turn-them-on\"\u003eBrowser notifications (only if you turn them on)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWhat:\u003c/strong\u003e the push address and keys your browser creates when you allow notifications. It does\nnot contain your name or email.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWhy:\u003c/strong\u003e to send you a notification about a new post.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHow long:\u003c/strong\u003e until you turn notifications off on the site or in your browser settings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"ask-my-cv-the-chatbot-on-the-cv-page\"\u003eAsk my CV (the chatbot on the CV page)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWhat:\u003c/strong\u003e the questions you type are sent to an AI model on Cloudflare Workers AI to generate an\nanswer.\u003c/li\u003e\n\u003cli\u003ePlease do not type personal or confidential information into the chatbot.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"anonymous-usage-statistics\"\u003eAnonymous usage statistics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCloudflare Web Analytics\u003c/strong\u003e counts page views without cookies and without following you across\nother websites.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOn-site events\u003c/strong\u003e (for example \u0026ldquo;opened the chatbot\u0026rdquo; or \u0026ldquo;started the CV tour\u0026rdquo;) are recorded with\nthe page path, the name of the site that linked you here (not the full address), mobile or\ndesktop, your country as reported by Cloudflare (never your IP address), and campaign tags\n(\u003ccode\u003eutm_*\u003c/code\u003e) if you arrived through a tagged link. Each browser gets a random ID stored in local\nstorage, replaced after \u003cstrong\u003e90 days\u003c/strong\u003e; each tab gets a session ID that ends when the tab closes.\nThis data is kept for about three months. Automated browsers and bots are not tracked.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOpting out:\u003c/strong\u003e run \u003ccode\u003elocalStorage.setItem('site-events-opt-out', '1')\u003c/code\u003e in your browser\u0026rsquo;s\ndeveloper console on this site, or block local storage for it. Nothing breaks if you do.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"cookies-and-local-storage\"\u003eCookies and local storage\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe site does not use advertising or cross-site tracking cookies.\u003c/li\u003e\n\u003cli\u003eIf you open the CV from a link with \u003ccode\u003eutm_*\u003c/code\u003e campaign tags, those tags are saved in first-party\ncookies for \u003cstrong\u003e7 days\u003c/strong\u003e so the visit can be attributed to that campaign.\u003c/li\u003e\n\u003cli\u003eLocal storage keeps your preferences (such as light or dark theme), the anonymous IDs above and,\nif you use it, your chatbot conversation.\u003c/li\u003e\n\u003cli\u003eCloudflare may set strictly necessary cookies to protect the site from abuse.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"services-that-process-data-for-me\"\u003eServices that process data for me\u003c/h2\u003e\n\u003cp\u003eEverything runs on \u003cstrong\u003eCloudflare\u003c/strong\u003e (hosting, databases, file storage, AI models, email delivery and\nspam protection). Cloudflare handles technical request data such as your IP address and browser\ntype to deliver the site and protect it from attacks. Your IP address is used briefly to limit\nhow often the chatbot and forms can be called; I do not store it in my databases. Cloudflare keeps\nshort-lived technical request logs (a few days) that I only use to investigate errors. The contact and subscribe forms are protected by \u003cstrong\u003eCloudflare Turnstile\u003c/strong\u003e, which\nchecks that a visitor is human. See the\n\u003ca href=\"https://www.cloudflare.com/privacypolicy/\" target=\"_blank\" rel=\"noopener nofollow\"\u003eCloudflare Privacy Policy\u003c/a\u003e for how Cloudflare treats\nthis data.\u003c/p\u003e\n\u003cp\u003eLinks to other websites (GitHub, LinkedIn, YouTube and others) take you to services with their own\nprivacy policies.\u003c/p\u003e\n\u003ch2 id=\"your-choices-and-rights\"\u003eYour choices and rights\u003c/h2\u003e\n\u003cp\u003eYou can ask me to show, correct or delete the data I hold about you — a contact message or a\nnewsletter subscription. Send the request through the \u003ca href=\"/contact/?utm_source=privacy-page\"\u003econtact form\u003c/a\u003e. You can unsubscribe from emails at any time with the link in every email.\u003c/p\u003e\n\u003ch2 id=\"changes\"\u003eChanges\u003c/h2\u003e\n\u003cp\u003eIf this policy changes, the date at the top of this page changes with it.\u003c/p\u003e\n","title":"Privacy Policy"}