# A safe day online, from search to sign-in

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv21yeat002uif06boo86qiu
> 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

- 8 steps across 1 layer
- Persona: You, Attacker, The website

## 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`.

## A safe day online, from search to sign-in

Lanes:
- You: person / role (id `you`)
- Attacker: person / role (id `attacker`)
- The website: person / role (id `service`)

Steps, in the order they run:

1. **Search for what you need** [subprocess; You; id `o1`], links to the published process "How a Google search finds and ranks an answer" (https://forks.world/p/cmv21nslz001vl206s8l1hj9t; full text at https://forks.world/api/public/cmv21nslz001vl206s8l1hj9t/export)
   - then Connect through a VPN on public wifi
2. **Connect through a VPN on public wifi** [subprocess; You; id `o2`], links to the published process "How a VPN hides what you do online" (https://forks.world/p/cmv21nqe7001bl2062w2cwt94; full text at https://forks.world/api/public/cmv21nqe7001bl2062w2cwt94/export)
   - then Sign in with a passkey instead of a password
3. **Sign in with a passkey instead of a password** [subprocess; The website; id `o3`], links to the published process "How passkeys replace passwords" (https://forks.world/p/cmv21nqyx001gl206hj3qtohb; full text at https://forks.world/api/public/cmv21nqyx001gl206hj3qtohb/export)
   - then Does a phishing email arrive?
4. **Does a phishing email arrive?** [decision; Attacker; id `o4`]
   - if "Yes" go to Do not click, report it; if "No" go to Browse safely
5. **Do not click, report it** [task; You; id `o5`]
   - then If someone does click, ransomware can follow
6. **If someone does click, ransomware can follow** [subprocess; Attacker; id `o6`], links to the published process "How a ransomware attack unfolds" (https://forks.world/p/cmv21nrje001ll2064f1dce3z; full text at https://forks.world/api/public/cmv21nrje001ll2064f1dce3z/export)
   - then If the site is breached, your passkey cannot be reused elsewhere
7. **If the site is breached, your passkey cannot be reused elsewhere** [subprocess; The website; id `o8`], links to the published process "How a data breach happens" (https://forks.world/p/cmv0kpyxo0013jv06kwcl1g5d; full text at https://forks.world/api/public/cmv0kpyxo0013jv06kwcl1g5d/export)
   - (no next step recorded)
8. **Browse safely** [task; You; id `o7`]
   - then If the site is breached, your passkey cannot be reused elsewhere

```mermaid
flowchart LR
  subgraph l_you["You"]
    n_o1[["Search for what you need"]]
    n_o2[["Connect through a VPN on public wifi"]]
    n_o5["Do not click, report it"]
    n_o7["Browse safely"]
  end
  subgraph l_attacker["Attacker"]
    n_o4{"Does a phishing email arrive?"}
    n_o6[["If someone does click, ransomware can follow"]]
  end
  subgraph l_service["The website"]
    n_o3[["Sign in with a passkey instead of a password"]]
    n_o8[["If the site is breached, your passkey cannot be reused elsewhere"]]
  end
  n_o1 --> n_o2
  n_o2 --> n_o3
  n_o3 --> n_o4
  n_o4 -->|"Yes"| n_o5
  n_o4 -->|"No"| n_o7
  n_o5 --> n_o6
  n_o6 --> n_o8
  n_o7 --> n_o8
```

## Full data (JSON)

```json
{
  "title": "A safe day online, from search to sign-in",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "you",
          "name": "You",
          "type": "person"
        },
        {
          "id": "attacker",
          "name": "Attacker",
          "type": "person"
        },
        {
          "id": "service",
          "name": "The website",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "o1",
          "kind": "subprocess",
          "lane": "you",
          "link": {
            "id": "cmv21nslz001vl206s8l1hj9t",
            "scope": "public",
            "title": "How a Google search finds and ranks an answer"
          },
          "next": [
            {
              "to": "o2"
            }
          ],
          "uses": [],
          "label": "Search for what you need"
        },
        {
          "id": "o2",
          "kind": "subprocess",
          "lane": "you",
          "link": {
            "id": "cmv21nqe7001bl2062w2cwt94",
            "scope": "public",
            "title": "How a VPN hides what you do online"
          },
          "next": [
            {
              "to": "o3"
            }
          ],
          "uses": [],
          "label": "Connect through a VPN on public wifi"
        },
        {
          "id": "o3",
          "kind": "subprocess",
          "lane": "service",
          "link": {
            "id": "cmv21nqyx001gl206hj3qtohb",
            "scope": "public",
            "title": "How passkeys replace passwords"
          },
          "next": [
            {
              "to": "o4"
            }
          ],
          "uses": [],
          "label": "Sign in with a passkey instead of a password"
        },
        {
          "id": "o4",
          "kind": "decision",
          "lane": "attacker",
          "next": [
            {
              "to": "o5",
              "label": "Yes"
            },
            {
              "to": "o7",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Does a phishing email arrive?"
        },
        {
          "id": "o5",
          "kind": "task",
          "lane": "you",
          "next": [
            {
              "to": "o6"
            }
          ],
          "uses": [],
          "label": "Do not click, report it"
        },
        {
          "id": "o6",
          "kind": "subprocess",
          "lane": "attacker",
          "link": {
            "id": "cmv21nrje001ll2064f1dce3z",
            "scope": "public",
            "title": "How a ransomware attack unfolds"
          },
          "next": [
            {
              "to": "o8"
            }
          ],
          "uses": [],
          "label": "If someone does click, ransomware can follow"
        },
        {
          "id": "o7",
          "kind": "task",
          "lane": "you",
          "next": [
            {
              "to": "o8"
            }
          ],
          "uses": [],
          "label": "Browse safely"
        },
        {
          "id": "o8",
          "kind": "subprocess",
          "lane": "service",
          "link": {
            "id": "cmv0kpyxo0013jv06kwcl1g5d",
            "scope": "public",
            "title": "How a data breach happens"
          },
          "next": [],
          "uses": [],
          "label": "If the site is breached, your passkey cannot be reused elsewhere"
        }
      ],
      "title": "A safe day online, from search to sign-in",
      "parent": null
    }
  }
}
```
