Local, layered and explainable.
Tacet runs a small content script on the Facebook desktop site. It watches for new feed items, classifies them, applies your rules and hides what you asked it to. Nothing leaves your browser.
The pipeline
- Observe page changes
- Find candidate cards
- Classify
- Extract metadata
- Evaluate rules
- Decide
- Hide, collapse or placeholder
- Record local diagnostics
-
Observe
A mutation observer notices when Facebook adds content. Changes are batched, de-duplicated and processed during idle time so scrolling stays smooth. There is no polling and no repeated full-page scanning.
-
Discover and classify
Candidate cards are found using structural and accessibility cues rather than one fragile class name. Each detector, for example sponsored, suggested, Reel or Story, weighs several signals and returns a category with a confidence score.
-
Decide
The rule engine evaluates in a fixed order: allow rules first, then your explicit rules, then category filters, text rules and layout rules, then the default policy. Every decision carries a reason you can inspect.
-
Apply
Depending on your preference the item is hidden outright, collapsed, or replaced with a subtle placeholder that explains why and offers an undo.
-
Recover
Minimal diagnostic metadata, never the post content itself, is kept for the session so the Hidden Content Drawer can show counts and let you reveal items.
Precedence you can predict
| Order | Layer | Example |
|---|---|---|
| 1 | Allow rules | Always show posts from a named friend |
| 2 | Your custom rules | Hide posts whose text contains a phrase and the author matches |
| 3 | Category filters | Sponsored, Suggested, Reels, Stories … |
| 4 | Text rules | Mute a keyword or regular expression |
| 5 | Layout rules | Hide a sidebar module |
| 6 | Default policy | Show |
Fails safe by design
- Detectors require confidence before acting.
- False negatives are preferred over hiding a real friend's post.
- Each detector runs in isolation, so one failure never breaks the rest.
- You can disable any single detector.
- A clear "Tacet may need an update" state appears when detection confidence drops.
What Tacet never does
No account actions
It never likes, follows, unfollows, sends messages or friend requests, or changes anything on your account.
No data collection
No posts, messages, contacts, cookies or tokens are read for any purpose other than deciding what to show on your screen, and none are stored or sent.
No remote code
All logic ships in the extension package. Nothing is downloaded and executed at run time.