Privacy Policy
Effective date: May 24, 2026
haotianblog is a bilingual technical blog about machine learning, algorithm implementation, C/Python programming, networking, and related engineering notes. This Privacy Policy explains what information may be collected when you visit the site, how that information is used, and how advertising cookies may work when Google AdSense is enabled.
This page is provided for transparency and operational compliance. It is not legal advice.
Information you provide directly
You may choose to provide information when you contact the site owner, submit a survey, request account-related features, or send feedback about an article or downloadable resource. This may include your name, email address, message content, survey answers, or other information you decide to include.
Sensitive actions such as a mailbox request pass through an automated verification check that replaces manual review and suppresses bulk abuse. That step processes your IP address for one purpose only: computing a local risk score that sets the difficulty of the check. Raw addresses are not stored – the associated counters are keyed by an HMAC digest of the address and cannot be reversed into an address list, and cached reverse-DNS results are held under the same digest key for a day. The score uses no external reputation database and applies no country or region weighting.
Where Cloudflare Turnstile is enabled, the check loads a script from challenges.cloudflare.com; your browser communicates with Cloudflare directly and Cloudflare’s privacy terms apply, and this site then sends the issued token back to Cloudflare for validation. When that script cannot load, the site falls back automatically to a proof-of-work check that runs entirely locally and involves no third party.
The contact email for privacy questions is haotianblog@gmail.com.
Advertising, Google AdSense, and cookies
This site may use Google AdSense to display advertising. Third-party vendors, including Google, use cookies to serve ads based on a user’s prior visits to this website and/or other websites on the Internet.
Google’s use of advertising cookies enables Google and its partners to serve ads to users based on their visit to haotianblog and other sites. These cookies may include Google advertising cookies associated with domains such as doubleclick.net, sometimes referred to as DoubleClick cookies, as well as Google domains such as google.com.
Other third-party vendors or ad networks may also use cookies to serve ads on this site if Google AdSense or related advertising products are enabled. Those vendors may use cookies, web beacons, IP addresses, or similar identifiers for ad delivery, measurement, fraud prevention, frequency capping, and reporting.
Users can opt out of personalized advertising from Google by visiting Google Ads Settings or Google My Ad Center. Users may also visit aboutads.info/choices to learn about choices offered by some third-party advertising companies.
Cookies used by the site
In addition to advertising cookies, the site may use cookies or local browser storage for ordinary website functions, including language preferences, login/session features, anti-abuse controls, comment or form behavior, and lightweight reader-side features. Some browser-side features may store progress or preferences locally on your device without creating a server-side profile.
You can usually block, delete, or limit cookies through your browser settings. Blocking cookies may affect login, language selection, embedded media, advertising choices, or other site features.
Server logs, Cloudflare, and Nginx
The site is served through Cloudflare and Nginx. Standard operational logs may collect technical information such as IP address, request time, requested URL, referrer, browser type, user agent, device or operating system information, HTTP status code, cache status, and similar diagnostic data.
These logs are used for security analysis, abuse prevention, debugging, uptime monitoring, performance optimization, and protecting the site against spam, denial-of-service traffic, scraping, or unauthorized access attempts.
| Data category | Examples | Main use | User choice or limit |
|---|---|---|---|
| Advertising cookies | Google AdSense, DoubleClick, and personalized advertising identifiers | Ad delivery, frequency capping, measurement, and fraud prevention | Personalized ads can be managed through Google Ads Settings or My Ad Center |
| Operational logs | IP address, URL, user agent, status code, and cache status | Security analysis, debugging, performance, and uptime monitoring | Not used to sell personal visit records or build cross-site profiles |
| Information provided directly | Email, survey, account request, and article correction content | Responding to requests, fixing content, and operating optional features | Submission is optional; unnecessary sensitive information should be removed first |
| Local browser state | Language preference, interaction progress, and lightweight page settings | Improving reading and interactive page behavior | Usually removable through browser cookie and local storage controls |
Advertising scope and utility pages
haotianblog separates editorial pages from account, mailbox, survey, search, and similar workflow pages where practical. Advertising may appear on public technical or general-information pages, while workflow pages may omit advertising when it would interfere with their purpose.
This separation does not mean those workflow pages are private. Visiting them can still create ordinary Cloudflare and Nginx request logs, and submitting optional forms can still provide information directly to the site owner.
Technical content and reader-side data
Some pages include browser-side learning aids, such as local progress tracking, algorithm visualizers, form helpers, or interactive demonstrations. These features are designed to support learning and quality review rather than to build a behavioral profile. Where practical, lightweight progress and preference state is kept in the visitor’s browser so it can be cleared by the visitor with normal browser controls.
Technical articles may also include downloadable code, datasets, diagrams, or links to external documentation. Opening those resources can create ordinary server log entries, just like visiting any other page. The site uses those operational signals to diagnose broken resources, abusive traffic, cache behavior, and site reliability. They are not a substitute for consent where advertising or third-party services require a separate user choice.
If advertising is active, ad delivery and measurement may involve third-party processing that is separate from the site’s own editorial logs. The site attempts to keep legal, account, search, and other sensitive utility contexts away from advertising where appropriate, but visitors should still use the advertising choice links above if they do not want personalized ads from Google.
What not to send
Visitors should not send passwords, API keys, private datasets, personal identity documents, medical records, payment information, exploit targets, or confidential infrastructure details through contact forms or email. If a privacy, security, copyright, or takedown issue needs review, send the public URL, a short description of the concern, and enough ownership or safety context to evaluate the request.
If a technical correction requires an example, remove secrets and personal data before sending it. A minimal reproduction, synthetic input, error message, package version, and public page URL are usually enough to review a code or article issue without collecting unnecessary personal information.
This approach keeps privacy review focused on the published site and avoids turning a content correction into unnecessary collection of private operational material.
Site assistant (AI answers)
Search result pages carry a button labelled “Ask the site assistant to summarize”. Nothing below happens unless you click it — ordinary browsing and ordinary search do not trigger it.
When clicked, the text you typed into the search box is forwarded by this site’s server to a self-hosted inference server run by the site owner. To be explicit: that machine is a laptop on a residential network in mainland China, while this website’s server is outside China. This is therefore a cross-border data transfer.
- What is sent: only your question text and the excerpts retrieved from articles on this site. Your IP address, cookies, and browser identifiers are not included — the request originates from this site’s server, so that is the only source the inference server sees.
- No third-party AI provider: the model is a locally hosted open-weight model (Gemma 4). No request goes to OpenAI, Google, Anthropic, or any other external AI service.
- Not used for training: your questions are not used to train or fine-tune any model.
- Retention: the inference server keeps ordinary service logs (request time and token usage) for no more than 30 days, after which they are removed by log rotation.
- Availability: that machine gets switched off. When it is offline the button says so, and search results still work.
Answers are drawn only from published articles on this site and cite them. The assistant can be wrong or incomplete and is not professional advice; for anything that matters, read the linked article.
If you would rather none of this leave this site’s server, do not click the button — search and full-text retrieval run entirely on this site’s server and involve no such transfer.
How information is used
- To operate, maintain, secure, and improve the website.
- To respond to email, feedback, account requests, survey submissions, or resource reports.
- To analyze aggregate site performance and diagnose technical problems.
- To help prevent spam, fraud, abusive traffic, and security incidents.
- To display and measure advertising if Google AdSense or related advertising products are enabled.
Sharing and third-party services
The site does not sell personal information. Information may be processed by service providers that help operate the website, including hosting, security, email, analytics, anti-abuse, and advertising providers.
Third-party links, embedded content, documentation sites, code repositories, advertising networks, and external tools may collect information under their own privacy policies. haotianblog does not control those third-party practices.
Data retention and security
Operational logs and submitted information are retained only as long as reasonably needed for security, maintenance, legal, abuse-prevention, or communication purposes. Exact retention periods may vary by log type, service provider, backup cycle, and operational need.
Reasonable technical and organizational measures are used to protect the site, but no website or Internet transmission can be guaranteed to be perfectly secure.
Children’s privacy
The site is intended for a general technical audience and is not directed to children under 13. The site owner does not knowingly collect personal information from children under 13. If you believe a child has provided personal information, please contact haotianblog@gmail.com so the issue can be reviewed.
Your choices
- You may disable or delete cookies in your browser settings.
- You may opt out of Google personalized advertising through Google Ads Settings or My Ad Center.
- You may choose not to submit optional contact, survey, or account information.
- You may contact the site owner to ask about privacy-related requests connected to information you provided directly.
Policy updates
This Privacy Policy may be updated as the site, advertising setup, infrastructure, or legal requirements change. The effective date at the top of this page indicates the latest published version.
When the advertising setup, account features, mailbox workflow, or analytics posture changes in a material way, this page should be reviewed so the public explanation continues to match the site’s actual behavior.
Visitors should check this page periodically when they rely on the site’s privacy, advertising, or contact practices.
