Every outlet is assigned one of five leans by hand, in a config file anyone can read and edit. The assignments are editorial judgements, made to be roughly consistent with published media-bias assessments (AllSides, Ad Fontes Media, Media Bias/Fact Check) - rating outlets is work those organisations already do full-time, and this site does not re-derive it by any method. Where an outlet carries those raters' own labels, they are quoted verbatim under its name - including the ones that disagree with the lean used here. The disagreement is left visible on purpose: it is what lets you check the judgement instead of trusting it. The leans are stated as judgement, not measurement, and the 54 outlets currently read are:
54 of the 54 outlets carry an ownership note - who owns or funds the newsroom, shown under each name above and on hover wherever an outlet appears on a story page. Like the leans, these are hand-recorded digests of public record, kept short on purpose: a name to look up, not a verdict. Ownership never affects how an outlet is read, counted or ranked - it is context for you, not input to the pipeline.
Headlines from different outlets are grouped when they share enough rare words - names, places, numbers carry the signal; common words carry none. The grouping deliberately errs toward merging (threshold 0.18): a false merge is visible, because the outlets listed under one headline plainly disagree, but a missed merge is invisible and worse - splitting one event in two can strip every outlet on one side out of half the story and invent a gap that is not there. A group becomes a story when at least 2 outlets ran it.
Both rules count distinct outlets, never articles - an outlet that files four updates has not made a story any less of a blindspot. Left is the left and lean-left columns together; right is lean-right and right together.
Silent - one side ran nothing while the other ran it in at least 2 outlets. A single outlet on the other side is one editor's choice, not a pattern, so it is not enough to call silence.
Thin - one side is down to a single outlet while the other fields at least 3. Percentages cannot work at this scale - most stories run in a handful of outlets - so lopsidedness is measured in outlets, which is what there is to count.
Headlines, links, publisher thumbnails, and the short blurbs publishers write for feed readers - quoted unedited, never article bodies. Nothing on any page is generated: no AI summaries, no computed ratings, no rewritten text. Each story's one thumbnail is stored as an unmodified, byte-identical copy of what the publisher advertises for sharing - in the feed, or failing that the article page's own og:image - copied once, never edited, resized or watermarked. Articles older than 30 days are deleted, and their images with them; this is a link index, not an archive.
This site reads your public RSS feed the way you published it to be read: politely (conditional GET, at most one poll per feed per 10 minutes, from a client that identifies itself and quotes this address), taking headlines, links, your own feed blurbs, and one thumbnail per story. Your robots.txt is honored when thumbnails are fetched. Everything links to you.
If you would rather your images did not appear here, one email to [email protected] and they are switched off - a per-outlet flag in a config file, honored by the next run, usually within the hour. Your coverage keeps counting either way: which outlets ran a story is a fact this site exists to report, and facts are not removable. The same address reaches a human for anything else.
A blindspot here means a gap within this outlet list, not across all media. The list is hand-picked and small; an outlet not in it cannot count toward any side. Headline grouping is a heuristic and makes mistakes in both directions. And the leans, however carefully assigned, are five buckets imposed on something continuous - the page showing which outlets sit where exists so that judgement can be disagreed with.
Generated 2026-09-03 00:32. The registry, the thresholds quoted above, and every rule described here are read from the running code and config - this page cannot say one thing while the pipeline does another.