# How a conspiracy theory spreads

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0kpfdn000rjn063ndyg5hi
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 24 steps across 3 layers
- Persona: A storyteller, An online community, Fact-checkers, You
- Technology / systems: A real event, Recommendation systems

## Pain points

Where this process hurts, worst first:

- **The official explanation feels slow or incomplete** (How a conspiracy theory spreads; painful): Uncertainty hurts, and people want a story that makes sense

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## How a conspiracy theory spreads

Lanes:
- A real event: technology / system (id `event`)
- A storyteller: person / role (id `narrator`)
- An online community: person / role (id `comm`)
- Recommendation systems: technology / system (id `algo`)
- Fact-checkers: person / role (id `check`)
- You: person / role (id `you`)

Steps, in the order they run:

1. **Something big and confusing happens** [start; A real event; id `c1`]
   - then The official explanation feels slow or incomplete
2. **The official explanation feels slow or incomplete** [task; You; id `c2`] ⚠ PAIN POINT (painful): Uncertainty hurts, and people want a story that makes sense
   - then Someone offers a simple story with a villain
3. **Someone offers a simple story with a villain** [task; A storyteller; id `c3`]
   - then The story spreads in a close community
4. **The story spreads in a close community** [subprocess; An online community; id `c4`], opens the detail layer "Why it spreads in groups"
   - then Similar content gets recommended
5. **Similar content gets recommended** [task; Recommendation systems; id `c5`]
   - then You see it from several "different" sources
6. **You see it from several "different" sources** [task; You; id `c6`]
   - then Do you check where they got it?
7. **Do you check where they got it?** [decision; You; id `c7`]
   - if "Yes" go to Trace the claim to its first source and compare it to evidence; if "No" go to Repetition makes it feel true
8. **Trace the claim to its first source and compare it to evidence** [subprocess; Fact-checkers; id `c8`], opens the detail layer "How a fact-check works"
   - then Does the evidence change your mind?
9. **Does the evidence change your mind?** [decision; You; id `c10`]
   - if "Yes" go to You update your view; if "No" go to Doubters are called naive and believers bond tighter
10. **You update your view** [end; You; id `c12`]
11. **Doubters are called naive and believers bond tighter** [task; An online community; id `c11`]
   - then Every new fact gets absorbed as more proof, until attention moves on
12. **Every new fact gets absorbed as more proof, until attention moves on** [end; A storyteller; id `c13`]
13. **Repetition makes it feel true** [task; You; id `c9`]
   - then Doubters are called naive and believers bond tighter

```mermaid
flowchart LR
  subgraph l_event["A real event"]
    n_c1(["Something big and confusing happens"])
  end
  subgraph l_narrator["A storyteller"]
    n_c3["Someone offers a simple story with a villain"]
    n_c13(["Every new fact gets absorbed as more proof, until attention moves on"])
  end
  subgraph l_comm["An online community"]
    n_c4[["The story spreads in a close community"]]
    n_c11["Doubters are called naive and believers bond tighter"]
  end
  subgraph l_algo["Recommendation systems"]
    n_c5["Similar content gets recommended"]
  end
  subgraph l_check["Fact-checkers"]
    n_c8[["Trace the claim to its first source and compare it to evidence"]]
  end
  subgraph l_you["You"]
    n_c2["The official explanation feels slow or incomplete"]
    n_c6["You see it from several 'different' sources"]
    n_c7{"Do you check where they got it?"}
    n_c9["Repetition makes it feel true"]
    n_c10{"Does the evidence change your mind?"}
    n_c12(["You update your view"])
  end
  n_c1 --> n_c2
  n_c2 --> n_c3
  n_c3 --> n_c4
  n_c4 --> n_c5
  n_c5 --> n_c6
  n_c6 --> n_c7
  n_c7 -->|"Yes"| n_c8
  n_c7 -->|"No"| n_c9
  n_c8 --> n_c10
  n_c9 --> n_c11
  n_c10 -->|"Yes"| n_c12
  n_c10 -->|"No"| n_c11
  n_c11 --> n_c13
```

### How a fact-check works (detail of step "Trace the claim to its first source and compare it to evidence")

Lanes:
- Fact-checkers: person / role (id `check`)
- You: person / role (id `you`)

Steps, in the order they run:

1. **Trace the claim to its first source** [start; Fact-checkers; id `d1`]
   - then Does the source exist?
2. **Does the source exist?** [decision; Fact-checkers; id `d2`]
   - if "Yes" go to Compare what it actually says; if "No" go to Label the claim unsupported
3. **Compare what it actually says** [task; Fact-checkers; id `d3`]
   - then Publish a clear, kind explanation
4. **Publish a clear, kind explanation** [task; Fact-checkers; id `d5`]
   - then Corrections work best from someone you already trust
5. **Corrections work best from someone you already trust** [end; You; id `d6`]
6. **Label the claim unsupported** [task; Fact-checkers; id `d4`]
   - then Publish a clear, kind explanation

```mermaid
flowchart LR
  subgraph l_check["Fact-checkers"]
    n_d1(["Trace the claim to its first source"])
    n_d2{"Does the source exist?"}
    n_d3["Compare what it actually says"]
    n_d4["Label the claim unsupported"]
    n_d5["Publish a clear, kind explanation"]
  end
  subgraph l_you["You"]
    n_d6(["Corrections work best from someone you already trust"])
  end
  n_d1 --> n_d2
  n_d2 -->|"Yes"| n_d3
  n_d2 -->|"No"| n_d4
  n_d3 --> n_d5
  n_d4 --> n_d5
  n_d5 --> n_d6
```

### Why it spreads in groups (detail of step "The story spreads in a close community")

Lanes:
- A storyteller: person / role (id `narrator`)
- An online community: person / role (id `comm`)

Steps, in the order they run:

1. **Post it where people already distrust the institution** [start; A storyteller; id `s1`]
   - then Do members share it?
2. **Do members share it?** [decision; An online community; id `s2`]
   - if "Yes" go to Social proof: so many people cannot be wrong; if "No" go to Reword it to be more shareable
3. **Social proof: so many people cannot be wrong** [task; An online community; id `s3`]
   - then A group identity forms around believing it
4. **A group identity forms around believing it** [end; An online community; id `s4`]
5. **Reword it to be more shareable** [task; A storyteller; id `s2a`]
   - then Do members share it?

```mermaid
flowchart LR
  subgraph l_narrator["A storyteller"]
    n_s1(["Post it where people already distrust the institution"])
    n_s2a["Reword it to be more shareable"]
  end
  subgraph l_comm["An online community"]
    n_s2{"Do members share it?"}
    n_s3["Social proof: so many people cannot be wrong"]
    n_s4(["A group identity forms around believing it"])
  end
  n_s1 --> n_s2
  n_s2 -->|"Yes"| n_s3
  n_s2 -->|"No"| n_s2a
  n_s2a --> n_s2
  n_s3 --> n_s4
```

## Full data (JSON)

```json
{
  "title": "How a conspiracy theory spreads",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "event",
          "name": "A real event",
          "type": "system"
        },
        {
          "id": "narrator",
          "name": "A storyteller",
          "type": "person"
        },
        {
          "id": "comm",
          "name": "An online community",
          "type": "person"
        },
        {
          "id": "algo",
          "name": "Recommendation systems",
          "type": "system"
        },
        {
          "id": "check",
          "name": "Fact-checkers",
          "type": "person"
        },
        {
          "id": "you",
          "name": "You",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "c1",
          "kind": "start",
          "lane": "event",
          "next": [
            {
              "to": "c2"
            }
          ],
          "uses": [],
          "label": "Something big and confusing happens"
        },
        {
          "id": "c2",
          "kind": "task",
          "lane": "you",
          "next": [
            {
              "to": "c3"
            }
          ],
          "pain": {
            "note": "Uncertainty hurts, and people want a story that makes sense",
            "level": 2
          },
          "uses": [],
          "label": "The official explanation feels slow or incomplete"
        },
        {
          "id": "c3",
          "kind": "task",
          "lane": "narrator",
          "next": [
            {
              "to": "c4"
            }
          ],
          "uses": [],
          "label": "Someone offers a simple story with a villain"
        },
        {
          "id": "c4",
          "kind": "subprocess",
          "lane": "comm",
          "next": [
            {
              "to": "c5"
            }
          ],
          "uses": [],
          "child": "m_social",
          "label": "The story spreads in a close community"
        },
        {
          "id": "c5",
          "kind": "task",
          "lane": "algo",
          "next": [
            {
              "to": "c6"
            }
          ],
          "uses": [],
          "label": "Similar content gets recommended"
        },
        {
          "id": "c6",
          "kind": "task",
          "lane": "you",
          "next": [
            {
              "to": "c7"
            }
          ],
          "uses": [],
          "label": "You see it from several \"different\" sources"
        },
        {
          "id": "c7",
          "kind": "decision",
          "lane": "you",
          "next": [
            {
              "to": "c8",
              "label": "Yes"
            },
            {
              "to": "c9",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Do you check where they got it?"
        },
        {
          "id": "c8",
          "kind": "subprocess",
          "lane": "check",
          "next": [
            {
              "to": "c10"
            }
          ],
          "uses": [],
          "child": "m_debunk",
          "label": "Trace the claim to its first source and compare it to evidence"
        },
        {
          "id": "c9",
          "kind": "task",
          "lane": "you",
          "next": [
            {
              "to": "c11"
            }
          ],
          "uses": [],
          "label": "Repetition makes it feel true"
        },
        {
          "id": "c10",
          "kind": "decision",
          "lane": "you",
          "next": [
            {
              "to": "c12",
              "label": "Yes"
            },
            {
              "to": "c11",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Does the evidence change your mind?"
        },
        {
          "id": "c11",
          "kind": "task",
          "lane": "comm",
          "next": [
            {
              "to": "c13"
            }
          ],
          "uses": [],
          "label": "Doubters are called naive and believers bond tighter"
        },
        {
          "id": "c12",
          "kind": "end",
          "lane": "you",
          "next": [],
          "uses": [],
          "label": "You update your view"
        },
        {
          "id": "c13",
          "kind": "end",
          "lane": "narrator",
          "next": [],
          "uses": [],
          "label": "Every new fact gets absorbed as more proof, until attention moves on"
        }
      ],
      "title": "How a conspiracy theory spreads",
      "parent": null
    },
    "m_debunk": {
      "id": "m_debunk",
      "lanes": [
        {
          "id": "check",
          "name": "Fact-checkers",
          "type": "person"
        },
        {
          "id": "you",
          "name": "You",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "d1",
          "kind": "start",
          "lane": "check",
          "next": [
            {
              "to": "d2"
            }
          ],
          "uses": [],
          "label": "Trace the claim to its first source"
        },
        {
          "id": "d2",
          "kind": "decision",
          "lane": "check",
          "next": [
            {
              "to": "d3",
              "label": "Yes"
            },
            {
              "to": "d4",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Does the source exist?"
        },
        {
          "id": "d3",
          "kind": "task",
          "lane": "check",
          "next": [
            {
              "to": "d5"
            }
          ],
          "uses": [],
          "label": "Compare what it actually says"
        },
        {
          "id": "d4",
          "kind": "task",
          "lane": "check",
          "next": [
            {
              "to": "d5"
            }
          ],
          "uses": [],
          "label": "Label the claim unsupported"
        },
        {
          "id": "d5",
          "kind": "task",
          "lane": "check",
          "next": [
            {
              "to": "d6"
            }
          ],
          "uses": [],
          "label": "Publish a clear, kind explanation"
        },
        {
          "id": "d6",
          "kind": "end",
          "lane": "you",
          "next": [],
          "uses": [],
          "label": "Corrections work best from someone you already trust"
        }
      ],
      "title": "How a fact-check works",
      "parent": {
        "map": "m_root",
        "step": "c8"
      }
    },
    "m_social": {
      "id": "m_social",
      "lanes": [
        {
          "id": "narrator",
          "name": "A storyteller",
          "type": "person"
        },
        {
          "id": "comm",
          "name": "An online community",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "s1",
          "kind": "start",
          "lane": "narrator",
          "next": [
            {
              "to": "s2"
            }
          ],
          "uses": [],
          "label": "Post it where people already distrust the institution"
        },
        {
          "id": "s2",
          "kind": "decision",
          "lane": "comm",
          "next": [
            {
              "to": "s3",
              "label": "Yes"
            },
            {
              "to": "s2a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Do members share it?"
        },
        {
          "id": "s2a",
          "kind": "task",
          "lane": "narrator",
          "next": [
            {
              "to": "s2"
            }
          ],
          "uses": [],
          "label": "Reword it to be more shareable"
        },
        {
          "id": "s3",
          "kind": "task",
          "lane": "comm",
          "next": [
            {
              "to": "s4"
            }
          ],
          "uses": [],
          "label": "Social proof: so many people cannot be wrong"
        },
        {
          "id": "s4",
          "kind": "end",
          "lane": "comm",
          "next": [],
          "uses": [],
          "label": "A group identity forms around believing it"
        }
      ],
      "title": "Why it spreads in groups",
      "parent": {
        "map": "m_root",
        "step": "c4"
      }
    }
  }
}
```
