How Daylight Commons is measured

Each sign's measured precision and recall with its interval, the data behind it, the side-balance check and the known limits.

Updated 2026-10-23.

Every sign in Daylight Commons' window carries one of two labels: how often it was right when people checked by hand, or "not measured yet". Below is every sign, the data it was checked on and that data's licence, and how evenly the signs fire whichever side a post targets.

How to read the numbers

  • Precision is the share of signs Daylight Commons showed that the human annotators of a public research corpus agreed with. It answers "when Daylight Commons shows this, how often is it right?"
  • Recall is the share of the annotated cases that Daylight Commons found. Daylight Commons is built for precision: a wrong sign on an honest reply is the harm it avoids most, so recall is low.
  • Each figure gives the count and a 95% interval (Wilson). A wide interval means few cases were checked.
  • All figures come from a held-out test split (seed radar-eval-2026-10-21). Rules were tuned on a separate split, and the test split was read once, after tuning. Measured 2026-10-23.

One figure per sign

Each sign leads with what its measurement means when you see it. The figure draws the 95% interval as a band and the measured value as a mark; a dashed line is the bar a sign must clear to show. Counts, data and limits sit under "How we know".

Slur or coded hate term

When Daylight Commons shows this sign, the people who labelled the test comments agreed 91 times in 100.

0100%
How we know
Precision
3,996 of 4,393; 95% interval 90.1% to 91.8%
Range across corpora
34.0% to 95.3%
Data
Measuring Hate Speech, HateXplain and Civil Comments, held-out test split
Read it as
A sign describes the words in the post, which can be quoted, ironic or reported speech.

Call for violence

When Daylight Commons shows this sign, the people who labelled the test comments agreed 88 times in 100.

0100%
How we know
Precision
77 of 88; 95% interval 79.0% to 92.9%
Range across corpora
96.7% to 96.7%
Recall
2.1% (39 of 1,819; 95% interval 1.6% to 2.9%). Daylight Commons is built for precision, so it misses most cases.
Data
Measuring Hate Speech, HateXplain and Civil Comments, held-out test split
Read it as
A sign describes the words in the post, which can be quoted, ironic or reported speech.

Dehumanising language

When Daylight Commons shows this sign, the people who labelled the test comments agreed 93 times in 100.

0100%
How we know
Precision
37 of 40; 95% interval 80.1% to 97.4%
Range across corpora
90.0% to 90.0%
Recall
0.2% (12 of 5,046; 95% interval 0.1% to 0.4%). Daylight Commons is built for precision, so it misses most cases.
Data
Measuring Hate Speech, HateXplain and Civil Comments, held-out test split
Read it as
A sign describes the words in the post, which can be quoted, ironic or reported speech.

Group stereotype

When Daylight Commons shows this sign, the people who labelled the test comments agreed 84 times in 100.

0100%
How we know
Precision
96 of 114; 95% interval 76.4% to 89.8%
Range across corpora
77.3% to 92.5%
Recall
0.7% (58 of 8,368; 95% interval 0.5% to 0.9%). Daylight Commons is built for precision, so it misses most cases.
Data
Measuring Hate Speech, HateXplain and Civil Comments, held-out test split
Read it as
A sign describes the words in the post, which can be quoted, ironic or reported speech.

The thread report's "extreme"

When the report counts a reply as extreme, the corpus labelled it severe 70 times in 100.

0100%
How we know
Precision
903 of 1,285; 95% interval 67.7% to 72.7%
Recall
903 of 5,224; 95% interval 16.3% to 18.3%
Data
Measuring Hate Speech severity labels

Same text as other replies

In ordinary threads with 20 to 49 replies, a group of near-identical replies shows up in 1.4% of threads.

010%
How we know
5-19 replies
14 of 3,087; 95% interval 0.3% to 0.8%
20-49 replies
20 of 1,384; 95% interval 0.9% to 2.2%
50-99 replies
6 of 181; 95% interval 1.5% to 7.0%
100+ replies
4 of 60; 95% interval 2.6% to 15.9%
Before quotes were set aside
33% to 47% of these threads, almost all from replies that copied the post they quoted
Source
Ordinary threads: the PHEME corpus of Twitter threads from 2014 and 2015 news events (CC BY 4.0), a public research corpus from an earlier X.

Burst of replies

In ordinary threads with 20 to 49 replies, a burst like those Daylight Commons reports shows up in 2.2% of threads.

010%
How we know
5-19 replies
39 of 3,087; 95% interval 0.9% to 1.7%
20-49 replies
31 of 1,384; 95% interval 1.6% to 3.2%
50-99 replies
2 of 181; 95% interval 0.3% to 3.9%
100+ replies
2 of 60; 95% interval 0.9% to 11.4%
Independent posting
A simulation where each reply is timed on its own, at the thread's own pace, fires in 2.8%, 3.6%, 5.3%, 12.2% of threads by size.
Source
Ordinary threads: the PHEME corpus of Twitter threads from 2014 and 2015 news events (CC BY 4.0), a public research corpus from an earlier X.

Accounts seen together

For someone who opened about 100 threads on one news story, a pair seen together in two or more other threads shows up in 0.2% of threads.

010%
How we know
About 10 threads
0 of 1,600; 95% interval 0.0% to 0.2%
About 30 threads
0 of 4,800; 95% interval 0.0% to 0.1%
About 100 threads
32 of 14,000; 95% interval 0.2% to 0.3%
Independent posting
With the same accounts placed in threads at random: 0.0%, 0.0%, 0.0%.
Source
Ordinary threads: the PHEME corpus of Twitter threads from 2014 and 2015 news events (CC BY 4.0), a public research corpus from an earlier X.

Look-alike letters

Copies with one letter swapped for a Cyrillic or Greek look-alike: Daylight Commons now finds 100 in 100, up from 75.

0100%
How we know
Seeded copies
100 of 100 found after folding, 75 of 100 before
Ordinary text
6 of 96,337 replies in ordinary threads changed at all, mostly fullwidth letters and digits read as plain ones
Test cases
Same text, cases written for the test: 85 of 87; 95% interval 92.0% to 99.4%
Data
Unicode confusables table (UTS #39), Unicode License v3

Persuasion: loaded language

Held back: right 60 times in 100 on news articles, under the bar of 80.

0100%bar 80%
How we know
Precision
82 of 136; 95% interval 51.9% to 68.1%
Recall
7.9%
Chance
2.3% of words sit inside a span of this technique
Data
Propaganda Techniques Corpus v2, held-out articles
Read it as
A technique describes how a post argues. True claims use techniques too.

Persuasion: name calling

Held back: right 49 times in 100 on news articles, under the bar of 80.

0100%bar 80%
How we know
Precision
21 of 43; 95% interval 34.6% to 63.2%
Recall
4.4%
Chance
1.1% of words sit inside a span of this technique
Data
Propaganda Techniques Corpus v2, held-out articles
Read it as
A technique describes how a post argues. True claims use techniques too.

Persuasion: flag waving

Held back: right 41 times in 100 on news articles, under the bar of 80.

0100%bar 80%
How we know
Precision
11 of 27; 95% interval 24.5% to 59.3%
Recall
12.8%
Chance
0.5% of words sit inside a span of this technique
Data
Propaganda Techniques Corpus v2, held-out articles
Read it as
A technique describes how a post argues. True claims use techniques too.

Language signs

Checked on three public corpora of comments labelled by people, pooled: Measuring Hate Speech (CC BY 4.0), HateXplain (MIT) and Civil Comments (CC0 1.0). The range runs from the lowest to the highest corpus with at least 20 hits. Recall is against Measuring Hate Speech's own survey item for that sign, where one exists.

Every language sign, with counts
SignPrecision (95% interval)Range across corporaRecallStatus
Slur or coded hate term91.0% (3,996 of 4,393; 90.1% to 91.8%)34.0% to 95.3%not measuredShown with this figure
Group stereotype84.2% (96 of 114; 76.4% to 89.8%)77.3% to 92.5%0.7% (58 of 8,368; 0.5% to 0.9%)Shown with this figure
Dehumanising language92.5% (37 of 40; 80.1% to 97.4%)90.0%0.2% (12 of 5,046; 0.1% to 0.4%)Shown with this figure
Call for violence87.5% (77 of 88; 79.0% to 92.9%)96.7%2.1% (39 of 1,819; 1.6% to 2.9%)Shown with this figure
Call for vigilantes66.7% (2 of 3; 20.8% to 93.9%)under 20 hits in each corpusnot measuredHeld back: fewer than 20 hits in the test split

Measured on public research corpora (Reddit, Twitter, Gab, YouTube and news comments), and it can differ on this site and other topics. Precision says how often a marker sat on text the annotators judged hostile to a group.

Weaker signs that count only toward a reply being "extreme"

Weaker signs, with counts
SignShare on hostile text (95% interval)Range across corpora
Context-dependent slur65.5% (837 of 1,278; 62.8% to 68.0%)20.3% to 91.7%
Contempt92.1% (93 of 101; 85.1% to 95.9%)91.5% to 93.1%
Motive attribution72.5% (29 of 40; 57.2% to 83.9%)81.8%
Essentialising57.8% (59 of 102; 48.1% to 67.0%)25.8% to 75.0%
Absolutist wording50.7% (137 of 270; 44.8% to 56.7%)32.9% to 84.2%
Conspiracy framing29.5% (36 of 122; 22.1% to 38.1%)3.6% to 81.0%
Any strong language sign90.6% (4,167 of 4,597; 89.8% to 91.5%)35.2% to 95.1%

The thread report's "extreme"

Precision against Measuring Hate Speech severity labels: 70.3% (903 of 1,285; 67.7% to 72.7%). Recall: 17.3% (903 of 5,224; 16.3% to 18.3%). On HateXplain: precision 60.0% (1,951 of 3,252; 58.3% to 61.7%).

Word lists derived from labelled data

For Hebrew, Turkish, Korean, Japanese, Persian, Indonesian and Hindi, a script picks each slur term from the training half of public corpora labelled by people, and the other half measures it. A language shows signs only when its list was derived against labels of hate aimed at a group and the 95% interval of its precision starts at 70% or above, from at least 20 signs. Held-back lists stay off.

Every derived list, with counts
LanguageTermsPrecision on hostile text (95% interval)DataStatus
Hebrew396.0% (95 of 99; 90.1% to 98.4%)OLaHHeld back: its corpora label general offensiveness, so the list holds insults
Turkish0not measuredOffensEval 2020 Turkish and TurkishHateMapHeld back: every candidate term failed the check on the training half
Korean5493.8% (8,102 of 8,635; 93.3% to 94.3%)K-MHaS and BEEP!Shows in the window
Japanese263.0% (34 of 54; 49.6% to 74.6%)LLM-jp Toxicity v2 and inspection-ai Japanese toxicityHeld back: the interval starts below 70%
Persian0not measuredPersian Offensive LanguageHeld back: every candidate term failed the check on the training half
Indonesian185.0% (34 of 40; 70.9% to 92.9%)IndoDiscourse and IDHSDShows in the window
Hindi497.9% (183 of 187; 94.6% to 99.2%)TextDetoxHeld back: its corpora label general offensiveness, so the list holds insults

Persuasion techniques

Checked on the Propaganda Techniques Corpus v2 (CC BY 4.0), news articles labelled span by span. A technique shows in the window only when its precision is at least 80% and its 95% interval starts at 70% or above, from at least 20 hits. Published systems reach F1 of about 30 to 44 on these techniques, where a confident label is wrong more often than right. Whataboutism needs the whole exchange to judge, so it stays off single replies. Every technique so far sits under the bar.

Every technique, with counts
TechniquePrecision (95% interval)RecallChanceStatus
Loaded language60.3% (82 of 136; 51.9% to 68.1%)7.9% (80 of 1,015; 6.4% to 9.7%)2.3%Not shown: precision under 80%
Name calling48.8% (21 of 43; 34.6% to 63.2%)4.4% (21 of 474; 2.9% to 6.7%)1.1%Not shown: precision under 80%
Bandwagon0.0% (0 of 3; 0.0% to 56.2%)0.0% (0 of 32; 0.0% to 10.7%)0.3%Not shown: fewer than 20 hits
Appeal to fear0.0% (0 of 2; 0.0% to 65.8%)0.0% (0 of 134; 0.0% to 2.8%)1.3%Not shown: fewer than 20 hits
Flag-waving40.7% (11 of 27; 24.5% to 59.3%)12.8% (11 of 86; 7.3% to 21.5%)0.5%Not shown: precision under 80%
Thought-terminating cliche0.0% (0 of 1; 0.0% to 79.3%)0.0% (0 of 41; 0.0% to 8.6%)0.2%Not shown: fewer than 20 hits
Whataboutism0.0% (0 of 1; 0.0% to 79.3%)0.0% (0 of 65; 0.0% to 5.6%)0.6%Not shown: held back
Black-and-white fallacynot measured0.0% (0 of 42; 0.0% to 8.4%)0.5%Not shown: held back
Doubt33.3% (1 of 3; 6.1% to 79.2%)0.4% (1 of 244; 0.1% to 2.3%)3.1%Not shown: fewer than 20 hits
Appeal to authority0.0% (0 of 2; 0.0% to 65.8%)0.0% (0 of 72; 0.0% to 5.1%)1.2%Not shown: fewer than 20 hits
Exaggeration10.0% (1 of 10; 1.8% to 40.4%)0.5% (1 of 220; 0.1% to 2.5%)1.0%Not shown: fewer than 20 hits
Hidden motive0.0% (0 of 4; 0.0% to 49.0%)0.0% (0 of 244; 0.0% to 1.6%)3.1%Not shown: fewer than 20 hits
Just asking questions0.0% (0 of 2; 0.0% to 65.8%)0.0% (0 of 244; 0.0% to 1.6%)3.1%Not shown: fewer than 20 hits

A technique can carry a true claim; it describes how the post argues. "Chance" is the share of words inside a labelled span of that technique.

Cases written for the test

Same text as other replies: pair precision 97.7% (85 of 87; 92.0% to 99.4%), recall 100.0% (85 of 85; 95.7% to 100.0%). Speaks as local, labelled elsewhere: precision 100.0% (14 of 14; 78.5% to 100.0%), recall 100.0% (14 of 14; 78.5% to 100.0%). One author wrote both these cases and the rules. Read the figures as a check that the rules fire where they should.

Side balance

The strong language signs were run on hostile text aimed at groups each side is often hostile to, and recall was compared. "Balanced" means the two recall intervals overlap and the larger is at most 1.25 times the smaller.

CorpusRecall, right's usual targetsRecall, left's usual targetsPrecision, right's usual targetsPrecision, left's usual targetsResult
Measuring Hate Speech10.2% (771 of 7,584; 9.5% to 10.9%)8.0% (201 of 2,499; 7.0% to 9.2%)95.7% (771 of 806; 94.0% to 96.9%)93.9% (201 of 214; 89.9% to 96.4%)Gap remains
HateXplain45.2% (1,897 of 4,197; 43.7% to 46.7%)43.4% (109 of 251; 37.4% to 49.6%)98.0% (1,897 of 1,935; 97.3% to 98.6%)97.3% (109 of 112; 92.4% to 99.1%)Balanced

Precision agrees across sides within the intervals. Where a gap remains, the thread report undercounts extreme replies aimed at the side with lower recall.

Every sign

Each of Daylight Commons' 62 signs, with the line its window shows beside it.

Every sign and its measured line
SignAreaKindWhat the window says
Slur or coded hate termLanguageDaylight Commons' own ruleprecision 91% (95% interval 90 to 92%), 4393 badges checked, held-out test set
Group stereotypeLanguageDaylight Commons' own ruleprecision 84% (95% interval 76 to 90%), 114 badges checked, held-out test set
Dehumanising languageLanguageDaylight Commons' own ruleprecision 93% (95% interval 80 to 97%), 40 badges checked, held-out test set
Call for violenceLanguageDaylight Commons' own ruleprecision 88% (95% interval 79 to 93%), 88 badges checked, held-out test set
Call for vigilantesLanguageDaylight Commons' own rulenot measured yet
Named conspiracy theoryLanguageDaylight Commons' own rulenot measured yet
Leaked AI textLanguageDaylight Commons' own rulenot measured yet
Machine-writing signsLanguageDaylight Commons' own rulenot measured yet
Spam patternLanguageDaylight Commons' own rulenot measured yet
X: probable spamLanguageThe site's own labelthe site's own label, shown as the site gives it
Hate symbol in nameLanguageDaylight Commons' own rulenot measured yet
Media older than the postMediaDaylight Commons' own rulenot measured yet
Media from another postMediaThe site's own labelthe site's own label, shown as the site gives it
Same upload, many accountsCoordinationDaylight Commons' own rulenot measured yet
Same text as other repliesCoordinationDaylight Commons' own rulenot measured yet
Same words in other threadsCoordinationDaylight Commons' own rulenot measured yet
Same link or upload in several languagesCoordinationDaylight Commons' own rulenot measured yet
One person's story, no wider pictureLanguageDaylight Commons' own rulenot measured yet
Material passed through other accountsSourcesDaylight Commons' own rulenot measured yet
Community NoteSourcesThe site's own labelthe site's own label, shown as the site gives it
Fact-checked claimSourcesDaylight Commons' own rulenot measured yet
Ad labelSourcesThe site's own labelthe site's own label, shown as the site gives it
State linkSourcesMatch against a cited tablea match against a cited table; the source link is the evidence
Named in a published reportSourcesMatch against a cited tablea match against a cited table; the source link is the evidence
Backing on recordSourcesMatch against a cited tablea match against a cited table; the source link is the evidence
Look-alike news addressSourcesDaylight Commons' own rulenot measured yet
Outlet ownerSourcesMatch against a cited tablea match against a cited table; the source link is the evidence
Site facts and fact-check recordSourcesMatch against a cited tablea match against a cited table; the source link is the evidence
Posting appPostingThe site's own labelthe site's own label, shown as the site gives it
Written in another languagePlaceThe site's own labelthe site's own label, shown as the site gives it
Speaks as local, labelled elsewherePlaceDaylight Commons' own rulenot measured yet
App store elsewherePlaceDaylight Commons' own rulenot measured yet
Flag of another countryPlaceDaylight Commons' own rulenot measured yet
Profile says elsewherePlaceDaylight Commons' own rulenot measured yet
Active hours fit elsewherePlaceDaylight Commons' own rulenot measured yet
Replies within a minutePostingDaylight Commons' own rulenot measured yet
Posts through an automation appPostingDaylight Commons' own rulenot measured yet
Posts around the clockPostingDaylight Commons' own rulenot measured yet
Almost only repostsPostingDaylight Commons' own rulenot measured yet
Very high post ratePostingDaylight Commons' own rulenot measured yet
New accountAccountDaylight Commons' own rulenot measured yet
RenamedAccountDaylight Commons' own rulenot measured yet
Sign-up handleAccountDaylight Commons' own rulenot measured yet
Follows many, few follow backAccountDaylight Commons' own rulenot measured yet
Low karma for its ageAccountDaylight Commons' own rulenot measured yet
Name borrows a brandAccountDaylight Commons' own rulenot measured yet
Content CredentialsMediafilewhat the file itself declares, with its signature checked by Daylight Commons
Credentials do not matchMediafilewhat the file itself declares, with its signature checked by Daylight Commons
AI-generation metadataMediafilewhat the file itself declares, with its signature checked by Daylight Commons
Persuasion: loaded languageLanguagePersuasion techniqueheld back (precision under 80%): precision 60% (95% interval 52 to 68%), 136 spans checked, held-out news articles
Persuasion: name callingLanguagePersuasion techniqueheld back (precision under 80%): precision 49% (95% interval 35 to 63%), 43 spans checked, held-out news articles
Persuasion: bandwagonLanguagePersuasion techniqueheld back (fewer than 20 hits): precision 0% (95% interval 0 to 56%), 3 spans checked, held-out news articles
Persuasion: appeal to fearLanguagePersuasion techniqueheld back (fewer than 20 hits): precision 0% (95% interval 0 to 66%), 2 spans checked, held-out news articles
Persuasion: flag-wavingLanguagePersuasion techniqueheld back (precision under 80%): precision 41% (95% interval 25 to 59%), 27 spans checked, held-out news articles
Persuasion: thought-terminating clicheLanguagePersuasion techniqueheld back (fewer than 20 hits): precision 0% (95% interval 0 to 79%), 1 spans checked, held-out news articles
Persuasion: whataboutismLanguagePersuasion techniqueheld back: needs the whole exchange, so it waits for a full thread
Persuasion: black-and-white fallacyLanguagePersuasion techniqueheld back: not measured
Persuasion: doubtLanguagePersuasion techniqueheld back (fewer than 20 hits): precision 33% (95% interval 6 to 79%), 3 spans checked, held-out news articles
Persuasion: appeal to authorityLanguagePersuasion techniqueheld back (fewer than 20 hits): precision 0% (95% interval 0 to 66%), 2 spans checked, held-out news articles
Persuasion: exaggerationLanguagePersuasion techniqueheld back (fewer than 20 hits): precision 10% (95% interval 2 to 40%), 10 spans checked, held-out news articles
Persuasion: hidden motiveLanguagePersuasion techniqueheld back (fewer than 20 hits): precision 0% (95% interval 0 to 49%), 4 spans checked, held-out news articles
Persuasion: just asking questionsLanguagePersuasion techniqueheld back (fewer than 20 hits): precision 0% (95% interval 0 to 66%), 2 spans checked, held-out news articles

Documented influence operations

Daylight Commons carries 98 influence operations from 27 attributed countries, first published between 2018 and 2026, and 1,237 domains and accounts their sources named (1,194 domains). A link or account that a report named shows "Named in a published report", with who the sources say ran it, in each source's own words.

What the counts mean. These are operations that investigators found and published, counted by the year of the first report. The counts follow where people looked: platforms look harder in some places and languages than others, and some governments publish takedowns while others keep them quiet.

Every operation meets the same bar, whatever the country: at least one primary source that was read (a platform report, a research lab, a court or government document, or reporting that names its sources), an operator type that a source itself states, and a cited source for every field. A test enforces this on the data.

By year of first report

YearOperationsBy attributed countryBar
20184Russia 2, Iran 1, Myanmar 1
201922Russia 5, United Arab Emirates 4, India 3, Saudi Arabia 3, China 2, Egypt 1, Iran 1, Israel 1, Pakistan 1, Venezuela 1
202014Russia 5, Azerbaijan 1, Belarus 1, Honduras 1, Iran 1, Philippines 1, Saudi Arabia 1, Serbia 1, Thailand 1, Türkiye 1
20215Ethiopia 1, Iran 1, Nicaragua 1, Russia 1, Uganda 1
20224China 2, Russia 1, United States 1
20238China 2, Cuba 1, Georgia 1, Israel 1, Togo 1, United Arab Emirates 1, Venezuela 1
202424Russia 11, Iran 4, China 3, United States 2, Azerbaijan 1, Bangladesh 1, Israel 1, Myanmar 1
20258China 6, Ghana 1, Iran 1
20269Iran 5, China 2, Israel 1, Pakistan 1

By attributed country

Operator type follows the source's own words. "Linked to a state" means a source says linked to or associated with a government without saying it ran the operation; "origin only" means the source names a country and no operator.

CountryOperationsDocuments citedGovernmentState mediaContractorLinked to a stateFirm, no state namedOrigin only
Russia25492121127
China17271002410
Iran1424212108
United Arab Emirates55001031
Israel416001030
Saudi Arabia46001210
India33000120
United States36200100
Azerbaijan22101000
Myanmar22100100
Pakistan22200000
Venezuela24000110
Bangladesh11000100
Belarus14100000
Cuba11100000
Egypt13001000
Ethiopia11000100
Georgia11100000
Ghana12000010
Honduras12100000
Nicaragua11100000
Philippines11100000
Serbia13100000
Thailand11100000
Togo11000010
Türkiye12100000
Uganda11100000

Still to measure

  • Daylight Commons' own rules still to measure: Call for vigilantes, Named conspiracy theory, Leaked AI text, Machine-writing signs, Spam pattern, Hate symbol in name, Media older than the post, Same upload, many accounts, Same words in other threads, Same link or upload in several languages, One person's story, no wider picture, Material passed through other accounts, Fact-checked claim, Look-alike news address, App store elsewhere, Flag of another country, Profile says elsewhere, Active hours fit elsewhere, Replies within a minute, Posts through an automation app, Posts around the clock, Almost only reposts, Very high post rate, New account, Renamed, Sign-up handle, Follows many, few follow back, Low karma for its age, Name borrows a brand. The window marks each of them as waiting for a measurement.
  • Same text as other replies, and speaks as local, labelled elsewhere: tested on cases written alongside the rules (below). Measuring them on real replies needs live threads labelled by hand.
  • Live threads: every figure here comes from public research corpora. Threads from X, YouTube, Reddit, Facebook, Instagram and Bluesky still need labelling by hand.
  • French language signs: the French corpus has too few hits to measure. Persuasion cues in French: waiting for a corpus whose licence Daylight Commons can use.
  • Call for vigilantes: under the 20 hits in the test split that a measurement needs.
  • Site labels (Community Notes, ads, posting app, X's spam label) and matches against cited tables (outlet owners, state links) carry the site's or the cited source's own judgement, and their evidence is that site or source.

Known limits

  • Precision. The corpora come from Reddit, Twitter, Gab, YouTube and news comments, several years old. Two of them were sampled to be rich in hate speech (about 61% hostile). On Civil Comments, where 8% of comments are hostile, about a third of strong labels (23 of 68) fell on text the raters called toxic. Real reply threads sit somewhere between. Some Civil "false positives" are quoted or ironic uses that raters scored below 0.5, so 34% is a floor more than a point estimate.
  • Recall. Daylight Commons is a hand-built lexicon and grammar, tuned for precision. It finds a small share of hostile text: MHS item recall is under 3% for every family. A quiet thread can still hold hostile replies.
  • Weak families. Conspiracy, absolutist and essentialise describe framing. The corpora label hostility, so their figures show how often the framing lands on hostile text, as context.
  • Extreme. The thread report's extreme count finds about one severe reply in six (17% recall on MHS). Treat it as a floor.
  • Synthetic. The duplicate and mismatch figures come from cases the rules' author wrote and labelled alongside the rules.
  • PTC is news articles from 48 outlets, mostly 2017 to 2019. Replies are shorter and blunter, and precision on them is still to be measured. It could be higher or lower.
  • PTC's annotators marked most uses and missed some. A true use they missed counts against Daylight Commons, so precision leans low.
  • A technique describes how a post argues, and true claims use techniques too.

Your own feedback

Each sign in the window has "This was right" and "This was wrong". Your marks stay in your browser. After 10 marks on one kind of sign, the window shows your own count under the measured figure. The figures on this page stay as measured. You can save your marks to a file from the options page and choose whether to share it.

Data used

CorpusLicence
Measuring Hate Speech (Kennedy et al. 2020, Sachdeva et al. 2022; UC Berkeley D-Lab)CC BY 4.0
HateXplain (Mathew et al. 2021)MIT
Civil Comments, test split (Jigsaw / Conversation AI; the corpus behind Jigsaw Unintended Bias)CC0 1.0
MLMA, French part (Ousidhoum et al. 2019)MIT
PHEME rumour and non-rumour threads (Zubiaga et al. 2016; Kochkina et al. 2018)CC BY 4.0
Propaganda Techniques Corpus v2 (Da San Martino et al. 2019; SemEval-2020 Task 11)CC BY 4.0
MLMA, Arabic part (Ousidhoum et al. 2019)MIT
TextDetox 2024 multilingual toxicity (Dementieva et al. 2024), splits ar, ru, uk, hiOpenRAIL++ (the compilation); see below
COLD, test split (Deng et al., EMNLP 2022)Apache-2.0
Multilingual HateCheck (Röttger et al., WOAH 2022), Arabic, Hindi, MandarinCC BY 4.0
OLaH (Litvak et al., LREC 2022; filtered release for the detoxification project), HebrewMIT
OffensEval 2020 Turkish (Çöltekin, LREC 2020), TurkishCC BY (README; the dataset card says CC BY 2.0)
TurkishHateMap (Altinok), 12 topics, TurkishCC BY-SA 4.0
K-MHaS (Lee et al., COLING 2022), KoreanCC BY-SA 4.0
BEEP! Korean HateSpeech (Moon et al., SocialNLP 2020), train and dev, KoreanCC BY-SA 4.0
NSMC, Naver movie reviews (reference text; the sentiment label stays unused), KoreanCC0 1.0
LLM-jp Toxicity Dataset v2, JapaneseCC BY 4.0
inspection-ai Japanese toxicity subset, JapaneseApache-2.0
Persian offensive language (Kebriaei et al., Machine Learning 2024), PersianCC BY 4.0 (README)
IndoDiscourse, formerly IndoToxic2024 (Susanto et al. 2025), IndonesianApache-2.0; the card adds "for research purposes only"
IDHSD (Alfina et al., ICACSIS 2017), IndonesianFree use without permission; no public copies (README)

The repository holds counts, rates and file hashes; the corpus text stays with each publisher. Download the corpora, run the evaluation scripts in Daylight Commons' repository, and every number on this page comes back.

Daylight Commons reads the site you are on. It contacts anything else only when you turn on Other coverage or evidence lookups and click. Free and open source under the AGPL-3.0.