Is shadowbanning real on X?

The folk version — a secret switch that silently zeroes out an account — does not appear anywhere in the open-source X algorithm. What the code does show is several real, named mechanisms that reduce or remove visibility: a post-level visibility filter for spam and policy categories, per-viewer filters driven by blocks and mutes, safety classifiers, and negative ranking weights for posts the model predicts you would block, mute, or report.

CODE-CURRENTUNKNOWNClaims verified against source repositories on 2026-06-12

What the code actually shows

"Shadowban" is a folk term, so the honest way to answer is to replace it with the specific mechanisms the released code contains. There are four, and they work very differently from each other.

1. A post-level visibility filter. After ranking, a filter the code calls VFFilter removes posts that are deleted, spam, violence, gore, and similar categories. This is the closest thing in the released code to content being suppressed outright — and it operates on posts, by category.

CODE-CURRENT0bfc279verified 2026-06-12
After selection, a visibility filter (VFFilter) removes posts that are deleted, spam, violence, gore, and similar categories.
xai-org/x-algorithm — README.md, Filtering section (Post-Selection Filters table, line 317)as of the May 15, 2026 release

2. Per-viewer filters. Before scoring, the pipeline removes posts for reasons specific to each viewer: posts they've already seen or been served, posts containing their muted keywords, posts from authors they've blocked or muted, posts older than a threshold. If someone blocked or muted you, your posts vanish from their feed — by their choice, not a penalty.

CODE-CURRENT0bfc279verified 2026-06-12
Before scoring, Home Mixer removes: duplicates, posts that failed metadata hydration, posts older than a threshold, your own posts, repost duplicates, paywalled content you can't access, posts you've already seen or been served, posts containing your muted keywords, and posts from authors you've blocked or muted.
xai-org/x-algorithm — README.md, Filtering section (Pre-Scoring Filters table, lines 296–314)as of the May 15, 2026 release

3. Predicted-negative downranking. The ranking model explicitly predicts whether a viewer would hit "not interested," block you, mute you, or report the post — and those predictions carry negative weights. This is continuous and per-post: content the model expects people to dislike ranks lower for them. It is real suppression in effect, but it is the scoring system working as documented, not a hidden account flag.

CODE-CURRENT0bfc279verified 2026-06-12
The model explicitly predicts negative actions — not interested, block author, mute author, report — and these carry negative weights in the final score, pushing down content a user would likely dislike.
xai-org/x-algorithm — README.md (Scoring and Ranking) + home-mixer/scorers/weighted_scorer.rs lines 64–67as of the May 15, 2026 release

4. Safety classifiers. Since the May 2026 release, the Grox service's classifiers — spam detection, post-category classification, PTOS policy enforcement, and post-safety screens — are named and inspectable in the repository.

CODE-CURRENT0bfc279verified 2026-06-12
The May 2026 release includes Grox, a content-understanding service with classifiers for spam detection, post-category classification, and PTOS policy enforcement — including spam.py, safety_ptos.py, banger_initial_screen.py, post_safety_screen_deluxe.py, and reply_ranking.py.
xai-org/x-algorithm — README.md line 34 + grox/classifiers/content/ (file presence verified at pinned SHA)as of the May 15, 2026 release

What we can't verify

An account-level "shadowban" switch — a flag that quietly suppresses everything you post — does not appear in the released code. But absence from the release is not proof of absence from production: the repository demonstrably withholds some things (the numeric ranking weights, for one), so "the code doesn't show it" is the strongest claim available, and it is the only one we will make.

UNKNOWN0bfc279verified 2026-06-12
The numeric values of the current weights are not included in the open-source release: weighted_scorer.rs references a params module (e.g. p::FAVORITE_WEIGHT, p::REPLY_WEIGHT) whose values are not present anywhere in the published repository.
xai-org/x-algorithm (verified by direct inspection of the full repository tree at the pinned SHA) — home-mixer/scorers/weighted_scorer.rs references crate::params; no params definitions with weight values exist in the releaseabsence verified at the pinned SHA; values may be published in a future release

What this means for you

If your reach dropped, the productive question isn't "am I shadowbanned" — it's which of the four real mechanisms is touching you. Category-level visibility filtering and safety classifiers respond to what you post. Predicted-negative downranking responds to how audiences historically reacted to posts like yours. Per-viewer filters respond to blocks and mutes you've accumulated. Each has a different fix, and none of them is appeased by deleting your account and starting over — the first two follow the content, the third follows the engagement pattern.

← Penalties, safety screens & "shadowbans"