Privacy Policy
ZhiTree Reading does not require an account and has no comments. It offers an optional feedback window, described below. This policy explains what happens when you visit the site.
Information We Do Not Collect Directly
- We do not ask visitors for or store their names, email addresses, or similar account details.
- Site preferences are primarily stored in your browser. However, when Google AdSense ads described below are loaded, Google and its advertising technology partners may use cookies or similar technologies in your browser under their policies.
- The hot-list page sends anonymous impression, click, and foreground-time statistics to our directory service to evaluate content and page layouts. We do not use Google Analytics or similar third-party analytics scripts.
Hosting Provider Logs
The site is hosted by Vercel. Like other hosting providers, Vercel may record technical information in server logs, such as IP address, browser type, pages visited, and time of access, to provide the service, protect it, and troubleshoot failures. Vercel processes this information under its Privacy Policy. The site owner does not use these logs to identify visitors.
Data Stored in Your Browser
To remember your preferences, the site stores certain data in your browser. Except for optional features described below, this data remains on your device and is not automatically uploaded to our server:
- Local storage: interface language, theme, list and sorting preferences, reading settings (font size, line spacing, page width and reading colors), reading progress, bookmarks, starred items, pinned or hidden items, customized categories, collection names and the selected collection, feed subscription URLs and update status, cover choices, podcast playlists, playback speed, and each episode's position.
- IndexedDB: files you add on the page (stored only in this browser), links you save from the Public Directory (title, summary, and URL only), and authorization information for a local folder you connect.
- Service Worker cache: to support offline reading after adding the site to your home screen, the browser may cache the home page and pages or files you have opened (up to 120 items, no more than 15 MB per item). These remain on your device and are not sent to our server. Clear this site's browser data to remove them.
- General usage duration: time used for related prompts is recorded locally. Hot-list foreground time is separately included in anonymous aggregate statistics as described below.
- Anonymous hot-list identifier: when you first open the hot list, the browser may create a random local identifier to keep your A/B layout assignment stable. It does not contain your name, email, or account information.
- Backup and restore: when you choose Export, your browser packages the data above into a file on your device. When you choose Restore, your browser reads the file you select. The backup file passes through your browser and is not sent to our server.
- Sharing to ZhiTree Reading from another app (Android, after adding the site to your home screen): a shared file or URL is temporarily held in the browser until you confirm or cancel saving it, after which the temporary copy is cleared. It passes through your browser and is not sent to our server.
You can clear this site's data in your browser settings at any time. You can also disconnect a folder on the page or delete files you added.
Connecting a Folder
The page can read a folder only after you select “Connect folder” and explicitly authorize it in the browser prompt. Files are displayed in your browser; they are written to the folder only when you choose “Add” or “Star / hide.” File contents do not leave your computer. You can disconnect at any time or revoke access in your browser's site settings.
Advertising and Other Third-Party Services
- The site loads Google AdSense ads. Google and its advertising technology partners may use cookies, web beacons, IP addresses, or similar identifiers to deliver and measure ads, limit repeated ads, detect invalid traffic, and, where applicable, personalize ads based on your prior activity on this or other sites or apps. The data and technologies used depend on your browser settings, location, consent choices, and Google's ad settings.
- Google and other advertising technology providers may receive browser or device information, ad impression or interaction data, and IP address. Read How Google uses data when you use our partners' sites or apps and the Google Privacy Policy. You can manage ad-personalization preferences in Google Ad Settings; this may not stop all ads.
- For users in the European Economic Area, the United Kingdom, and Switzerland, if personalized ads are served, the site will use a Google-certified Consent Management Platform (CMP) integrated with the IAB Transparency and Consent Framework (TCF) to present and manage consent choices. Until the CMP is configured and verified, the site will not actively enable personalized ads for users in those regions. You can change your choice through the consent message or its preference settings. The actual options depend on the message shown on the site.
- The site uses Google Fonts from fonts.googleapis.com and fonts.gstatic.com. When a font is loaded, your browser sends a request to Google that includes your IP address. Google processes it under its Privacy Policy.
- Some article pages may use the same fonts or link to other websites. Those websites have their own privacy policies.
- If you subscribe to a podcast and press Play, your browser requests the audio directly from the podcast's audio server. That server can see your IP address and handles it under its own privacy policy. Neither this site nor the update service handles, transfers, or stores the audio; it only provides the audio URL to your browser. Playback position, playlist, and speed remain in your browser.
- Subscribe links may open reader services such as Feedly or Inoreader. You leave this site only if you click one of those links. The relevant service then processes your information under its own privacy policy; we are not told whether you subscribe.
- If the Public Directory is enabled, your browser requests a data file from GitHub Pages when the page loads or when you open the directory. GitHub processes the request, including your IP address, under its Privacy Statement. Directory cover images are loaded directly from their source websites, without sending this site's address as a referrer; those sites can see your IP address. Clicking a directory link takes you to the original website. We do not know which entries you view or save.
- If directory subscriptions are enabled, feed URLs you enter under “Add → Subscribe,” and the URLs you have subscribed to when you refresh, are sent to the directory update service hosted on Vercel. A webpage cannot directly read another website, so this service fetches public feeds over HTTPS and returns titles, summaries, links, and dates. When a feed includes full text, the service may return recent article text after cleaning it to retain text, images, links, and common formatting. When you open an article from a subscription, your saved links, or the Public Directory, the service may fetch that public page once on your behalf, without your cookies or a login, using the user agent “ZhiTreeBooks-Reader” and following the source site's robots.txt. It extracts and returns the article text but does not save it. The update service does not retain your subscription list or the content it reads, other than hosting-provider logs. Your subscription list and subscribed articles are stored only in your browser. OPML exports and “list links” (with URLs after a # fragment that is not sent to a server) are yours to keep.
- If directory sync is enabled and you choose “Enable sync,” your book lists, saved links, subscriptions, collections, reading progress, bookmarks, starred items, and small text files are encrypted in your browser using AES-GCM, with a key derived from your sync code that never leaves your device, then compressed and sent to the directory sync service. They are stored in its connected database (Upstash Redis). The server cannot read titles or content; it can see only the size, number, and modification count of encrypted data. The sync code is stored only as a hash and cannot be recovered by the site owner. Sync data is deleted after 180 days of inactivity. You can turn off sync on this device or delete cloud data at any time. Hosting and database provider logs are separate. Nothing is sent unless you enable sync.
- If directory popularity counters are enabled, when you open, like or dislike, save, or subscribe to a Public Directory item, the page sends the item ID and event type to the counter service hosted on Vercel. Undoing a like or dislike subtracts one. Your like/dislike history and reading history used for recommendations remain in your browser. The counter service does not store your address, use cookies, record exact times, or create an account. To count the same person only once per item per day, it calculates a one-way hash from your network address, the date, and item ID and stores it in an in-memory database. The hash expires after one day (at most two); it cannot be reversed to recover your address, and a new day's hash cannot be linked to the previous day's hash. If your browser sends Do Not Track or Global Privacy Control (GPC), the page sends no counter events. When you open the Public Directory, the page may retrieve aggregate popularity counts without personal information.
- The “Hot lists” page under “Recommended subscriptions” asks the directory service for the currently available lists. This request does not include personal information. If you subscribe to a hot list, it is refreshed by the update service like other subscriptions. Hot-list data is fetched on request from public platform pages and is not stored by that service; clicking an item takes you to the platform's website.
- Translation: only after you click Translate (and confirm the first time) is the text on that page sent to the directory translation service hosted on Vercel. The service forwards it to DeepL or Alibaba Cloud and returns the translation to your browser. Only page text (up to 30,000 characters) is sent; your account identifier and contact details are not included with the request. The translation service does not log the source text. It may cache the source-text hash, language, and translation for up to 90 days to avoid repeat translation and charges. To enforce daily character limits, it calculates a one-way hash from your network address and the date in an in-memory database; the hash expires after one day (at most two) and cannot be reversed to recover your address. Translation providers process the text under their own privacy policies. The translation is stored only in your browser cache. Nothing is sent unless you choose Translate.
- Notes you write on the page are stored in this browser and are not sent to a server. If you enable sync, they are encrypted and synced like other data.
- After you have used the site for a while, it may ask once whether you would pay for the service. If you choose “Ask me later,” it may ask one more time. Your answer (yes or no) is sent only as an anonymous count to the sync service and is not used to identify you or contact you again.
- If online submissions are enabled, URLs or article submissions, including text, title, author name, and tags, are sent to the directory submission service hosted on Vercel. When you choose Check, the service reads the public page at the URL you entered, follows robots.txt, displays the result, and does not save it. After submission, the information is written as an issue in the public directory repository on GitHub and is visible to everyone before review. The submission service does not store your network address; it stores only a salted, non-reversible short hash in the issue to limit daily submissions. Approved articles may be published as public pages under the author name you provided. Rejected text is removed from the issue, although GitHub may retain edit history. To request removal of your submission, use the contact route on About this site or the repository's takedown form.
Search Engines
Public pages may be indexed by Google, Bing, and other search engines. The site owner uses Google Search Console and Bing Webmaster Tools to review page-level indexing information. These tools do not show the owner the identity of an individual visitor. Hidden content is not published.
Hot-List Analytics and Page Experiments
When you open the hot list, the page may send card impressions, clicks, and seconds spent while the page is visible and in the foreground to the ZhiTree Reading directory service. The page may randomly assign you a hot-list layout to compare which is easier to use. The assignment is stored locally and may be reassigned if you clear this site's browser data. We use aggregate results and do not use them to identify you or create a cross-site profile.
Events are limited to random anonymous, session, and event IDs; category and content/platform IDs; experiment variant; language; coarse device type; optional country/region code; event time; and active seconds. The server stores an HMAC digest of the random browser identifier rather than the raw identifier. It does not store the full IP address, full User-Agent, search terms, or article text. Hosting providers may still process ordinary request logs as described above. Event records are intended to be retained for no more than 90 days, after which they are deleted. Only authenticated operators can view aggregate analytics in the management page.
If your browser sends Do Not Track or Global Privacy Control (GPC), this analytics feature is not initialized. You can also avoid using the hot list or clear this site's browser data to reset your experiment assignment. The hot list remains usable if the analytics endpoint is unavailable.
Feedback
If directory feedback is enabled, a Feedback link may appear at the bottom of the sidebar. Only when you choose Send will the following be sent to the directory feedback service and stored in its connected database (Upstash Redis): your message (up to 1,000 characters), selected category (problem, idea, content, or other), optional contact information you provide (up to 80 characters), page name, page language, and page version. Nothing is sent if you do not choose Send.
Only the authenticated site owner can see feedback. It is kept for up to 180 days and may be deleted earlier. The service does not store your network address or browser information and records only the date, not the exact time. To prevent abuse, it calculates a one-way hash from a secret, the date, and your network address, uses it only to limit submissions to three per person per day, and keeps it for two days. Identical content is accepted only once per day. Do not include passwords, ID numbers, or other sensitive information in feedback.
The optional group-reading community is a QQ group. Joining is your choice. The site does not collect your QQ number; QQ processes group activity under its own policies.
Children
The site is not directed to children under 13 and does not knowingly collect personal information from children.
Your Rights and Contact
Because the site does not maintain an account profile for visitors, it usually has no personal account data for you to access, correct, or delete. You control data stored in your browser. For privacy questions, contact: not currently published.
Changes to This Policy
If the site adds a new feature, such as an analytics tool or comments, this policy will be updated and the “Last updated” date at the top of the page will change.