CEStore

Privacy Policy

Effective Date: September 23, 2026|Last Updated: September 23, 2026

This Privacy Policy describes how the Article Downloader Chrome extension (“the Extension”, “we”, “our”, or “us”) collects, uses, stores, and shares information when you install and use the Extension.

1. Overview

Article Downloader is a Chrome extension whose single purpose is to help users extract and download the title and body text of articles they are viewing on supported third-party content platforms (such as AO3, LOFTER, 知乎, 微信公众号, 豆瓣, B站, etc.). The Extension works entirely on the user side: page content is read from the DOM and is never transmitted to our servers.

To verify the membership / subscription status of premium features, the Extension sends a small set of account identifiers (Chrome profile email and Chrome profile ID) to our backend. This is the only data we collect or process about you.

2. Information We Collect

2.1 Personally Identifiable Information

When you open the Extension popup, we request your Chrome profile information via the chrome.identity API. We collect:

  • Your Chrome account email address
  • Your Chrome account unique profile ID

These identifiers are sent to our backend only for membership verification (see Section 4). They are not used for advertising, profiling, or sold to third parties.

2.2 Website Content

When you actively click the Extension icon while visiting a supported website, the Extension reads from the page's DOM:

  • The article title (from document.title or the platform-specific title element)
  • The article body text (the main content element of the platform)

This content is used only locally in your browser to generate the “copy to clipboard” and “download as TXT” features. It is never transmitted to our servers or to any third party.

2.3 Information We Do NOT Collect

  • Your browsing history on unsupported sites
  • Cookies or other website storage data
  • IP address, geolocation, or device fingerprint
  • Keystrokes, form inputs, or interaction events on web pages
  • Analytics, advertising, or tracking SDK data (we use none)

3. Permissions and Why We Need Them

Permission / HostPurpose
activeTabUsed to access the current tab's DOM only after you click the Extension icon, in order to read the article title and body text.
storageUsed to cache your encrypted subscription status locally so that the membership state is available instantly on next open without a network round-trip.
identityUsed to read your Chrome profile unique ID for membership verification.
identity.emailUsed to read your Chrome profile email for membership verification.
Host: ce-stores.netlify.app/api/open/*Used to call our backend API endpoint that returns the user's subscription status, plan, and expiration time.
Host: ~26 third-party content platformsUsed to inject a content script that reads the article title and body text from those platforms' DOM. Activated only when you click the Extension icon on a matching page.

4. How We Use Your Information

  • Membership verification: The Chrome account email and profile ID are sent to https://ce-stores.netlify.app/api/open/user to look up your subscription status, plan, and expiration time. The server returns only status, plan, and expiresAt.
  • Article extraction: The article title and body text read from the page DOM are processed only inside your browser to produce the copy/download output. They are not stored, logged, or transmitted.
  • We do not use your information for advertising, profiling, automated decision-making, or any purpose other than operating the Extension.

5. How We Store and Protect Your Information

5.1 Local Storage

The Extension stores your subscription data (email, profile ID, status, plan, expiration time) in chrome.storage.local. The stored value is encrypted with AES-CBC before being written to disk, and is decrypted only in-memory when the Extension needs to read it.

In addition, articles you choose to save are stored in an IndexedDB database (MyDatabase) on your local device. This data never leaves your browser.

5.2 Transmission Security

All requests to our backend use HTTPS. Authentication tokens are passed via the standard Authorization header.

5.3 Data Retention

  • Subscription data: Cached locally until the user uninstalls the Extension or clears the Extension's storage.
  • Server-side logs: Our backend logs basic request metadata (timestamp, IP address, requested endpoint) for the purpose of abuse prevention and service operation. Logs are not used to build profiles and are not shared with third parties.

6. Sharing of Information

We do not sell, rent, or trade your personal information to anyone.

The only external recipient is our own backend service ce-stores.netlify.app, which receives the Chrome account email and profile ID for membership verification. The backend is operated by the same developer as the Extension.

We do not use Google Analytics, Firebase, advertising networks, social media trackers, or any third-party analytics / advertising SDKs.

We may disclose information only if required by valid legal process (subpoena, court order, or applicable law).

7. Children's Privacy

The Extension is intended for general audiences. We do not knowingly collect personal information from children under 13 (or the applicable age of digital consent in your jurisdiction). If you believe a child has provided us with personal information, please contact us so we can delete it.

8. Your Rights and Choices

You can exercise the following rights at any time:

  • Uninstall: Removing the Extension stops all data collection immediately. Local data can also be cleared from chrome://settings/siteData or via the Extension's “Clear data” controls.
  • Stay signed out of Chrome: If you do not sign in to Chrome, chrome.identity.getProfileUserInfo() returns nothing and we collect no personally identifiable information (premium features will be unavailable).
  • Access & deletion requests: Contact us (see Section 10) to request a copy of, or deletion of, any server-side data associated with your account.

9. Changes to This Policy

We may update this Privacy Policy from time to time. When we do, we will revise the “Last Updated” date at the top of this page. If the changes are material, we will provide additional notice (for example, an in-Extension banner) before the changes take effect. Your continued use of the Extension after the effective date of the updated policy constitutes your acceptance of the changes.

10. Contact

If you have any questions, concerns, or requests regarding this Privacy Policy or your data, please contact us:

  • Through the feedback page on this site: /feedback
  • Via the support channels listed in the Extension's Chrome Web Store listing.

This privacy policy is provided to satisfy the disclosure requirements of the Chrome Web Store Developer Program Policies and is intended to be read alongside the product listing on the Chrome Web Store.