<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GitHub on</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/tags/github</link><description>Recent content in GitHub on</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>Copyright (c) 2023 Chainguard</copyright><lastBuildDate>Thu, 08 Oct 2026 02:59:03 +0000</lastBuildDate><atom:link href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/tags/github/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview of Guardener on GitHub</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/overview</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/overview</guid><description>&lt;p&gt;Guardener&amp;rsquo;s GitHub capabilities run through the &lt;strong&gt;Chainguard App&lt;/strong&gt;, a single hardened GitHub App that also backs other Chainguard products. Those capabilities are opt-in per repository through configuration files committed to a &lt;code&gt;.chainguard/&lt;/code&gt; directory, so installing the app has no effect on a repository until you enable a capability.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Each Guardener capability has its own release stage, listed in &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener#optional-features"&gt;Optional Features&lt;/a&gt;. The GitHub capabilities are available to organizations that have installed and linked the Chainguard App.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Chainguard Checks overview</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/overview</link><pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/overview</guid><description>&lt;p&gt;Chainguard Checks runs your pull requests&amp;rsquo; checks, such as linting and tests, on Chainguard&amp;rsquo;s infrastructure, and reports the results on the pull request&amp;rsquo;s &lt;strong&gt;Checks&lt;/strong&gt; tab on GitHub, beside any other checks the repository runs. You define the checks in a &lt;code&gt;.chainguard/ci.yaml&lt;/code&gt; file in your repository, in Chainguard Checks&amp;rsquo; own format. Chainguard Checks doesn&amp;rsquo;t run GitHub Actions workflows, so moving a workflow&amp;rsquo;s jobs to it means writing that file, as described in &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/migrate-from-github-actions"&gt;Migrate from GitHub Actions&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Getting started with Guardener</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/getting-started</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/getting-started</guid><description>&lt;p&gt;This guide walks you through everything you need to start using Guardener on your GitHub repositories:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/getting-started#step-1-install-the-chainguard-app"&gt;Install the Chainguard App&lt;/a&gt; on your GitHub organization.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/getting-started#step-2-link-your-chainguard-organization-to-github"&gt;Link your Chainguard organization to your GitHub organization&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/getting-started#step-3-verify-the-link"&gt;Verify the link&lt;/a&gt; and enable your first feature.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once the app is installed, Guardener can respond on your public repositories. Linking connects that activity to your Chainguard organization and unlocks the features that require one, such as private repository coverage — there is no separate entitlement step.&lt;/p&gt;</description></item><item><title>Get started with Chainguard Checks</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/getting-started</link><pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/getting-started</guid><description>&lt;p&gt;Get a first check passing with the &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/getting-started#quick-start"&gt;quick start&lt;/a&gt;, or learn each part in the &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/getting-started#step-by-step-guide"&gt;step-by-step guide&lt;/a&gt;.&lt;/p&gt;
&lt;div class="quick-start"&gt;
&lt;h2 id="quick-start" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;Quick start&lt;/span&gt;
&lt;a href="#quick-start" class="anchor" aria-label="Link to Quick start" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Install chainctl&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To install &lt;code&gt;chainctl&lt;/code&gt; with Homebrew, run the following command:&lt;/p&gt;
&lt;pre class="highlight" data-language="shell"&gt;&lt;code class="language-shell" data-lang="shell"&gt;brew install chainguard-dev/tap/chainctl&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Or, to install it with curl on macOS or Linux, run the following commands:&lt;/p&gt;
&lt;pre class="highlight" data-language="shell"&gt;&lt;code class="language-shell" data-lang="shell"&gt;curl -fL -o chainctl &amp;#34;https://dl.enforce.dev/chainctl/latest/chainctl_$(uname -s | tr &amp;#39;[:upper:]&amp;#39; &amp;#39;[:lower:]&amp;#39;)_$(uname -m | sed &amp;#39;s/aarch64/arm64/&amp;#39;)&amp;#34;
sudo install -o $UID -g $(id -g) -m 0755 chainctl /usr/local/bin/&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you already have &lt;code&gt;chainctl&lt;/code&gt;, you need 0.2.386 or later. Update it with &lt;code&gt;sudo chainctl update&lt;/code&gt;, or with &lt;code&gt;brew upgrade chainctl&lt;/code&gt; if you installed it with Homebrew.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sign up&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the root of a local clone of a GitHub repository that you can push to, run the following command:&lt;/p&gt;
&lt;pre class="highlight" data-language="shell"&gt;&lt;code class="language-shell" data-lang="shell"&gt;chainctl develop init&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The command creates your Chainguard organization, if you don&amp;rsquo;t have one, and turns on Chainguard Checks. When it asks which GitHub account to link, choose the one that owns your repository: press &lt;code&gt;Enter&lt;/code&gt; for your own user, or enter the organization&amp;rsquo;s name. If the Chainguard App isn&amp;rsquo;t installed on that account, the command offers to open its installation page. Give the App access to your repository. If you installed it earlier and GitHub shows that it&amp;rsquo;s asking for more permissions, accept them. To sign in with an email address and password, first run &lt;code&gt;chainctl config set default.social-login email&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Add a first check&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Create a branch and a &lt;code&gt;.chainguard/ci.yaml&lt;/code&gt; file with one check:&lt;/p&gt;
&lt;pre class="highlight" data-language="shell"&gt;&lt;code class="language-shell" data-lang="shell"&gt;git checkout -b add-chainguard-checks
mkdir -p .chainguard
cat &amp;gt; .chainguard/ci.yaml &amp;lt;&amp;lt;&amp;#39;EOF&amp;#39;
version: 1
environment: {}
checks:
hello:
cmd: ls -la
EOF&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The check lists the files in its working directory and needs no packages or network access, so it passes on any repository.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Open a pull request&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Commit the file and push the branch:&lt;/p&gt;
&lt;pre class="highlight" data-language="shell"&gt;&lt;code class="language-shell" data-lang="shell"&gt;git add .chainguard/ci.yaml
git commit -m &amp;#34;Add Chainguard Checks&amp;#34;
git push -u origin add-chainguard-checks&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then open a pull request, from the link that &lt;code&gt;git push&lt;/code&gt; prints or on github.com.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Read the result&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On the pull request&amp;rsquo;s &lt;strong&gt;Checks&lt;/strong&gt; tab, wait for &lt;strong&gt;Chainguard Checks (presubmit)&lt;/strong&gt; to appear and pass, which usually takes less than a minute. It&amp;rsquo;s the only check that Chainguard Checks adds for this file, because a check that passes without reporting anything gets no GitHub check of its own. Select it to see the run&amp;rsquo;s summary: its title reads &lt;strong&gt;All 1 check(s) passed&lt;/strong&gt;, and its table lists &lt;code&gt;hello&lt;/code&gt; as passed. If no check appears, refer to &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/troubleshooting#a-pull-request-gets-no-checks"&gt;A pull request gets no checks&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="quick-start-done"&gt;To replace the first check with your own, refer to &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/getting-started#replace-the-first-check-with-your-own"&gt;Replace the first check with your own&lt;/a&gt;. To move checks from your GitHub Actions workflows, refer to &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/migrate-from-github-actions"&gt;Migrate from GitHub Actions&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>Managing Chainguard App connections</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/app-connections</link><pubDate>Mon, 03 Aug 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/app-connections</guid><description>&lt;p&gt;Guardener acts on your GitHub repositories on behalf of your Chainguard organization. The bridge between the two is a &lt;strong&gt;connection&lt;/strong&gt;: a Chainguard App installation on a GitHub organization, linked to a Chainguard organization. This page explains how connections work and how to set up, inspect, change, and remove them.&lt;/p&gt;
&lt;p&gt;For a first-time walkthrough, refer to &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/getting-started"&gt;Getting started&lt;/a&gt;. This page is the fuller reference for managing connections over time.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Each Guardener capability has its own release stage, listed in &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener#optional-features"&gt;Optional Features&lt;/a&gt;. The GitHub capabilities are available to organizations that have installed and linked the Chainguard App.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Guardener Dockerfile migration</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/dockerfile-migration</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/dockerfile-migration</guid><description>&lt;p&gt;The Dockerfile migration feature converts your Dockerfiles to use Chainguard Containers. It uses AI to iteratively translate instructions, build images, compare results, and fix issues until the migrated Dockerfile works as expected.&lt;/p&gt;
&lt;p&gt;Unlike Guardener&amp;rsquo;s &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/actions-security"&gt;Hardened Actions&lt;/a&gt; and &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/commit-verification"&gt;Commit Verification&lt;/a&gt; features, Dockerfile migration does not run through the Chainguard App or the &lt;code&gt;.chainguard/&lt;/code&gt; configuration directory. Instead, you drive it locally through &lt;code&gt;chainctl agent dockerfile&lt;/code&gt; commands. The AI runs server-side and scans your workspace to perform its analysis, while Docker builds and file access remain local to your machine.&lt;/p&gt;</description></item><item><title>Configuring Guardener</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/configuration</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/configuration</guid><description>&lt;p&gt;Guardener is configured entirely through files committed to a &lt;code&gt;.chainguard/&lt;/code&gt; directory — either in each repository, or once at the organization level in your &lt;code&gt;.github&lt;/code&gt; repository. This page explains the configuration model that all Guardener features share. For the specific options of each feature, refer to its dedicated page.&lt;/p&gt;
&lt;h2 id="the-chainguard-directory" class="heading-2" data-heading-level="2"&gt;
&lt;span class="heading-text"&gt;The &lt;code&gt;.chainguard/&lt;/code&gt; directory&lt;/span&gt;
&lt;a href="#the-chainguard-directory" class="anchor" aria-label="Link to The .chainguard/ directory" title="Link to this section"&gt;
&lt;svg width="16" height="9" viewBox="0 0 16 9" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"&gt;
&lt;path d="M6.833 8.125H4C3 8.125 2.146 7.77067 1.438 7.062C0.729333 6.354 0.375 5.5 0.375 4.5C0.375 3.5 0.729333 2.646 1.438 1.938C2.146 1.22933 3 0.875 4 0.875H6.833V1.958H4C3.30533 1.958 2.708 2.208 2.208 2.708C1.708 3.208 1.458 3.80533 1.458 4.5C1.458 5.19467 1.708 5.792 2.208 6.292C2.708 6.792 3.30533 7.042 4 7.042H6.833V8.125ZM5.208 5.042V3.958H10.792V5.042H5.208ZM9.167 8.125V7.042H12C12.6947 7.042 13.292 6.792 13.792 6.292C14.292 5.792 14.542 5.19467 14.542 4.5C14.542 3.80533 14.292 3.208 13.792 2.708C13.292 2.208 12.6947 1.958 12 1.958H9.167V0.875H12C13 0.875 13.854 1.22933 14.562 1.938C15.2707 2.646 15.625 3.5 15.625 4.5C15.625 5.5 15.2707 6.354 14.562 7.062C13.854 7.77067 13 8.125 12 8.125H9.167Z" fill="currentColor"/&gt;
&lt;/svg&gt;
&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;Guardener reads its configuration from the &lt;code&gt;.chainguard/&lt;/code&gt; directory at the root of each repository. Every feature has its own file:&lt;/p&gt;</description></item><item><title>Use Chainguard Checks on GitHub</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/github</link><pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/github</guid><description>&lt;p&gt;Chainguard Checks runs on your GitHub repositories through the Chainguard App and reports its results as GitHub checks. This page explains when Chainguard Checks runs, how its results appear on GitHub, how to read them with the GitHub API, and how to use them to protect your branches. To watch a pull request&amp;rsquo;s checks pass, fail, and pass again after a fix, follow the tutorial &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/get-started/checks-and-workspaces/tutorial"&gt;Fix a failing check with Claude Code&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Guardener Hardened Actions</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/actions-security</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/actions-security</guid><description>&lt;p&gt;The Hardened Actions feature recommends and migrates your GitHub Actions to Chainguard&amp;rsquo;s hardened, SHA-pinned equivalents. Pinning actions to a specific commit SHA — rather than a mutable tag or branch — protects your workflows from supply chain attacks in which an upstream tag is moved to point at malicious code.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Hardened Actions is in Early Access. It&amp;rsquo;s available to organizations that have installed and linked the Chainguard App.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Hardened Actions operates in two independent modes:&lt;/p&gt;</description></item><item><title>Guardener Container Image Suggestions</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/image-suggestions</link><pubDate>Fri, 02 Oct 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/image-suggestions</guid><description>&lt;p&gt;Guardener reviews pull requests that add or change container image references and recommends the Chainguard container image that replaces each upstream image. Where it can, Guardener includes the replacement as a one-click suggested change.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Container Image Suggestions is in Early Access. It&amp;rsquo;s available to organizations that have installed and linked the Chainguard App.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Guardener reads only the lines a pull request adds or changes, so it catches upstream images as they&amp;rsquo;re introduced but doesn&amp;rsquo;t review the images a repository already uses. To replace those images, turn on &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/image-migration"&gt;Container Image Migration&lt;/a&gt;, which opens a pull request for the whole repository. To list replacements for every image without changing any files, run &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/containers/migration/migration-tools/images-discover"&gt;&lt;code&gt;chainctl images discover&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Guardener Container Image Migration</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/image-migration</link><pubDate>Thu, 08 Oct 2026 02:59:03 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/image-migration</guid><description>&lt;p&gt;Guardener scans the default branch of a repository for container image references and opens a pull request that replaces them with Chainguard container images your organization already has. As your repository and your organization&amp;rsquo;s images change, Guardener keeps that pull request up to date.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Container Image Migration is in Early Access. It&amp;rsquo;s available to organizations that have installed and linked the Chainguard App.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Container Image Migration and &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/image-suggestions"&gt;Container Image Suggestions&lt;/a&gt; work together. Image Suggestions reviews the images that each new pull request adds, and migration replaces the images the repository already uses. Each has its own setting in &lt;code&gt;.chainguard/images.yaml&lt;/code&gt;, so you can use either one or both.&lt;/p&gt;</description></item><item><title>Guardener Commit Verification</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/commit-verification</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/commit-verification</guid><description>&lt;p&gt;The Commit Verification feature verifies that every commit in a pull request is cryptographically signed by an authorized signer, according to a policy you control. This ensures that changes to your codebase come from identities you trust, and it supports both keyless (Sigstore) signatures and static keys such as GPG.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Commit Verification is in beta. Available to organizations that have installed and linked the Chainguard App.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Keyless commit signatures are verified using &lt;a href="https://github.com/sigstore/gitsign"&gt;gitsign&lt;/a&gt; and &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/open-source/sigstore"&gt;Sigstore&lt;/a&gt;. Static key authorities (such as GPG) are verified directly against the key material you supply, without gitsign.&lt;/p&gt;</description></item><item><title>Migrate from GitHub Actions to Chainguard Checks</title><link>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/migrate-from-github-actions</link><pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate><guid>https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/checks/migrate-from-github-actions</guid><description>&lt;p&gt;If your repository runs its pull request checks with GitHub Actions, you can move them to Chainguard Checks one workflow at a time. Chainguard Checks and GitHub Actions can run on the same pull requests, so you can compare their results before you remove a workflow.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;d rather keep your workflows on GitHub Actions, &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/actions"&gt;Chainguard Actions&lt;/a&gt; replaces the actions they use with hardened equivalents, and Guardener&amp;rsquo;s &lt;a href="https://chainguard-docs-preview-git-entra-scim-updates.chainguard.app/docs/chainguard/guardener/github/actions-security"&gt;Hardened Actions&lt;/a&gt; feature can migrate them for you.&lt;/p&gt;</description></item></channel></rss>