You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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>
Copy file name to clipboardExpand all lines: content/chainguard/libraries/java/build-configuration.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ linktitle: "Build configuration"
4
4
description: "Configuring Chainguard Libraries for Java on your workstation"
5
5
type: "article"
6
6
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
8
8
draft: false
9
9
tags: ["Chainguard Libraries", "Java"]
10
10
menu:
@@ -536,13 +536,13 @@ dependency added in the example project can be found at:
536
536
537
537
To verify the artifact was built by Chainguard, use `chainctl`:
538
538
539
-
> **Note**: Running `chainctl libraries verify` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for Java and the `libraries.java.pull` permission.
Then copy the exact path to the jar and verify it with `chainctl`:
783
783
784
-
> **Note**: Running `chainctl libraries verify` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for Java and the `libraries.java.pull` permission.
Copy file name to clipboardExpand all lines: content/chainguard/libraries/java/migration.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ type: "article"
4
4
linktitle: "Migrate to Chainguard"
5
5
description: "How to migrate an existing Java project to pull dependencies from Chainguard Libraries"
6
6
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
8
8
tags: ["Chainguard Libraries", "Java"]
9
9
menu:
10
10
docs:
@@ -505,8 +505,6 @@ If all artifacts download from Central, your credentials may be invalid or expir
505
505
506
506
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.
507
507
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
-
510
508
When upstream fallback is enabled, [packages that aren't built by Chainguard] are subject to Chainguard's security controls.
Copy file name to clipboardExpand all lines: content/chainguard/libraries/javascript/build-configuration.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ linktitle: "Build configuration"
4
4
description: "Configuring Chainguard Libraries for JavaScript on your workstation"
5
5
type: "article"
6
6
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
8
8
draft: false
9
9
tags: ["Chainguard Libraries", "JavaScript"]
10
10
menu:
@@ -84,7 +84,7 @@ Learn more in the [JavaScript migration guide](/chainguard/libraries/javascript/
84
84
`update-hashes` fetches checksums from Chainguard Libraries,
85
85
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.
86
86
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.
Copy file name to clipboardExpand all lines: content/chainguard/libraries/javascript/global-configuration.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ linktitle: "Global configuration"
4
4
description: "Configuring Chainguard Libraries for JavaScript in your organization"
5
5
type: "article"
6
6
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
8
8
draft: false
9
9
tags: ["Chainguard Libraries", "JavaScript"]
10
10
images: []
@@ -72,8 +72,6 @@ this page follow this pattern.
72
72
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
73
73
for all supported JavaScript lockfile formats.
74
74
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
-
77
75
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:
> **Note**: Running `chainctl libraries update-hashes` requires the `libraries.javascript.pull` permission or the Owner role.
84
+
85
85
After updating the lockfile, keep your repository manager configuration in place and reinstall through the same repository manager endpoint to apply the updated hashes.
86
86
87
87
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/).
Copy file name to clipboardExpand all lines: content/chainguard/libraries/javascript/migration.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ type: "article"
4
4
linktitle: "Migrate to Chainguard"
5
5
description: "How to migrate an existing JavaScript project to pull dependencies from Chainguard Libraries"
6
6
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
8
8
tags: ["Chainguard Libraries", "JavaScript"]
9
9
menu:
10
10
docs:
@@ -402,14 +402,14 @@ Chainguard's artifacts, without regenerating the lockfile from scratch. This
402
402
preserves your pinned dependency versions. Supported formats include `package-lock.json` (npm v2/v3), `yarn.lock` (Yarn
403
403
Classic and Berry), `pnpm-lock.yaml`, and `bun.lock`.
404
404
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
-
407
405
Run the command in the directory containing the lockfile:
408
406
409
407
```shell
410
408
chainctl libraries update-hashes
411
409
```
412
410
411
+
> **Note**: Running `chainctl libraries update-hashes` requires the `libraries.javascript.pull` permission or the Owner role.
412
+
413
413
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`.
414
414
415
415
You can also specify a lockfile path directly:
@@ -634,8 +634,6 @@ their directory structure.
634
634
635
635
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.
636
636
637
-
> **Note**: Running `chainctl libraries verify` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for JavaScript and the `libraries.javascript.pull` permission.
Copy file name to clipboardExpand all lines: content/chainguard/libraries/python/build-configuration.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ linktitle: "Build configuration"
4
4
description: "Configuring Chainguard Libraries for Python on your workstation"
5
5
type: "article"
6
6
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
8
8
draft: false
9
9
tags: ["Chainguard Libraries", "Python"]
10
10
menu:
@@ -165,14 +165,14 @@ The [`chainctl libraries update-hashes` command](/chainguard/chainctl/chainctl-d
165
165
166
166
Supported formats include `requirements.txt` (pip-tools `--hash` style), `poetry.lock`, `uv.lock`, `pdm.lock`, `Pipfile.lock`, and `pylock.toml`.
167
167
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
-
170
168
Run the command in your project directory to auto-detect the lockfile:
171
169
172
170
```bash
173
171
chainctl libraries update-hashes
174
172
```
175
173
174
+
> **Note**: Running `chainctl libraries update-hashes` requires the `libraries.python.pull` permission or the Owner role.
Copy file name to clipboardExpand all lines: content/chainguard/libraries/python/global-configuration.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ linktitle: "Global configuration"
4
4
description: "Configuring Chainguard Libraries for Python in your organization"
5
5
type: "article"
6
6
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
8
8
draft: false
9
9
tags: ["Chainguard Libraries", "Python"]
10
10
images: []
@@ -71,8 +71,6 @@ However, if you intentionally want to manage fallback ordering yourself, you can
71
71
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
72
72
for all supported Python lockfile formats.
73
73
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
-
76
74
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:
> **Note**: Running `chainctl libraries update-hashes` requires the `libraries.python.pull` permission or the Owner role.
83
+
84
84
After updating the lockfile, keep your repository manager configuration in place and reinstall through the same repository manager endpoint to apply the updated hashes.
85
85
86
86
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/).
Copy file name to clipboardExpand all lines: content/chainguard/libraries/python/migration.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ type: "article"
4
4
linktitle: "Migrate to Chainguard"
5
5
description: "How to migrate an existing Python project to pull dependencies from Chainguard Libraries"
6
6
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
8
8
tags: ["Chainguard Libraries", "Python"]
9
9
menu:
10
10
docs:
@@ -312,14 +312,14 @@ Your existing lockfile or hash-pinned `requirements.txt` contains checksums gene
312
312
313
313
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`.
314
314
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
-
317
315
Run the following command to auto-detect and update the lockfile in the current project:
318
316
319
317
```bash
320
318
chainctl libraries update-hashes
321
319
```
322
320
321
+
> **Note**: Running `chainctl libraries update-hashes` requires the `libraries.python.pull` permission or the Owner role.
322
+
323
323
Or specify the lockfile when running the command. For example:
324
324
325
325
```bash
@@ -447,8 +447,6 @@ poetry install
447
447
448
448
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.
449
449
450
-
> **Note**: Running `chainctl libraries verify` requires an [entitlement to Chainguard Libraries](/chainguard/libraries/access/#entitlement) for Python and the `libraries.python.pull` permission.
> **Note**: Running `chainctl libraries verify` requires the `libraries.python.pull` permission or the Owner role.
479
+
480
480
A successful result shows what percentage of your project's dependencies were built by Chainguard.
481
481
482
482
For full details on verification options and output, check out [Verification: Analyze Python packages](/chainguard/libraries/verification/#analyze-python-packages).
Copy file name to clipboardExpand all lines: content/chainguard/libraries/quickstart.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ linktitle: "Quick Start"
4
4
description: "Learn how to get started with Chainguard Libraries"
5
5
type: "article"
6
6
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
8
8
draft: false
9
9
tags: ["Chainguard Libraries"]
10
10
menu:
@@ -255,12 +255,12 @@ Check out minimal example projects for
255
255
256
256
After setup, you can verify which dependencies were built from source by Chainguard:
257
257
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
-
260
258
```bash
261
259
chainctl libraries verify /path/to/artifact
262
260
```
263
261
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
+
264
264
Learn more in [Chainguard Libraries verification](/chainguard/libraries/verification/).
> **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
+
124
123
The analysis of wheel files is fast because the provenance information is
125
124
available within the archive. Python development tools often unpack the wheel
126
125
file and you can also scan these extracted packages. For example, if you create
0 commit comments