Skip to content

Commit 57dc66a

Browse files
s-stumboclaude
andcommitted
Simplify libraries permission notes and place after command
Reword the update-hashes and verify permission notes to name only the pull permission or the Owner role, dropping the entitlement mention, and move each note to immediately after the command code block. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 2f826ed commit 57dc66a

10 files changed

Lines changed: 36 additions & 37 deletions

File tree

content/chainguard/libraries/java/build-configuration.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ linktitle: "Build configuration"
44
description: "Configuring Chainguard Libraries for Java on your workstation"
55
type: "article"
66
date: 2025-03-25T08:04:00+00:00
7-
lastmod: 2026-08-05T18:42:36+00:00
7+
lastmod: 2026-08-05T19:13:35+00:00
88
draft: false
99
tags: ["Chainguard Libraries", "Java"]
1010
menu:
@@ -536,13 +536,13 @@ dependency added in the example project can be found at:
536536

537537
To verify the artifact was built by Chainguard, use `chainctl`:
538538

539-
> **Note**: Running `chainctl libraries verify` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for Java and the `libraries.java.pull` permission.
540-
541539
```bash
542540
chainctl libraries verify \
543541
~/.m2/repository/com/google/guava/guava/33.4.0-jre/guava-33.4.0-jre.jar
544542
```
545543

544+
> **Note**: Running `chainctl libraries verify` requires the `libraries.java.pull` permission or the Owner role.
545+
546546
A successfully verified artifact produces output similar to the following:
547547

548548
```bash
@@ -781,12 +781,12 @@ find ~/.gradle/caches/modules-2/files-2.1/com.google.guava/guava -name "*.jar" |
781781

782782
Then copy the exact path to the jar and verify it with `chainctl`:
783783

784-
> **Note**: Running `chainctl libraries verify` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for Java and the `libraries.java.pull` permission.
785-
786784
```bash
787785
chainctl libraries verify --parent your-org /full/path/to/guava-<version>.jar
788786
```
789787

788+
> **Note**: Running `chainctl libraries verify` requires the `libraries.java.pull` permission or the Owner role.
789+
790790
A successfully verified artifact produces output similar to the following:
791791

792792
```bash

content/chainguard/libraries/java/migration.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ type: "article"
44
linktitle: "Migrate to Chainguard"
55
description: "How to migrate an existing Java project to pull dependencies from Chainguard Libraries"
66
date: 2026-07-02T00:00:00+00:00
7-
lastmod: 2026-08-05T18:42:36+00:00
7+
lastmod: 2026-08-05T19:13:35+00:00
88
tags: ["Chainguard Libraries", "Java"]
99
menu:
1010
docs:
@@ -505,8 +505,6 @@ If all artifacts download from Central, your credentials may be invalid or expir
505505

506506
To check whether a specific artifact was built by Chainguard, use `chainctl libraries verify /full/path/to/artifact.jar`. Verify artifacts immediately after a clean build, before any repackaging.
507507

508-
> **Note**: Running `chainctl libraries verify` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for Java and the `libraries.java.pull` permission.
509-
510508
When upstream fallback is enabled, [packages that aren't built by Chainguard] are subject to Chainguard's security controls.
511509

512510
{{< tabs >}}
@@ -588,6 +586,8 @@ chainctl libraries verify ~/Library/Caches/bazel/_bazel_example/c22a55500...f423
588586

589587
{{< /tabs >}}
590588

589+
> **Note**: Running `chainctl libraries verify` requires the `libraries.java.pull` permission or the Owner role.
590+
591591
A successful result shows what percentage of your project's dependencies were built by Chainguard:
592592

593593
```bash

content/chainguard/libraries/javascript/build-configuration.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ linktitle: "Build configuration"
44
description: "Configuring Chainguard Libraries for JavaScript on your workstation"
55
type: "article"
66
date: 2025-06-05T09:00:00+00:00
7-
lastmod: 2026-08-05T18:42:36+00:00
7+
lastmod: 2026-08-05T19:13:35+00:00
88
draft: false
99
tags: ["Chainguard Libraries", "JavaScript"]
1010
menu:
@@ -84,7 +84,7 @@ Learn more in the [JavaScript migration guide](/chainguard/libraries/javascript/
8484
`update-hashes` fetches checksums from Chainguard Libraries,
8585
which requires authentication. Where it fetches from depends on your environment: some setups authenticate directly to `libraries.cgr.dev`, but if your build routes through a repository manager configured as a pull-through proxy for Chainguard Libraries, point `update-hashes` there instead with `--registry-url` so it validates against the same source your build used.
8686

87-
> **Note**: Running `chainctl libraries update-hashes` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for JavaScript and the `libraries.javascript.pull` permission.
87+
> **Note**: Running `chainctl libraries update-hashes` requires the `libraries.javascript.pull` permission or the Owner role.
8888
8989
Authenticating to `libraries.cgr.dev` directly:
9090

content/chainguard/libraries/javascript/global-configuration.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ linktitle: "Global configuration"
44
description: "Configuring Chainguard Libraries for JavaScript in your organization"
55
type: "article"
66
date: 2025-06-05T09:00:00+00:00
7-
lastmod: 2026-08-05T18:42:36+00:00
7+
lastmod: 2026-08-05T19:13:35+00:00
88
draft: false
99
tags: ["Chainguard Libraries", "JavaScript"]
1010
images: []
@@ -72,8 +72,6 @@ this page follow this pattern.
7272
If you are migrating an existing JavaScript project to Chainguard Libraries through a repository manager, your lockfile likely contains integrity hashes generated against packages previously downloaded from npm or through your repository manager. The [`chainctl libraries update-hashes` command](/chainguard/chainctl/chainctl-docs/chainctl_libraries_update-hashes/) automates lockfile hash updates
7373
for all supported JavaScript lockfile formats.
7474

75-
> **Note**: Running `chainctl libraries update-hashes` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for JavaScript and the `libraries.javascript.pull` permission.
76-
7775
When you are using a repository manager, pass the full repository manager URL with `--registry-url` and authenticate with one of the supported methods: `--username` and `--password`, `--token`, or a `.netrc` entry for the registry host. For example:
7876

7977
```bash
@@ -82,6 +80,8 @@ chainctl libraries update-hashes \
8280
--token "$REPO_TOKEN"
8381
```
8482

83+
> **Note**: Running `chainctl libraries update-hashes` requires the `libraries.javascript.pull` permission or the Owner role.
84+
8585
After updating the lockfile, keep your repository manager configuration in place and reinstall through the same repository manager endpoint to apply the updated hashes.
8686

8787
Learn more in the [Build configuration page](/chainguard/libraries/javascript/build-configuration/#updating-lockfile-hashes/) and in the [chainctl docs](/chainguard/chainctl/chainctl-docs/chainctl_libraries_update-hashes/).

content/chainguard/libraries/javascript/migration.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ type: "article"
44
linktitle: "Migrate to Chainguard"
55
description: "How to migrate an existing JavaScript project to pull dependencies from Chainguard Libraries"
66
date: 2026-06-01T00:00:00+00:00
7-
lastmod: 2026-08-05T18:42:36+00:00
7+
lastmod: 2026-08-05T19:13:35+00:00
88
tags: ["Chainguard Libraries", "JavaScript"]
99
menu:
1010
docs:
@@ -402,14 +402,14 @@ Chainguard's artifacts, without regenerating the lockfile from scratch. This
402402
preserves your pinned dependency versions. Supported formats include `package-lock.json` (npm v2/v3), `yarn.lock` (Yarn
403403
Classic and Berry), `pnpm-lock.yaml`, and `bun.lock`.
404404

405-
> **Note**: Running `chainctl libraries update-hashes` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for JavaScript and the `libraries.javascript.pull` permission.
406-
407405
Run the command in the directory containing the lockfile:
408406

409407
```shell
410408
chainctl libraries update-hashes
411409
```
412410

411+
> **Note**: Running `chainctl libraries update-hashes` requires the `libraries.javascript.pull` permission or the Owner role.
412+
413413
If your build tool appends the Chainguard hashes to your lock file, include the flag `--replace` to ensure the hashes are replaced with Chainguard hashes. When using a repo manager, pass the full repository URL with `--registry-url`.
414414

415415
You can also specify a lockfile path directly:
@@ -634,8 +634,6 @@ their directory structure.
634634

635635
When upstream fallback is enabled, [packages that aren't built by Chainguard](#packages-not-available-in-chainguard-libraries) are subject to Chainguard's security controls.
636636

637-
> **Note**: Running `chainctl libraries verify` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for JavaScript and the `libraries.javascript.pull` permission.
638-
639637
{{< tabs >}}
640638

641639
{{% tab title="npm" %}}
@@ -689,6 +687,8 @@ chainctl libraries verify ./node_modules
689687

690688
{{< /tabs >}}
691689

690+
> **Note**: Running `chainctl libraries verify` requires the `libraries.javascript.pull` permission or the Owner role.
691+
692692
A successful result shows what percentage of your project's dependencies were built by Chainguard. For example:
693693

694694
```

content/chainguard/libraries/python/build-configuration.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ linktitle: "Build configuration"
44
description: "Configuring Chainguard Libraries for Python on your workstation"
55
type: "article"
66
date: 2025-03-25T08:04:00+00:00
7-
lastmod: 2026-08-05T18:42:36+00:00
7+
lastmod: 2026-08-05T19:13:35+00:00
88
draft: false
99
tags: ["Chainguard Libraries", "Python"]
1010
menu:
@@ -165,14 +165,14 @@ The [`chainctl libraries update-hashes` command](/chainguard/chainctl/chainctl-d
165165

166166
Supported formats include `requirements.txt` (pip-tools `--hash` style), `poetry.lock`, `uv.lock`, `pdm.lock`, `Pipfile.lock`, and `pylock.toml`.
167167

168-
> **Note**: Running `chainctl libraries update-hashes` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for Python and the `libraries.python.pull` permission.
169-
170168
Run the command in your project directory to auto-detect the lockfile:
171169

172170
```bash
173171
chainctl libraries update-hashes
174172
```
175173

174+
> **Note**: Running `chainctl libraries update-hashes` requires the `libraries.python.pull` permission or the Owner role.
175+
176176
Or specify a lockfile path directly:
177177

178178
```bash

content/chainguard/libraries/python/global-configuration.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ linktitle: "Global configuration"
44
description: "Configuring Chainguard Libraries for Python in your organization"
55
type: "article"
66
date: 2025-03-25T08:04:00+00:00
7-
lastmod: 2026-08-05T18:42:36+00:00
7+
lastmod: 2026-08-05T19:13:35+00:00
88
draft: false
99
tags: ["Chainguard Libraries", "Python"]
1010
images: []
@@ -71,8 +71,6 @@ However, if you intentionally want to manage fallback ordering yourself, you can
7171
If you are migrating an existing Python project to Chainguard Libraries through a repository manager, your lockfile likely contains integrity hashes generated against packages previously downloaded from PyPI or through your repository manager. The [`chainctl libraries update-hashes` command](/chainguard/chainctl/chainctl-docs/chainctl_libraries_update-hashes/) automates lockfile hash updates
7272
for all supported Python lockfile formats.
7373

74-
> **Note**: Running `chainctl libraries update-hashes` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for Python and the `libraries.python.pull` permission.
75-
7674
When you are using a repository manager, pass the full repository manager URL with `--registry-url` and authenticate with one of the supported methods: `--username` and `--password`, `--token`, or a `.netrc` entry for the registry host. For example:
7775

7876
```bash
@@ -81,6 +79,8 @@ chainctl libraries update-hashes \
8179
--token "$REPO_TOKEN"
8280
```
8381

82+
> **Note**: Running `chainctl libraries update-hashes` requires the `libraries.python.pull` permission or the Owner role.
83+
8484
After updating the lockfile, keep your repository manager configuration in place and reinstall through the same repository manager endpoint to apply the updated hashes.
8585

8686
Learn more in the [Build configuration page](/chainguard/libraries/python/build-configuration/#updating-lockfile-hashes/) and in the [chainctl docs](/chainguard/chainctl/chainctl-docs/chainctl_libraries_update-hashes/).

content/chainguard/libraries/python/migration.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ type: "article"
44
linktitle: "Migrate to Chainguard"
55
description: "How to migrate an existing Python project to pull dependencies from Chainguard Libraries"
66
date: 2026-07-14T00:00:00+00:00
7-
lastmod: 2026-08-05T18:42:36+00:00
7+
lastmod: 2026-08-05T19:13:35+00:00
88
tags: ["Chainguard Libraries", "Python"]
99
menu:
1010
docs:
@@ -312,14 +312,14 @@ Your existing lockfile or hash-pinned `requirements.txt` contains checksums gene
312312

313313
Use `chainctl libraries update-hashes` to rewrite only the integrity hashes in your existing lockfile or requirements file to match Chainguard's artifacts, without re-resolving your dependency graph. Supported formats include `requirements.txt`, `poetry.lock`, `uv.lock`, `pdm.lock`, `Pipfile.lock`, and `pylock.toml`.
314314

315-
> **Note**: Running `chainctl libraries update-hashes` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for Python and the `libraries.python.pull` permission.
316-
317315
Run the following command to auto-detect and update the lockfile in the current project:
318316

319317
```bash
320318
chainctl libraries update-hashes
321319
```
322320

321+
> **Note**: Running `chainctl libraries update-hashes` requires the `libraries.python.pull` permission or the Owner role.
322+
323323
Or specify the lockfile when running the command. For example:
324324

325325
```bash
@@ -447,8 +447,6 @@ poetry install
447447

448448
After reinstalling, you can use `chainctl` to verify which dependencies are built by Chainguard. When upstream fallback is enabled, [libraries that aren't built by Chainguard](#packages-not-available-in-chainguard-libraries) are subject to Chainguard's security controls.
449449

450-
> **Note**: Running `chainctl libraries verify` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for Python and the `libraries.python.pull` permission.
451-
452450
{{< tabs >}}
453451

454452
{{% tab title="pip and uv" %}}
@@ -477,6 +475,8 @@ chainctl libraries verify --detailed $(poetry env info --path)
477475

478476
{{< /tabs >}}
479477

478+
> **Note**: Running `chainctl libraries verify` requires the `libraries.python.pull` permission or the Owner role.
479+
480480
A successful result shows what percentage of your project's dependencies were built by Chainguard.
481481

482482
For full details on verification options and output, check out [Verification: Analyze Python packages](/chainguard/libraries/verification/#analyze-python-packages).

content/chainguard/libraries/quickstart.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ linktitle: "Quick Start"
44
description: "Learn how to get started with Chainguard Libraries"
55
type: "article"
66
date: 2025-03-25T00:08:04+00:00
7-
lastmod: 2026-08-05T18:42:36+00:00
7+
lastmod: 2026-08-05T19:13:35+00:00
88
draft: false
99
tags: ["Chainguard Libraries"]
1010
menu:
@@ -255,12 +255,12 @@ Check out minimal example projects for
255255

256256
After setup, you can verify which dependencies were built from source by Chainguard:
257257

258-
> **Note**: Running `chainctl libraries verify` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for the ecosystem you're verifying and the matching pull permission (`libraries.java.pull`, `libraries.javascript.pull`, or `libraries.python.pull`).
259-
260258
```bash
261259
chainctl libraries verify /path/to/artifact
262260
```
263261

262+
> **Note**: Running `chainctl libraries verify` requires one of the `libraries.java.pull`, `libraries.javascript.pull`, or `libraries.python.pull` permissions, or the Owner role.
263+
264264
Learn more in [Chainguard Libraries verification](/chainguard/libraries/verification/).
265265

266266
## FAQs

content/chainguard/libraries/verification.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description:
66
Libraries using the chainctl tool for enhanced supply chain security"
77
type: "article"
88
date: 2025-07-03T12:00:00+00:00
9-
lastmod: 2026-08-05T18:42:36+00:00
9+
lastmod: 2026-08-05T19:13:35+00:00
1010
draft: false
1111
tags: ["Chainguard Libraries"]
1212
menu:
@@ -51,10 +51,7 @@ You also need:
5151
- A Linux, macOS, or Windows system (x86_64 or arm64)
5252
- Sufficient [network access](/chainguard/libraries/network-requirements/)
5353
- Your organization [must include entitlement for access to Chainguard
54-
Libraries](/chainguard/libraries/access/#entitlement) for the ecosystem you're
55-
verifying, and your identity must have the matching pull permission
56-
(`libraries.java.pull`, `libraries.javascript.pull`, or
57-
`libraries.python.pull`)
54+
Libraries](/chainguard/libraries/access/#entitlement)
5855

5956
Confirm that `chainctl` and `cosign` are installed and available on the `PATH`
6057
with the following commands:
@@ -121,6 +118,8 @@ Analyze a Python wheel file in the current directory:
121118
chainctl libraries verify flask-3.0.1-py3-none-any.whl
122119
```
123120

121+
> **Note**: Running `chainctl libraries verify` requires one of the `libraries.java.pull`, `libraries.javascript.pull`, or `libraries.python.pull` permissions, or the Owner role.
122+
124123
The analysis of wheel files is fast because the provenance information is
125124
available within the archive. Python development tools often unpack the wheel
126125
file and you can also scan these extracted packages. For example, if you create

0 commit comments

Comments
 (0)