Santa Clara County Just Said Aloud What Meta's Ad Team Already Knew
A $7 billion number doesn't describe a broken system. It describes a working one.

Photo · Daring Fireball
The Confession Hidden in the Revenue Line
A lawsuit doesn't become interesting when it gets filed. It becomes interesting when you do the math.
A writer at Daring Fireball flagged the Santa Clara County suit against Meta this week, surfacing reporting from San Jose Spotlight on allegations that are, depending on your level of cynicism, either shocking or completely predictable. The county's claim: that Meta didn't fail to stop scam ads — it actively hamstrung its own fraud prevention teams and helped fake companies slip through its own filters. The alleged reward for this arrangement? Roughly $7 billion a year in ad revenue from the scams.
Seven billion. Per year. That's not a rounding error. That's a product line.
Meta has vowed to fight the lawsuit, calling the underlying Reuters reporting — which the county's allegations lean heavily on — distorted. That Reuters investigation, for what it's worth, suggested Meta was connected to roughly one-third of all successful internet scams in the U.S. at one point. Meta says that picture is wrong. The lawsuit says otherwise. Someone is lying, and the discovery process is going to be genuinely unpleasant for at least one of them.
When "Broken" Is Doing a Lot of Work
Here's what I keep coming back to: we've spent years treating platform ad fraud as an infrastructure problem. A whack-a-mole situation. Bad actors are clever, the filters can't keep up, it's an arms race — you've heard the framing. It's not inaccurate as far as it goes, but it has always conveniently omitted one question: what happens to the money in the meantime?
The answer, if these allegations hold, is that it flows to Meta. Consistently. Predictably. At scale.
That reframes everything. A fraud prevention team that gets "hamstrung," in the language of this lawsuit, isn't a team that failed. It's a team that was managed. There's a difference between a filter that can't catch bad ads and a filter that's been tuned to let certain bad ads through while maintaining plausible deniability. One of those is a technical problem. The other is a policy.
Meta's business model has always required that advertisers — any advertisers — find it easy to reach users. The platform optimized relentlessly for that. What the county is now arguing in court is that this optimization had a dark edge that the company understood and permitted, because the alternative was leaving money on the table.
That's not a glitch. That's a strategy with a paper trail.
The tech industry has a long history of treating its own worst outcomes as unfortunate externalities rather than foreseeable consequences of deliberate choices. This lawsuit is someone finally refusing to accept that framing. Whether it wins in court or not, the act of filing it — with the $7 billion figure attached — forces a different conversation. Not "why couldn't Meta stop the scams" but "what would stopping them have cost Meta, and did they ever actually want to pay that price."
That's a harder question. It's also the only honest one.
Keep reading tech.

Hide My Email Has Been Showing Your Email
Apple's privacy flagship has a hole in it. They've known for over a year.

Sony Killed the Disc. Sony Is Also Killing the Store.
Two announcements, one company, and a quiet admission that "ownership" was always their word to define.

Apple Went to the Highest Court It Could Find. That Tells You Everything.
When a contempt ruling sends you to the Supreme Court, you're not defending a policy anymore — you're defending a worldview.
From the other desks.

800 Horsepower, One Ton of Doubt
Lamborghini built the most powerful SUV it's ever made. It's also slower than what it replaced.

Gold Leaf on a Lacquer Dial, and the Weight of What That Costs
Awake's Frosted Leaf Royal Blue asks a question Vietnamese craft has never quite had to answer at this price.

ESPN Named Him. Then Unnamed Him. Nobody's Explaining the Gap.
A retraction without a reckoning is just a deleted link.