Transparency

A warning tool is only worth trusting if you can check how often it cries wolf. So we measure that, and show the numbers.

Numbers you can reproduce View source
Show the numbers

Our promises

What we detect

Fish Catcher combines eight families of signal, all in plain terms.

Measuring false positives

A false positive is a warning on a site that is fine. The ones that matter are the loud ones, high and critical, so those are what we count.

We run the address-only part of the engine over the Majestic Million, a public list of the most-linked sites, and count how many good ones it warns about. The rate is the high and critical warnings divided by the total scanned.

Reproduce it

The audit prints every site it flagged, so you can check the number yourself:

node scripts/fp-audit.mjs

Add --selftest to check the harness on a small built-in set, --limit N to scan fewer domains, or --cache to reuse an already-downloaded corpus.

Latest result

Latest run, 2026-08-11, over 100,000 legitimate sites:

MeasureValue
Warnings at high5
Warnings at critical0
Rate0.005% (5 in 100,000)

The five were all very short, digit-heavy names on high-abuse endings, like hy315.cc.

For the full method, the exact command, the list of flagged domains and the run-by-run history, see the false-positive benchmark.

Report a mistake

If Fish Catcher warns about a good site, or misses a bad one, open an issue. Real examples make the lists and the model better for everyone.