diff --git a/content/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps.md b/content/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps.md index 7bdcf49b81..b9f3eb9999 100644 --- a/content/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps.md +++ b/content/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps.md @@ -14,12 +14,14 @@ topics: After you create a {% data variables.product.prodname_github_app %}, you'll need to generate a private key in order to make requests to the {% data variables.product.product_name %} API as the application itself. For example, you need a private key to sign a JSON Web Token (JWT) in order to request an installation access token. For more information, see "[AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-json-web-token-jwt-for-a-github-app)" -You can create multiple private keys and rotate them to prevent downtime if a key is compromised or lost. To verify that a private key matches a public key, see "[Verifying private keys](#verifying-private-keys)". +You can create {% ifversion app-key-limit %}up to 25 {% else %}multiple {% endif %}private keys for an app. You should use multiple keys in order to rotate keys without downtime in the event of a key compromise. {% ifversion app-key-limit %}If your application has 25 or more keys, you must delete some before you can create more. {% endif %} -Private keys do not expire and instead need to be manually revoked. For more information about how to revoke a private key, see "[Deleting private keys](#deleting-private-keys)." +Private keys do not expire and instead need to be manually revoked. For more information about how to revoke or delete a private key, see "[Deleting private keys](#deleting-private-keys)." You must keep private keys for {% data variables.product.prodname_github_apps %} secure. For more information, see "[Storing private keys](#storing-private-keys)". +To verify that a private key matches a public key, see "[Verifying private keys](#verifying-private-keys)". + ## Generating private keys To generate a private key: diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/excluding-content-from-github-copilot.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/excluding-content-from-github-copilot.md index 358e0f0d30..0f13ebf1f1 100644 --- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/excluding-content-from-github-copilot.md +++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/excluding-content-from-github-copilot.md @@ -45,6 +45,7 @@ Repository administrators{% ifversion ghec %}, organization owners, and enterpri | {% data variables.product.prodname_vscode %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | JetBrains IDEs | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | Vim/Neovim | {% octicon "check" aria-label="Supported" %} | Not applicable | +| Xcode | {% octicon "check" aria-label="Supported" %} | Not applicable | | Azure Data Studio | {% octicon "x" aria-label="Not supported" %} | Not applicable | | The {% data variables.product.github %} website | Not applicable | {% octicon "x" aria-label="Not supported" %} | diff --git a/data/features/app-key-limit.yml b/data/features/app-key-limit.yml new file mode 100644 index 0000000000..f9bcc852ac --- /dev/null +++ b/data/features/app-key-limit.yml @@ -0,0 +1,6 @@ +# Reference: #https://github.com/github/docs-content/issues/15738 + +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.15'