The File Has No Dates
X opened its shadowban report to everybody this week. On this morning's show I told you to line the label dates up against the week your reach fell. I read the file. It is 22 lines of JSON, it covers last month, and there are no dates in it.
Listen to this episode of the Social Trend Report, then use the piece below.
A developer who posts as roboin downloaded one of X's new shadowban reports and published the entire file on September 4. It is 22 lines of JSON. Four of them carry information.
Period: 2026-07-01 to 2026-07-31, UTC. Generated: 2026-08-08 at 23:59:59. Post count: 383. One post label, SPAM_HIGH_RECALL, described by X as "Post detected by automated systems as one that may contain spam," effect listed as "Post hidden from recommendations to non-followers." It hit 2 posts. That's 0.52 percent. Account labels: an empty bracket and a zero.
That is the whole report. One month, closed eight days before the file was generated, with no post IDs in it and no dates inside the month.
Which is a problem, because on this morning's show I told you to go download yours and line the label dates up against the week your reach fell.
What actually shipped this week
X launched Under the Hood in August alongside the open-source release of its ranking code. The page lives at x.com/i/under_the_hood, and until this week it was a pilot: a subset of accounts at least a year old, with at least 10 posts in the prior month.
Two things changed. X announced that Under the Hood now shows whether a post or account had its visibility limited to comply with a local law, and which country asked. And access opened to everybody who meets the requirements instead of the test group.
Every writeup I saw led with the country data. roboin, who built a shadowban-detection extension and has been testing this tool since August, buried it in Monday's piece with a flat verdict: users already had other ways to check legal withholding, "so this addition to Under the hood has limited practical impact."
The access change is the one that matters to a brand with 900 followers and a cheese cave. Nobody wrote that headline because it isn't one.
Go to the URL. If you see an explanation and no download button, you don't have it, and that is the actual first step. Not settings, not a support ticket. One page load.
I told you to line up the dates. There are no dates.
This morning's Social Trend Report opened with Under the Hood and ran it as the receipt that ends the guessing. Reach falls off a cliff in week six, you spend a month and a half changing post times and pulling links back out, and the file tells you whether a penalty was ever there. I still think that's the right frame. The three things I told you to do with it are not all possible.
I said read every label on the account and on the individual posts. You can't. roboin names it as one of three limitations, and it's the one that costs you: the report tells you how many posts got a label and what share of the month that was. It does not tell you which posts. Two of 383, and you will never know which two.
I said line the label dates up against the week your reach fell. There is no date field below the month. The file has a start date, an end date, and a generated-at stamp. Nothing inside it is stamped.
And I said go get it and read it this week. The file roboin pulled covered July and was generated on August 8, which suggests the previous month lands sometime early in the following one. If your reach fell apart on September 14, the file that could speak to it does not exist yet.
Three recommendations, one of which survives contact with the actual file. That one is still worth the twenty minutes, and I'll get to it.
What it does answer
One question, cleanly: last month, was there a label, and on what share of your posts.
That is not nothing. It rules out the version of the story most operators are living in, which is that something invisible and permanent got attached to the account and everything since has been a punishment. An empty account-label array is a real answer to a real fear. roboin's read 0. Most small brand accounts will read 0.
Read it as a percentage, not a verdict. Two of 383 is noise. Forty of 383 is a pattern in what you're making, and the label name tells you which pattern. SPAM_HIGH_RECALL on a food brand usually means the same link, the same three hashtags, the same caption skeleton, five days a week. That's a content problem wearing a penalty costume.
And the file tells you where to go read the rest. The notes field points at the open-source code that generates the report and at X's own page on limited reach. The code is public. If you want to know what a label actually does to a post, that's the document, and X put it there on purpose.
What it isn't is a diagnosis. It's transparency published by the company doing the penalizing, on a delay it controls, at a resolution it chose. One input.
What to do before Friday
The honest polarity here is mixed leaning negative: a good tool arrived, it is weaker than the coverage suggests, and the thing it cannot do is the thing you needed. So all three of these are about building the record X won't hand you.
1. The post, and you can paste this one. Run it once, on the platform where your reach actually dropped, and then leave it alone for a quarter.
Quick question and I genuinely want the answer. Did this post show up in your feed on its own today, or are you seeing it because you came looking for us? Reply yes or no and roughly what time it was. We've had a strange month and I would rather know what's real than keep guessing at it.
Three rules. Ask for the time, because the time is the whole point and nobody gives it unless you ask. Never use the word shadowban, because it turns a question into a grievance and your customers did not sign up for your platform problems. And write the last sentence in your own words, because "a strange month" from a brand that posts twice a week reads as fishing.
What you get back is a dated, timestamped, crowd-sourced delivery log for one post. It is cruder than anything X will ever give you and it is stamped, which is more than the file is.
2. The still. One frame, overhead, of wherever you actually track what you post. The notebook on the counter by the register. The dry-erase board in the packing room. The wall calendar with the delivery days circled. Shoot the real one, with the coffee ring and the crossed-out Tuesday and somebody else's handwriting on it, on a phone, in whatever light the room has.
No styling, no branded backdrop, no hands. If you have to make the board before you shoot the board, shoot something else. The picture only works because it is obviously a working document, and a clean one is a prop.
This performs for food brands for a reason that has nothing to do with algorithms. People like seeing that a small operation has a system.
3. The video, 20 seconds, five shots, shoot it today on a phone.
Shot 1, 3 seconds, over the shoulder: the laptop on the prep table, the Under the Hood page loading. No talking.
Shot 2, 4 seconds, screen only, close enough to read: the download button, and a thumb hitting it.
Shot 3, 6 seconds, medium, your actual person in your actual room: they say the number out loud. "Two posts out of 383. Half a percent." Whatever yours says, including zero.
Shot 4, 5 seconds, back over the shoulder at the screen: they say what they're changing because of it, in one sentence, and it has to be a real change.
Shot 5, 2 seconds: laptop closes, back to work.
Three rules for the video. Nobody explains what a shadowban is, because the explanation is forty seconds long and you have twenty. Nobody blames the platform, because it plays as an excuse even when it's true. And if your file comes back at zero, that is the better video, not the wasted one. "I checked, there's nothing there, so the problem is me" is the most watchable sentence a brand account can say out loud.
The free internal move
Build the log X won't. One sheet, one owner, ten minutes a week: date, platform, what you posted, the format, and the 48-hour reach number. That's it. Five columns.
Do it for eight weeks and you own something the platform will not sell you at any price, which is a dated series. When reach falls off in November you will not be reconstructing October from memory and a monthly aggregate that lands on the 8th. You'll open a sheet.
And most of the time that sheet is going to tell you the cliff was seasonal, or that you changed formats in week three and forgot, or that the two posts that carried the month were both shot in the walk-in. None of those show up in a label report. All of them decide what you make next.
The receipt is useful. It just isn't the record. You keep the record.
Listen, then go build
The show is the briefing. This piece is the part you can use tomorrow. This week's Social Trend Report also covers what the answer box is doing to your clicks and why a five-part run beats a single post, and you can subscribe on Apple Podcasts or Spotify and have next week's waiting Tuesday morning.
If your reach fell off in the spring and you still don't know whether it was a penalty, a season, or a format that quietly quit working, that's the conversation. Find me on LinkedIn.