<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "Tor",
  "identifier" : "/documentation/Tor/TorEvent/bootstrap(progress:tag:summary:)",
  "metadataVersion" : "0.1.0",
  "role" : "Case",
  "symbol" : {
    "kind" : "Case",
    "modules" : [
      "Tor"
    ],
    "preciseIdentifier" : "s:3Tor0A5EventO9bootstrapyACSi_S2StcACmF"
  },
  "title" : "TorEvent.bootstrap(progress:tag:summary:)"
}
-->

# TorEvent.bootstrap(progress:tag:summary:)

Bootstrap progress update derived from Tor’s
`status/bootstrap-phase` GETINFO key.

```
case bootstrap(progress: Int, tag: String, summary: String)
```

## Parameters

`progress`

Percentage complete, 0–100 inclusive.

`tag`

Machine-readable phase tag per control-spec.txt §4.1.11
(`BOOTSTRAP` event) suitable for state-machine key selection.

`summary`

Human-readable phase description (localised by Tor).

## Discussion

Emitted as Tor advances through guard selection, consensus
download, and circuit build. `progress` is monotonic — callers
can safely replace prior progress in a UI without reconciling
ordering. Typical phases cited by `tag`: `starting`, `conn_dir`,
`handshake_dir`, `onehop_create`, `loading_status`, `done`.