Swarm Lens Model Log
Swarm Lens · Junction 2026

Swarm Lens Model Log

Swarm Lens finds groups of accounts that act together to push a message, flags automated accounts, and explains why. This page tracks how accurate it is, where it fails, and what changed in each version. All numbers are measured on accounts the models never saw during training.

Current version v0.5Updated 2026-11-14API docsRaw metrics (JSON)

Current numbers

“False alarms” is the share of real people wrongly flagged. Thresholds are set to keep it low, so we accept missing some bots.

DetectorCaughtFalse alarmsNotes
Bot detection, with profile dataIs this account automated?99.2% of bots caught2.4%ROC-AUC 0.998. At a realistic 10% bot share, 82% of flags are right.
Bot detection, posts onlySame, without profile data94.9% of bots caught1.2%Misses one bot family it has never seen (0%); the swarm detector catches that family.
Swarm detectionAre these accounts run together?83.4% of campaign accounts found0.3%Precision 99.0%. Invented 0 swarms in 1,500 real accounts.
Propaganda languageDoes this post use propaganda language?35% of propaganda sentences found8.7%Weak baseline (ROC-AUC 0.75). Context only; never flags an account by itself.

Red team: catching campaigns written by Nemotron

Nemotron 3.5 Super VL plays the attacker. It writes campaigns for invented products, people and places at four difficulty levels; a script turns them into accounts and posting schedules. Six campaigns are used for training, four are held out. The chart shows the share of held-out campaign accounts placed in a swarm, among 150 real accounts per test batch.

Before red teamAfter round 1
Copy-paste
Before red team
Before red team: 100.0%
100%
After round 1
After round 1: 100.0%
100%
Light rewording
Before red team
Before red team: 100.0%
100%
After round 1
After round 1: 100.0%
100%
Personas
Before red team
Before red team: 0.0%
0%
After round 1
After round 1: 98.8%
99%
Hidden among real posts
Before red team
Before red team: 0.0%
0%
After round 1
After round 1: 88.8%
89%
LevelCaught beforeCaught afterReal people flagged beforeafter
Copy-paste100%100%1.3%1.3%
Light rewording100%100%1.2%1.2%
Personas0%99%0.8%2.5%
Hidden among real posts0%89%0.8%2.5%

The cost: at the hardest level a few real people get pulled into swarms. They are marked “needs review”, never “coordinated inauthentic”, but the share of real people flagged in these batches went up.

Nemotron as validator

Nemotron 3.5 Super VL reviews each flagged swarm and answers coordinated, organic or unclear, names the techniques with quotes, and explains its call. We tested it on 19 groups with known answers: 12 real or synthetic campaigns and 7 groups of real people who only look alike (same viral repost, same hashtag, random).

PromptCampaigns called coordinatedReal-people groups called coordinatedUnclearQuotes kept / droppedMedian timeFailed calls
Prompt v133%0%16%17 / 312.0 s0
Prompt v233%0%21%14 / 011.9 s0

Answers by group type (prompt v1)

GroupTruthCoordinatedOrganicUnclear
nemotron campaign blackoutcoordinated100
nemotron campaign dsa12coordinated100
nemotron campaign lumocoordinated010
nemotron campaign starforgecoordinated100
organic random peopleorganic020
organic same hashtagorganic030
organic same viral repostorganic020
real campaign social spambots 1coordinated011
real campaign social spambots 2coordinated020
real campaign social spambots 3coordinated011
real campaign traditional spambots 1coordinated101

Does the second opinion change the outcome?

PolicyCampaigns flaggedReal-people groups flagged
Swarm model alone50%0%
Swarm model, unless Nemotron (prompt v1) says organic33%0%
Swarm model or Nemotron (prompt v1) says coordinated67%0%
Example answer · real campaign traditional spambots 1 · confidence 0.85

Several accounts posted the exact same messages promising thousands of followers within hours and included spam links. This kind of verbatim repetition across different users is not typical of normal fans or news sharing. It indicates the accounts are working together to spread spam.

  • false urgency “CONSEGUIR 50.000 SEGUIDORES EM POUCAS HORAS”
  • call to action “want alot followers a day use”

Catching kinds of bots the model has never seen

We train without one bot family, then test on it. This is the closest we can get to “a new bot operation shows up”.

Held-out familyBot model (with profile)Swarm model
fake followers98%–
social spambots 199%98%
social spambots 299%97%
social spambots 394%89%
traditional spambots 1100%30%

Version history

Known limitations

How we measure