It marks countable rhetorical tells in the words of a passage — loaded intensifiers, rehearsed contrition, deleted subjects — and reports how thickly the text is spun. Heuristic. On-device. It never reads the person.
The passage
Everything runs in this page. No network requests, no external fonts, images, or scripts — the engine and rule pack are inlined. Your text is never sent anywhere.
Density
Marked reading
Tells, by family
Strip — the de-spun text
Deterministic counterfactual, no model: loaded intensifiers are subtracted and each agentless passive is flagged with [who?]. Modality, attribution, and other tells stay intact. This is a reading aid, not a guarantee of grammatical or meaning-preserving revision.
A high density means the language is thickly styled, not that the speaker is dishonest. Honest people use hedges; liars sometimes speak plainly. RhetorLint gives you a lens, not a verdict.
The taxonomy — families & tells
Seven coarse families: the six SemEval-2023 persuasion parents plus RhetorLint's structural agency-hiding extension. This pack (rules-en) ships 22 rules across 6 of them today; the rest are defined and awaiting rules.