Skip to content

Commit 32fc0f9

Browse files
committed
docs: move verification details to dedicated reference page
The installation page was bloated with 55 lines of SLSA/SHA256 verification details before users could see agent setup instructions. Moved to /docs/reference/verifying-your-install/ with a one-line link. For provenance purposes, this commit was AI assisted.
1 parent ed540dd commit 32fc0f9

2 files changed

Lines changed: 74 additions & 54 deletions

File tree

apps/marketing/src/content/docs/getting-started/installation.md

Lines changed: 1 addition & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -51,60 +51,7 @@ Version pinning is fully supported from **v0.17.2 onwards**. v0.17.2 is the firs
5151

5252
</details>
5353

54-
### Verifying your install
55-
56-
Every released binary is accompanied by a SHA256 sidecar (verified automatically on every install) and a [SLSA build provenance](https://slsa.dev/) attestation signed via Sigstore and recorded in the public transparency log. The SHA256 check is mandatory and always runs. Provenance verification is **optional** — it's only needed if you want a cryptographic link from the binary back to the exact commit and workflow run that built it.
57-
58-
**Manual verification (recommended for one-off audits):**
59-
60-
This requires the [GitHub CLI](https://cli.github.com) to be installed and authenticated (`gh auth login`). Replace `vX.Y.Z` with the tag of the version you installed — pinning the source ref and signer workflow is what gives you the "exact commit and workflow run" guarantee described above; `--repo` alone only proves the artifact was built by _some_ workflow in our repository.
61-
62-
```bash
63-
# macOS / Linux
64-
gh attestation verify ~/.local/bin/plannotator \
65-
--repo backnotprop/plannotator \
66-
--source-ref refs/tags/vX.Y.Z \
67-
--signer-workflow backnotprop/plannotator/.github/workflows/release.yml
68-
69-
# Windows (PowerShell installer)
70-
gh attestation verify "$env:LOCALAPPDATA\plannotator\plannotator.exe" `
71-
--repo backnotprop/plannotator `
72-
--source-ref refs/tags/vX.Y.Z `
73-
--signer-workflow backnotprop/plannotator/.github/workflows/release.yml
74-
75-
# Windows (cmd installer)
76-
gh attestation verify "%USERPROFILE%\.local\bin\plannotator.exe" ^
77-
--repo backnotprop/plannotator ^
78-
--source-ref refs/tags/vX.Y.Z ^
79-
--signer-workflow backnotprop/plannotator/.github/workflows/release.yml
80-
```
81-
82-
For air-gapped or no-auth environments, see GitHub's docs on [verifying attestations offline](https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/verifying-attestations-offline) (uses `gh attestation download` to fetch the bundle once, then verifies offline against it).
83-
84-
**Automatic verification during install/upgrade (opt-in):**
85-
86-
Provenance verification is **off by default** in the installer — the same default every major `curl | bash` installer uses (rustup, brew, bun, deno, helm). SHA256 verification always runs. To have the installer additionally run `gh attestation verify` on every upgrade, enable it via any of the three mechanisms below. Precedence is CLI flag > env var > config file > default.
87-
88-
1. **Per-install flag** (one-shot, explicit):
89-
```bash
90-
curl -fsSL https://plannotator.ai/install.sh | bash -s -- --verify-attestation
91-
```
92-
PowerShell: `... -VerifyAttestation`. Windows cmd: `install.cmd --verify-attestation`.
93-
94-
2. **Environment variable** (persist in your shell RC):
95-
```bash
96-
export PLANNOTATOR_VERIFY_ATTESTATION=1
97-
```
98-
Scoped to whichever shell sessions export it. Follows the same `PLANNOTATOR_*` convention as `PLANNOTATOR_REMOTE`, `PLANNOTATOR_PORT`, etc.
99-
100-
3. **Config file** (persist shell-agnostic):
101-
```bash
102-
mkdir -p ~/.plannotator
103-
echo '{ "verifyAttestation": true }' > ~/.plannotator/config.json
104-
```
105-
Or merge into an existing `~/.plannotator/config.json`. This applies regardless of which shell launches the installer — useful for GUI-launched terminals on macOS or `install.cmd` run from Explorer on Windows. Managed easily by dotfiles / Ansible / other provisioning tools.
106-
107-
When enabled, the installer requires `gh` CLI installed and authenticated (`gh auth login`). If `gh` is missing or the check fails, the install hard-fails so you don't silently skip verification you asked for. To force-skip for a single install, pass `--skip-attestation` (bash/cmd) or `-SkipAttestation` (PowerShell).
54+
Every release includes SHA256 checksums (verified automatically) and optional [SLSA build provenance](/docs/reference/verifying-your-install/) attestations.
10855

10956
## Claude Code
11057

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
title: "Verifying Your Install"
3+
description: "SHA256 checksums and SLSA build provenance verification for Plannotator binaries."
4+
sidebar:
5+
order: 4
6+
section: "Reference"
7+
---
8+
9+
Every released binary is accompanied by a SHA256 sidecar (verified automatically on every install) and a [SLSA build provenance](https://slsa.dev/) attestation signed via Sigstore and recorded in the public transparency log. The SHA256 check is mandatory and always runs. Provenance verification is **optional** — it's only needed if you want a cryptographic link from the binary back to the exact commit and workflow run that built it.
10+
11+
## Manual verification
12+
13+
Recommended for one-off audits. Requires the [GitHub CLI](https://cli.github.com) installed and authenticated (`gh auth login`). Replace `vX.Y.Z` with the tag of the version you installed — pinning the source ref and signer workflow gives you the "exact commit and workflow run" guarantee; `--repo` alone only proves the artifact was built by _some_ workflow in our repository.
14+
15+
**macOS / Linux:**
16+
17+
```bash
18+
gh attestation verify ~/.local/bin/plannotator \
19+
--repo backnotprop/plannotator \
20+
--source-ref refs/tags/vX.Y.Z \
21+
--signer-workflow backnotprop/plannotator/.github/workflows/release.yml
22+
```
23+
24+
**Windows (PowerShell installer):**
25+
26+
```powershell
27+
gh attestation verify "$env:LOCALAPPDATA\plannotator\plannotator.exe" `
28+
--repo backnotprop/plannotator `
29+
--source-ref refs/tags/vX.Y.Z `
30+
--signer-workflow backnotprop/plannotator/.github/workflows/release.yml
31+
```
32+
33+
**Windows (CMD installer):**
34+
35+
```cmd
36+
gh attestation verify "%USERPROFILE%\.local\bin\plannotator.exe" ^
37+
--repo backnotprop/plannotator ^
38+
--source-ref refs/tags/vX.Y.Z ^
39+
--signer-workflow backnotprop/plannotator/.github/workflows/release.yml
40+
```
41+
42+
For air-gapped or no-auth environments, see GitHub's docs on [verifying attestations offline](https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/verifying-attestations-offline).
43+
44+
## Automatic verification during install
45+
46+
Provenance verification is **off by default** — the same default every major `curl | bash` installer uses (rustup, brew, bun, deno, helm). To have the installer additionally run `gh attestation verify` on every upgrade, enable it via any of the three mechanisms below. Precedence is CLI flag > env var > config file > default.
47+
48+
**1. Per-install flag** (one-shot):
49+
50+
```bash
51+
curl -fsSL https://plannotator.ai/install.sh | bash -s -- --verify-attestation
52+
```
53+
54+
PowerShell: `... -VerifyAttestation`. Windows CMD: `install.cmd --verify-attestation`.
55+
56+
**2. Environment variable** (persist in your shell RC):
57+
58+
```bash
59+
export PLANNOTATOR_VERIFY_ATTESTATION=1
60+
```
61+
62+
**3. Config file** (persist shell-agnostic):
63+
64+
```bash
65+
mkdir -p ~/.plannotator
66+
echo '{ "verifyAttestation": true }' > ~/.plannotator/config.json
67+
```
68+
69+
When enabled, the installer requires `gh` CLI installed and authenticated (`gh auth login`). If `gh` is missing or the check fails, the install hard-fails so you don't silently skip verification. To force-skip for a single install, pass `--skip-attestation` (bash/cmd) or `-SkipAttestation` (PowerShell).
70+
71+
## Supported versions
72+
73+
Version pinning and provenance verification are fully supported from **v0.17.2 onwards** — the first release to ship native ARM64 Windows binaries and SLSA attestations. Pinning to a pre-v0.17.2 tag may work for default installs on macOS, Linux, and x64 Windows, but ARM64 Windows hosts will get a 404 and provenance verification will be rejected by the installer's pre-flight check.

0 commit comments

Comments
 (0)