Clear Ads Privacy Policy

Clear Ads provides page element hiding, CSS, XPath and user JavaScript rules, request blocking, popup protection, filter-list subscriptions, and optional AI assistance. It has no developer-operated backend, telemetry, advertising tracking, or account system.

Local data

Rules, site switches, interface language, theme and navigation preferences, AI service address, model, request timeout, prompts for four AI tasks, and API key are stored locally in chrome.storage.local. Local storage is restricted to trusted extension pages and the background service worker. The API key is not separately encrypted; someone with access to your browser profile files may be able to read it.

Hidden-element counts, element references, previews, and AI request snapshots are used only for the current operation. Each explicit selection or range adjustment caches bounded, filtered HTML from nearby elements in the page's isolated memory. It records the identifying features, regions to hide or preserve, CSS, XPath and relative XPath locators, and capture time. If the page recycles a node, the snapshot remains as a historical sample; Clear Ads does not reread the replacement node as that old sample. These caches are released when the picker is closed or cleared. They are not written to persistent storage, rule files, or Chrome Sync. Random temporary selection identifiers, the site, tab, document, and expiration are stored in protected chrome.storage.session so an operation can continue after the background worker sleeps; they are cleared when the browser closes. Clear Ads does not keep a browsing history list.

Optional AI

Clicking the AI page-ad identification action in the extension popup or page panel immediately sends bounded HTML from the currently loaded page to the service you configured; you do not need to select an element first. Optimization and merging send a request only when you click their generation button. The interface shows the receiving service, scope, and byte count, and lets you expand the actual content being sent. Rule optimization defaults to HTML near selected regions. Page-ad identification sends page-wide HTML with size and node limits, prioritizing paths to selected elements. The HTML contains actual tags and hierarchy, IDs, class names, public attributes after sensitive-field filtering, and visible text. Selected regions carry temporary markers used only for location. Public links are provided after credentials, query strings, fragments, and sensitive identifiers are removed. Truncation is explicitly indicated.

Optimization also sends the current rule conditions, including the user script for JavaScript rules. Merging sends the sites, names, types, and matching conditions of selected rules, including scripts for JavaScript rules, without internal storage identifiers. When page samples are unavailable, generation may use existing rules alone. Page collection does not read cookies, form values, passwords, editable content, page script contents, screenshots, or embedded documents. Known private-message and hidden content is skipped before reading. Visible text and public attributes can still contain personal or business information; filtering cannot guarantee removal of all personal information. You can expand the content to check it.

Rule analysis can include the current selection groups, locators for each target and identifying feature, the rule being edited, and live or historical labels. CSS and XPath rules can also include diagnostics such as live and snapshot match counts, sample coverage, and condition conflicts; these diagnostics contain no additional page text. Optimization defaults to nearby HTML for each group. Additional bounded page-wide content is collected only in page-wide mode. Selection caching itself does not trigger a network request. Before-and-after drafts and historical rule versions remain only in the current panel and are released when it closes. Switching versions does not send an AI request.

Clicking “Load models” sends service credentials to that service's model-list endpoint, without page data. Responses that become outdated after editing the service address or key, or canceling loading, are not applied. System prompts and your instruction for the current task are sent with rule-generation requests. Optimizing an existing rule also requires an explicit send action; opening the optimization tool does not request a model response.

After AI is configured, a new rule with a default name automatically triggers a naming request. You can also trigger batch naming. Naming sends only the rules' sites, names, types, and matching conditions. JavaScript source code is removed from naming input, and no additional page snapshot is collected. Naming failures do not prevent saving. Each of the four AI tasks uses its own prompt.

The API key is used only to authenticate with your selected service. Requests use HTTPS, except that HTTP is allowed for local loopback services. Requests do not include cookies or follow redirects. The service receives information necessary for the connection, such as your IP address; its own policies govern retention, training, and deletion. Raw AI responses remain only in the current picker panel or merge dialog, where you can view and copy them. Clear Ads does not store a conversation history or automatically execute code returned by a model.

Request blocking and popup protection

Network filter conditions are registered as dynamic rules through Chrome's declarativeNetRequest API. Chrome matches and blocks requests at the network layer without returning response bodies to Clear Ads. The extension does not collect or upload request logs. Network rules apply according to the initiating site's domain and subdomains, without distinguishing protocol or port.

Popup protection wraps window.open in the page environment on enabled, authorized sites and checks actual link clicks. Communication between the page and isolated script carries only the protection mode for that site, not API keys, page content, or extension operation commands. Click records are not uploaded.

Filter-list subscriptions

The built-in EasyList, EasyPrivacy, EasyList China, AdGuard, and uAssets entries appear directly in the subscription list, all disabled. No lists are enabled or downloaded on a fresh installation. Explicitly enabling an official entry, adding a custom source, or updating a subscription downloads rule text from its maintainer or the address you supply. Automatic updating is off by default. Chrome schedules checks for enabled subscriptions only after you turn it on. Changes to an existing list are staged for review, including automatic checks. They take effect only after you choose Apply update. Discarding a candidate or a failed download retains the current rules.

Downloads do not include cookies, AI keys, webpage URLs, page content, or a Referer, and do not follow redirects. List services receive the requested list address and connection information such as your IP address. Cache-validation requests may also include that list's version validator. The service's maintainer controls its own data handling.

Subscription addresses, enabled states, update/audit/rule-type settings, source text (current, previous and pending versions), parsed results, versions, times, and errors are stored locally, separately from handwritten rules. Auditing is on by default. You can turn off additional checks or configure broad-rule checks; first downloads, updates and startup cache reads use the current settings. Basic format and passive execution limits always remain. Reports include check times, SHA-256 content fingerprints, counts, bounded rule samples, findings, and version differences; they are stored locally and excluded from exports and sync. Viewing/searching source text and comparing versions are local operations and do not render source HTML or code. Manually checking cached rules or changing type settings makes no network or AI request. They are excluded from existing rule-file exports and Chrome rule sync. Subscriptions are parsed as declarative rules; Clear Ads does not execute JavaScript, scriptlets, or remote-loading directives from a list.

Global subscriptions require user-granted HTTP(S) website access to apply element hiding and handle site pauses consistently. The global filtering switch and site pauses also apply to subscriptions. Disabling a subscription removes its filtering effects; removing it also deletes its local copy. Official source entries return to their disabled, not-downloaded state. Downloaded filter counts can differ from installed browser network-rule counts because of grouping, exceptions, and platform limits.

Rule files and Chrome Sync

File export is triggered by a user action. It includes sites, complete rule content, and snapshots of merge sources with their original enabled states, including user-written JavaScript. It excludes AI settings and keys. Imported rules are disabled by default. You are responsible for storing and sharing exported files.

Chrome Sync is triggered by the upload-rules and download-and-merge buttons. Uploaded rules are compressed and written to chrome.storage.sync, then distributed to other devices by your browser account's sync service. API keys, AI settings, temporary page content, and operation history are not uploaded. If rules exceed sync capacity, Clear Ads does not truncate them or upload an incomplete rule set. Downloading only adds new rules and leaves them disabled.

User JavaScript

User scripts run only on explicitly enabled, authorized sites, using Chrome's isolated user-script environment. They cannot read extension keys through a Clear Ads messaging bridge. The code you supply can read or change a page and may make its own network requests; its behavior depends on that code. AI-generated scripts are first shown as editable drafts. They are registered for execution only after you explicitly save and enable them and the required permissions and browser switch are enabled. If these requirements are not met, they are saved as disabled drafts. Disabling a script prevents future execution; changes already made to the page may require a refresh to undo.

Permissions and deletion

You can disable or delete rules in rule management, clear AI settings, and revoke permissions through Chrome's extension details. Uninstalling removes the browser's local extension data. Exported files, data held by your Chrome account, and data already sent to AI services must be managed separately in their respective locations.