Privacy policy

September 20, 2026 · View on GitHub

Last updated: 8 September 2026

Sharp collects nothing.

There is no Sharp account, no Sharp server, and no analytics, telemetry, crash reporting, or usage measurement of any kind. No data about you or your browsing is sent to the developer, and none is sold or shared with anyone.

What stays on your computer

Everything Sharp saves is kept in your browser's local extension storage, on your machine:

  • Your settings — filter criteria, presets, author and word rules, model and routing choices, appearance preferences.
  • Your API key for the provider you chose. It is never synced between browsers, and it is never given to the web page.
  • A cache of past decisions, so scrolling past the same posts again does not cost you a second request.

You can clear all of it at any time by removing the extension, or clear the cached decisions alone from General › Advanced › Clear verdicts.

What is sent to your AI provider

To decide whether a post matches your criteria, Sharp sends that post to the AI provider you chose and configured, directly from your browser, using your API key. That request contains:

  • The visible text of the post
  • The author's handle
  • The visible reply context, when a post is a reply
  • Your filter criteria
  • Posts you corrected, with your verdict on each, as examples
  • Image and video thumbnail URLs, only if you turn image analysis on

In classifier mode, the default, the post goes to the provider you chose for the classifier: OpenRouter, Vercel AI Gateway or TypeSafe AI. With image analysis on, image URLs go to an image model through OpenRouter or Vercel AI Gateway, under your key for that provider, and the description it writes is sent along with the post. Only posts whose text leaves the decision in doubt have their images described; you set that range.

Nothing else. No browsing history, no timeline outside the posts being checked, no identity, no account details.

That request goes straight from your browser to the provider's API. It does not pass through any server belonging to the developer, because there isn't one.

Your provider's own privacy policy and data-retention terms apply to what they do with that request. Check them for the provider you pick — for example OpenRouter, Vercel, OpenAI, or Anthropic.

Debug mode, off by default, keeps what was sent and what came back for each post so you can inspect it on the page. That record lives in the open tab's memory only. It is never stored and never sent anywhere.

What Sharp does on X as you

One optional feature, Teach X too, off by default, sends X's own "Not interested in this post" for posts Sharp hides on your Home timeline, so X's ranking learns from them. To do that the way X's own client does, Sharp runs a small script in the x.com page that wraps the page's fetch. While the feature is on, that script reads two things X's client already has:

  • the headers X signs its own API requests with, which include your X session credentials (authorization, x-csrf-token and related headers)
  • the per-post feedback data in X's timeline responses

It passes them to the rest of the extension inside the same page, and Sharp uses them to send that one request to X, to x.com, as you. They never leave the x.com page for anywhere else: not to your AI provider, not to the developer, not to storage. They are kept in the tab's memory only.

While Teach X too is off, the script reads nothing and passes nothing on. It is still loaded, because a browser cannot load a page script conditionally, but it does no more than hand each request straight to X's own fetch.

Permissions, and why

  • Storage — to save your settings, key, and decision cache locally.
  • Access to x.com and twitter.com — to read posts on the page and hide the ones that match your criteria.
  • Access to www.youtube.com and m.youtube.com — to apply the YouTube page rules you turn on, on the desktop and mobile sites alike. Nothing on YouTube is read or sent anywhere; the rules are stylesheet rules.
  • Access to your provider's API (openrouter.ai, api.openai.com, api.anthropic.com, or a custom endpoint you enter) — to send classification requests. ai-gateway.vercel.sh, api.typesafe.ai and a custom endpoint are not granted at install: each asks for its own permission when you save settings that use it.

Sharp requests no other permissions and reads no other sites.

Children

Sharp is not directed at children and collects no personal information from anyone.

Changes

If this policy ever changes, the updated version will be published in this repository and the date above will change.

Contact

Questions: open an issue.