Privacy Policy

Last updated 23 October 2026. Covers the Feedray browser extension and this website.

In short

What the extension reads

It is a Manifest V3 content script running on threads.com and threads.net. It reads exactly the data Threads already sent to your browser for the page you have open:

It does not read your direct messages, notifications, saved posts or account settings.

What is stored locally

In chrome.storage.local, on your device only:

None of it leaves your device unless you switch the AI analysis on yourself.

Network requests

The extension talks to three external hosts, all listed in the manifest's host_permissions.

1. threads.com / threads.net

Here the extension runs on the page and reads what the page loaded. When an author's numbers are missing, it fetches that author's public profile page, at most one every 1.5 seconds. It never posts, likes or follows on your behalf.

2. feedray.dev - my analyzer, opt-in

Used only when the AI analysis is enabled and you have not supplied your own OpenRouter key:

What the server keeps: the post text is used for the answer and not stored. Your username and install ID are recorded with each check (time, result, number of posts, model and cost; no post text, no name of the checked author) to monitor usage and enforce fair-use limits, and the record is deleted after 90 days. The result (score and tags, no post text) is cached for up to 6 hours, keyed by the checked author and post IDs, so the same author isn't analysed twice. IP addresses are not stored: request logs contain none, and only the server's error log can record the IP of a request that failed. Nothing is used to train models. The site and the API are delivered through Cloudflare, which processes your IP address to route the request. To produce the answer, the server sends the post text to a language model through OpenRouter.

The score is an estimate of how likely the posts were written with an AI tool, not a verdict about a person. Detectors make mistakes, and people who simply write clean, even text can get a high score.

3. openrouter.ai - third party, opt-in

Contacted only when you have entered your own OpenRouter key. In that mode requests go straight from your browser and never pass through my servers:

The key stays with you and is never sent to me. OpenRouter's own privacy policy applies to those requests.

What I don't do

Permissions and why they exist

Permission Why
storageKeeps settings and caches in the browser's local storage.
threads.com, threads.netRun on Threads pages and inject the interface.
feedray.devServer-side AI analysis; switched on by hand.
openrouter.aiAnalysis through your own model; switched on by hand.

What you control

Children

The extension is not directed at anyone under 13, and I do not knowingly process their data.

Contact

Privacy questions go to the project account on Threads: @PLACEHOLDER_THREADS_ACCOUNT_EN.