diff --git a/.github/agents/builder-writer.md b/.github/agents/builder-writer.md index 7d92cfd95e75..b846ea2c8b43 100644 --- a/.github/agents/builder-writer.md +++ b/.github/agents/builder-writer.md @@ -2,6 +2,7 @@ name: "Builder-writer" description: "Use when writing, editing, or reviewing content for the Builder persona: developers building software, from junior to senior and solo to enterprise, who write, review, test, ship, and operate code." +include-custom-instructions: true --- diff --git a/.github/agents/driver-writer.md b/.github/agents/driver-writer.md index 7e65c7a44082..a8bd95a3d6ad 100644 --- a/.github/agents/driver-writer.md +++ b/.github/agents/driver-writer.md @@ -2,6 +2,7 @@ name: "Driver-writer" description: "Use when writing, editing, or reviewing content for the Driver persona: enterprise administrators, platform engineers, billing managers, security leads, and others who enable developers at scale." +include-custom-instructions: true --- diff --git a/content/actions/how-tos/reuse-automations/reuse-workflows.md b/content/actions/how-tos/reuse-automations/reuse-workflows.md index 2049cbdef4a0..97dd9dbfa421 100644 --- a/content/actions/how-tos/reuse-automations/reuse-workflows.md +++ b/content/actions/how-tos/reuse-automations/reuse-workflows.md @@ -307,7 +307,7 @@ For more information on using job outputs, see [AUTOTITLE](/actions/reference/wo ## Controlling cache access in reusable workflows -You can use the `cache-mode` key to grant a reusable workflow the least amount of {% data variables.product.prodname_actions %} cache access it needs. The value can be `read`, `write`, `write-only`, or `none`. If you omit `cache-mode`, a `read` or `write` default is used based on the trigger type. For the full syntax and the meaning of each value, see [AUTOTITLE](/actions/reference/workflows-and-actions/workflow-syntax#cache-mode). For trigger-dependent defaults, see [AUTOTITLE](/actions/reference/dependency-caching-reference#defaults). +You can use the `cache-mode` key to grant a reusable workflow the least amount of {% data variables.product.prodname_actions %} cache access it needs. The value can be `read`, `write`, `write-only`, or `none`. If you omit `cache-mode`, a `read` or `write` default is used based on the trigger type. For the full syntax and the meaning of each value, see [AUTOTITLE](/actions/reference/workflows-and-actions/workflow-syntax#cache-mode). For trigger-dependent defaults, see [AUTOTITLE](/actions/reference/workflows-and-actions/dependency-caching#defaults). When a caller workflow calls a reusable workflow, `cache-mode` propagates to the called workflow. An explicit `cache-mode` on the calling job, or inherited from the caller workflow, limits the cache access the called workflow can request. @@ -315,7 +315,7 @@ If the calling job neither sets nor inherits an explicit `cache-mode`, the calle If a called workflow declares a `cache-mode` that requests access beyond this explicit limit, the run does not start and {% data variables.product.github %} reports a validation error. For example, a caller that allows at most `read` cannot call a workflow that declares `write`. Because `read` grants restore access and `write-only` grants save access, the two are non-overlapping capabilities, so a mismatch between them is also an over-request. For example, a `write-only` caller cannot call a workflow that declares `read`. -For more information about cache access and the four modes, see [AUTOTITLE](/actions/reference/dependency-caching-reference#controlling-cache-access-with-cache-mode). +For more information about cache access and the four modes, see [AUTOTITLE](/actions/reference/workflows-and-actions/dependency-caching#controlling-cache-access-with-cache-mode). {% endif %} diff --git a/content/actions/reference/workflows-and-actions/workflow-syntax.md b/content/actions/reference/workflows-and-actions/workflow-syntax.md index f21517189d49..22fd3cf022c0 100644 --- a/content/actions/reference/workflows-and-actions/workflow-syntax.md +++ b/content/actions/reference/workflows-and-actions/workflow-syntax.md @@ -415,12 +415,12 @@ Access is enforced with scoped cache tokens, so a job cannot restore or save cac | `write-only` | No | Yes | | `none` | No | No | -If you omit `cache-mode`, a `read` or `write` default is used based on the trigger type. For trigger-dependent effective defaults, see [AUTOTITLE](/actions/reference/dependency-caching-reference#defaults). +If you omit `cache-mode`, a `read` or `write` default is used based on the trigger type. For trigger-dependent effective defaults, see [AUTOTITLE](/actions/reference/workflows-and-actions/dependency-caching#defaults). > [!WARNING] -> Explicitly declaring `cache-mode: write` or `cache-mode: write-only` on low-trust triggers can bypass the secure default read-only cache restriction and reintroduce cache-poisoning risk. For guidance and mitigations, see [AUTOTITLE](/actions/reference/dependency-caching-reference#bypassing-the-default-untrusted-trigger-cache-restriction). +> Explicitly declaring `cache-mode: write` or `cache-mode: write-only` on low-trust triggers can bypass the secure default read-only cache restriction and reintroduce cache-poisoning risk. For guidance and mitigations, see [AUTOTITLE](/actions/reference/workflows-and-actions/dependency-caching#bypassing-the-default-untrusted-trigger-cache-restriction). -When a cache operation is not permitted by the effective mode, the cache step logs an informational message and continues. The job and workflow do not fail. A skipped restore is treated as a cache miss; a skipped save is simply not performed. For more information, see [AUTOTITLE](/actions/reference/dependency-caching-reference#controlling-cache-access-with-cache-mode). +When a cache operation is not permitted by the effective mode, the cache step logs an informational message and continues. The job and workflow do not fail. A skipped restore is treated as a cache miss; a skipped save is simply not performed. For more information, see [AUTOTITLE](/actions/reference/workflows-and-actions/dependency-caching#controlling-cache-access-with-cache-mode). ### Example of `cache-mode` @@ -516,10 +516,10 @@ jobs: Use `jobs..cache-mode` to set the level of {% data variables.product.prodname_actions %} cache access for a single job. A value set here overrides any workflow-level [`cache-mode`](#cache-mode) for this job only. -The accepted values are `read`, `write`, `write-only`, and `none`, with the same meanings as the top-level key. If neither the job nor the workflow sets `cache-mode`, a trigger-based default applies. For more information about each value, see [`cache-mode`](#cache-mode) and [AUTOTITLE](/actions/reference/dependency-caching-reference#defaults). +The accepted values are `read`, `write`, `write-only`, and `none`, with the same meanings as the top-level key. If neither the job nor the workflow sets `cache-mode`, a trigger-based default applies. For more information about each value, see [`cache-mode`](#cache-mode) and [AUTOTITLE](/actions/reference/workflows-and-actions/dependency-caching#defaults). > [!WARNING] -> Explicitly declaring `cache-mode: write` or `cache-mode: write-only` on low-trust triggers can bypass the secure default read-only cache restriction and reintroduce cache-poisoning risk. For guidance and mitigations, see [AUTOTITLE](/actions/reference/dependency-caching-reference#bypassing-the-default-untrusted-trigger-cache-restriction). +> Explicitly declaring `cache-mode: write` or `cache-mode: write-only` on low-trust triggers can bypass the secure default read-only cache restriction and reintroduce cache-poisoning risk. For guidance and mitigations, see [AUTOTITLE](/actions/reference/workflows-and-actions/dependency-caching#bypassing-the-default-untrusted-trigger-cache-restriction). You can also set `cache-mode` on a job that calls a reusable workflow to limit the cache access granted to the called workflow. For more information, see [AUTOTITLE](/actions/reference/workflows-and-actions/reusing-workflow-configurations#supported-keywords-for-jobs-that-call-a-reusable-workflow) and [AUTOTITLE](/actions/how-tos/reuse-automations/reuse-workflows#controlling-cache-access-in-reusable-workflows). diff --git a/content/code-security/concepts/code-scanning/ai-powered-security-detections.md b/content/code-security/concepts/code-scanning/ai-powered-security-detections.md index 675c340e2dab..253765c2e9f2 100644 --- a/content/code-security/concepts/code-scanning/ai-powered-security-detections.md +++ b/content/code-security/concepts/code-scanning/ai-powered-security-detections.md @@ -19,7 +19,7 @@ While {% data variables.product.prodname_codeql %} provides high-precision stati During the {% data variables.release-phases.public_preview %}, AI Scan requires a {% data variables.product.prodname_GHAS %} license and a {% data variables.product.prodname_copilot %} license. -Usage consumes {% data variables.product.prodname_ai_credits_short %}. See [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). +Usage consumes {% data variables.product.prodname_ai_credits_short %}. See [AUTOTITLE](/copilot/concepts/billing-and-usage/organizations-and-enterprises/billing). ## How AI Scan works diff --git a/content/code-security/how-tos/maintain-quality-code/view-and-manage-cost.md b/content/code-security/how-tos/maintain-quality-code/view-and-manage-cost.md index 985bd3f2a042..1485db7b900c 100644 --- a/content/code-security/how-tos/maintain-quality-code/view-and-manage-cost.md +++ b/content/code-security/how-tos/maintain-quality-code/view-and-manage-cost.md @@ -37,7 +37,7 @@ It's important to understand how {% data variables.product.prodname_code_quality {% data variables.product.prodname_code_quality_short %} usage appears in the **same billing and usage views as your other products**, not in a separate {% data variables.product.prodname_code_quality_short %} meter. Where you look depends on how granular a breakdown you need: * **For a repository- or organization-level breakdown, download the billing usage report** from the "Billing and licensing" tab. This is the only place you can attribute {% data variables.product.prodname_code_quality_short %} spend, including {% data variables.product.prodname_actions %} minutes, down to a specific repository or organization. There's no equivalent view in the UI. See [AUTOTITLE](/billing/how-tos/products/view-productlicense-use). -* **For {% data variables.product.prodname_code_quality_short %}'s {% data variables.product.prodname_ai_credits_short %} usage over time, use the AI usage page** and group it by **Product** using the dropdown at the top right. This separates {% data variables.product.prodname_code_quality_short %} from your other AI products, like {% data variables.product.prodname_copilot_short %}, so you can track its share of the pool. To monitor the pool as a whole instead, see [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). +* **For {% data variables.product.prodname_code_quality_short %}'s {% data variables.product.prodname_ai_credits_short %} usage over time, use the AI usage page** and group it by **Product** using the dropdown at the top right. This separates {% data variables.product.prodname_code_quality_short %} from your other AI products, like {% data variables.product.prodname_copilot_short %}, so you can track its share of the pool. To monitor the pool as a whole instead, see [AUTOTITLE](/copilot/concepts/billing-and-usage/organizations-and-enterprises/billing). ## Monitoring your spend diff --git a/content/code-security/responsible-use/security-and-quality-ai-features.md b/content/code-security/responsible-use/security-and-quality-ai-features.md index 523a21bed646..7f57ffa8efbd 100644 --- a/content/code-security/responsible-use/security-and-quality-ai-features.md +++ b/content/code-security/responsible-use/security-and-quality-ai-features.md @@ -3,8 +3,7 @@ title: 'Application card: GitHub security and quality AI features' shortTitle: Security and quality AI features intro: Use GitHub's AI-powered code security and code quality features responsibly by understanding their purposes, capabilities, and limitations. versions: - fpt: '*' - ghec: '*' + feature: secret-scanning-ai-generic-secret-detection redirect_from: - /code-security/code-scanning/managing-code-scanning-alerts/about-autofix-for-codeql-code-scanning - /code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning @@ -33,24 +32,36 @@ category: {% data reusables.rai.copilot.application-card-intro %} +{% ifversion ghes %} +For {% data variables.product.prodname_ghe_server %}, this application card applies only to generic secret detection for {% data variables.product.prodname_secret_scanning %}. +{% endif %} + ## 1. Overview -GitHub's security and quality platform includes several AI-powered capabilities that help developers find and fix security vulnerabilities, detect leaked secrets, and improve code quality. This application card covers the following experiences: +{% ifversion fpt or ghec %}GitHub's security and quality platform includes several AI-powered capabilities that help developers find and fix security vulnerabilities, detect leaked secrets, and improve code quality. {% endif %}This application card covers the following experiences: +{% ifversion fpt or ghec %} * **Copilot Autofix for code scanning**: Automatically generates fix suggestions for CodeQL alerts on pull requests and the default branch. +{% endif %} * **Generic secret detection**: Uses a model to identify unstructured secrets in source code that deterministic pattern matching cannot find. +{% ifversion fpt or ghec %} * **Custom pattern regex generator**: Uses AI to generate regular expressions for custom secret scanning patterns from natural language descriptions. * **GitHub Code Quality**: Surfaces code quality issues and offers LLM-powered fix suggestions on pull requests and the default branch. Also provides AI-powered automatic generation of code coverage workflows. +{% endif %} +{% ifversion fpt or ghec %} Copilot Autofix is an expansion of code scanning that provides users with targeted recommendations to help them fix code scanning alerts, avoiding the introduction of new security vulnerabilities. Potential fixes are generated automatically by large language models (LLMs) using data from the codebase and from code scanning analysis. Copilot Autofix is available for CodeQL analysis and does not require a GitHub Copilot subscription. Code scanning users can already see security alerts on their pull requests. However, developers often have little training in secure coding, so fixing these alerts requires substantial effort. Copilot Autofix lowers the barrier of entry by combining information on best practices with details of the codebase and alert to suggest a potential fix. Instead of starting with a search for information about the vulnerability, the developer starts with a code suggestion that demonstrates a potential solution for their codebase. The developer evaluates the potential fix to determine whether it is the best solution for their codebase and to ensure that it maintains the intended behavior. +{% endif %} Secret scanning's generic secret detection is an AI-powered expansion of secret scanning that identifies unstructured secrets in source code or other GitHub surfaces and generates an alert. GitHub Secret Protection and GitHub Advanced Security users can already receive secret scanning alerts for partner or custom patterns found in their source code, but unstructured secrets are not easily discoverable. Secret scanning uses models to identify these secrets. When a finding is detected, an alert is displayed in the "Generic" list of secret scanning alerts (under the **{% octicon "shield" aria-hidden="true" aria-label="shield" %} {% ifversion security-and-quality-tab %}Security and quality{% else %}Security{% endif %}** tab of the repository, organization, or enterprise), so that maintainers and security managers can review the alert and, where necessary, remove the credential or implement a fix. Generic secret detection does not require a GitHub Copilot subscription. +{% ifversion fpt or ghec %} Secret scanning's custom pattern regular expression generator makes it possible to define custom secret scanning patterns without knowledge of regular expressions. Users input a natural language description of what they want to detect, along with optional example strings, and the generator produces up to three candidate regular expressions. These patterns can then be validated via the dry-run mechanism before being deployed as custom patterns. The regular expression generator does not require a GitHub Copilot subscription. GitHub Code Quality helps users improve code reliability, maintainability, and overall project health by surfacing actionable feedback and offering automatic fixes for findings in pull requests and on the default branch. When Code Quality is enabled, two types of analysis run: CodeQL quality queries identify problems with the maintainability, reliability, or style of code, and LLM-powered analysis provides additional insights beyond what deterministic engines can find. When a quality issue is detected, Copilot Autofix suggests a relevant fix. On pull requests, results are displayed as comments left by the `github-code-quality` bot. On the default branch, LLM-powered findings are displayed in the **AI findings** dashboard under the **{% octicon "shield" aria-hidden="true" aria-label="shield" %} {% ifversion security-and-quality-tab %}Security and quality{% else %}Security{% endif %}** tab. Additionally, Code Quality can automatically generate a code coverage CI workflow for your repository using an AI-powered agent, reducing the manual effort required to set up coverage tracking. +{% endif %} The primary supported language for GitHub Code Security AI features is English. @@ -58,51 +69,66 @@ The primary supported language for GitHub Code Security AI features is English. The following list provides a glossary of key terms related to GitHub Code Security AI features: +{% ifversion fpt or ghec %} * **CodeQL**: GitHub's semantic code analysis engine for identifying security vulnerabilities in source code. * **Copilot Autofix**: GitHub's LLM-powered feature that automatically generates fix suggestions for code scanning alerts. Copilot Autofix is available for CodeQL analysis and does not require a GitHub Copilot subscription. * **Large language model (LLM)**: A type of neural network trained on a large body of text data that can generate, analyze, and transform natural language and code. Copilot Autofix uses one or more LLMs to process code scanning alerts and produce fix suggestions. +{% endif %} * **AI detection for secret scanning**: AI-powered capabilities that extend secret scanning, including generic secret detection. Does not require a GitHub Copilot subscription. * **Generic secret detection**: AI identification of unstructured secrets (such as passwords) that are not covered by partner or custom patterns. Generic secret detection uses models to scan for password-like strings in source code. +{% ifversion fpt or ghec %} * **Custom pattern**: A user-defined regular expression used by secret scanning to detect secrets that match a specific format. The custom pattern regular expression generator helps create these patterns from natural language descriptions. * **SARIF**: Static Analysis Results Interchange Format—the standard format CodeQL uses to report code scanning findings, including alert locations and descriptions. * **GitHub Code Quality**: A feature that surfaces code quality issues and offers LLM-powered fixes. Code Quality combines CodeQL quality queries with LLM-powered analysis to identify maintainability, reliability, and style issues. * **AI findings**: The dashboard under the **{% octicon "shield" aria-hidden="true" aria-label="shield" %} {% ifversion security-and-quality-tab %}Security and quality{% else %}Security{% endif %}** tab where LLM-powered Code Quality findings for the default branch are displayed. +{% endif %} ## 3. Key features or capabilities The key features and capabilities outlined here describe what GitHub Code Security AI features are designed to do and how they perform across supported tasks. +{% ifversion fpt or ghec %} * **Automated fix suggestions for security alerts**: Copilot Autofix automatically generates code change suggestions for CodeQL alerts found on pull requests and on the default branch. Each suggestion includes both the proposed code change and a natural language explanation of the fix. * **Alert-to-fix translation**: Copilot Autofix translates the description and location of a code scanning alert into actionable code changes that may resolve the underlying security vulnerability. The system uses CodeQL alert data in SARIF format, surrounding code snippets, and query help text to generate relevant fixes. * **Multi-language support**: Copilot Autofix supports fix generation for a subset of queries included in the default and security-extended CodeQL query suites for C#, C/C++, Go, Java/Kotlin, Swift, JavaScript/TypeScript, Python, Ruby, and Rust. For more information on these query suites, see [AUTOTITLE](/code-security/concepts/code-scanning/codeql/codeql-query-suites#built-in-codeql-query-suites). +{% endif %} * **AI-powered password detection**: Secret scanning's generic secret detection scans repository content using AI to identify unstructured secrets (like passwords) that deterministic pattern matching cannot find. Detected secrets are surfaced as alerts in the secret scanning alert list under the **{% octicon "shield" aria-hidden="true" aria-label="shield" %} {% ifversion security-and-quality-tab %}Security and quality{% else %}Security{% endif %}** tab. +{% ifversion fpt or ghec %} * **AI-powered regular expression generation**: Secret scanning's regular expression generator takes a natural language description of the pattern you want to detect, along with optional example strings, and produces up to three candidate regular expressions. Each result includes an AI-generated plain language description, and you can validate patterns via a dry run before deployment. * **Code quality issue detection**: GitHub Code Quality runs CodeQL quality queries on changed code in pull requests and periodically on the full default branch. These queries identify maintainability, reliability, and style issues. * **LLM-powered code quality analysis**: After each push to the default branch, an LLM analyzes recently changed files for quality issues beyond what deterministic engines can find. Findings are displayed in the **AI findings** dashboard. * **Automated fix suggestions for quality findings**: When a quality issue is detected by either type of analysis, Copilot Autofix generates a fix suggestion. On pull requests, the `github-code-quality` bot posts a comment with the suggested change. +{% endif %} ## 4. Intended uses GitHub Code Security AI features can be used in multiple scenarios across a variety of industries. Some examples of use cases include: +{% ifversion fpt or ghec %} * **Accelerating remediation of security vulnerabilities**: Use Copilot Autofix to quickly generate fix suggestions for CodeQL alerts, reducing the time and expertise required to address security issues found during code scanning. * **Reducing the barrier to secure coding**: Copilot Autofix helps developers with limited secure-coding training. Instead of researching vulnerabilities independently, developers start with a code suggestion that demonstrates a potential solution for their codebase. * **Streamlining pull request review**: When code scanning finds alerts on a pull request, Copilot Autofix provides suggested fixes inline, helping developers resolve security issues before merging. * **Fixing alerts on the default branch**: Copilot Autofix can also generate fix suggestions for existing alerts on the default branch, helping teams reduce their backlog of security findings. +{% endif %} * **Detecting leaked passwords in source code**: Use generic secret detection to find unstructured secrets in repositories that fall outside the coverage of partner and custom secret scanning patterns. * **Triaging credentials with contextual alerts**: When a password is detected, an alert with AI-detection context is displayed in the alerts list, enabling maintainers and security managers to review the finding and take action. +{% ifversion fpt or ghec %} * **Creating custom secret scanning patterns without regex expertise**: Use the regular expression generator to define custom patterns by describing what you want to detect in natural language, removing the need to write regular expressions manually. * **Validating generated patterns before deployment**: After generating regular expressions, use the dry-run mechanism to test patterns across your repository or organization before deploying them as custom patterns. * **Surfacing code quality issues across a repository**: Use GitHub Code Quality to identify maintainability, reliability, and style issues so developers and administrators can quickly prioritize areas of risk. * **Accelerating remediation of code quality findings**: Copilot Autofix suggests fixes for quality findings, combining information on best practices with details of the codebase to propose a potential fix directly on the pull request or in the AI findings dashboard. * **Providing actionable feedback on pull requests**: The `github-code-quality` bot posts comments with suggested fixes on pull requests, helping developers address quality issues before merging. +{% endif %} ## 5. Models and training data +{% ifversion fpt or ghec %} Copilot Autofix uses internal GitHub Copilot APIs interfacing with the large language models, which produce both suggested fixes in code and explanatory text for those fixes. +{% endif %} Generic secret detection uses models to scan for unstructured secrets. +{% ifversion fpt or ghec %} The custom pattern regular expression generator uses LLMs and the GitHub Copilot API to generate regular expressions that match user-provided descriptions and examples. GitHub Code Quality's LLM-powered analysis uses Copilot language models to analyze recently changed files for quality issues. The CodeQL quality queries component does not use an LLM. Copilot Autofix for Code Quality findings uses the same LLM pipeline as Copilot Autofix for code scanning. @@ -110,9 +136,11 @@ GitHub Code Quality's LLM-powered analysis uses Copilot language models to analy For a comparison of the models available for Copilot, see [AUTOTITLE](/copilot/reference/ai-models/model-comparison). For the full list of supported models, see [AUTOTITLE](/copilot/reference/ai-models/supported-models). For information on where models are hosted, see [AUTOTITLE](/copilot/reference/ai-models/model-hosting). To learn more about the data used to train the foundation models behind GitHub security and quality, see [What data has GitHub Copilot been trained on?](https://github.com/features/copilot#faq) in the GitHub Copilot FAQ. Data handled by Copilot Autofix is not employed for LLM training purposes. The use of this feature is governed by the existing terms and conditions associated with GitHub Advanced Security. For more information, see [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#advanced-security){% ifversion fpt %}.{% else %} in the Free, Pro, & Team documentation.{% endif %} +{% endif %} ## 6. Performance +{% ifversion fpt or ghec %} When Copilot Autofix is enabled for a repository, code scanning alerts are processed through the following pipeline: 1. **Input processing**: When a code scanning alert is identified, GitHub assembles the relevant data into a prompt for the language model. This data includes: @@ -125,6 +153,7 @@ When Copilot Autofix is enabled for a repository, code scanning alerts are proce 1. **Output formatting**: The suggestion is stored within the code scanning backend and displayed as an inline suggestion on the pull request or alert detail page. No user interaction is needed beyond enabling code scanning on the codebase and creating a pull request. ### Differences by experience +{% endif %} **AI secret detection** processes input and produces output as follows: @@ -133,6 +162,7 @@ When Copilot Autofix is enabled for a repository, code scanning alerts are proce 1. **Response generation**: The model verifies that the identified strings included in the response actually exist in the input. 1. **Output formatting**: Detected strings are surfaced as alerts on the secret scanning alerts page in a separate list from regular secret scanning alerts. Each alert notes that it was detected by AI.{% ifversion secret-scanning-ai-generic-secret-detection %} For information on how to view alerts for generic secrets, see [AUTOTITLE](/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/viewing-alerts).{% endif %} +{% ifversion fpt or ghec %} **Custom pattern regex generator** processes input and produces output as follows: 1. **Input processing**: Users input a natural language text description of the pattern they want to detect, along with optional example strings that should be matched. @@ -153,11 +183,13 @@ When Copilot Autofix is enabled for a repository, code scanning alerts are proce 1. **Language model analysis**: The LLM analyzes the finding and generates a potential fix. 1. **Response generation**: If the LLM can generate a fix, it produces a suggested code change. 1. **Output formatting**: The `github-code-quality` bot posts a comment on the pull request with the suggested change. Users can also request autofix generation for results on the default branch. +{% endif %} ## 7. Limitations Understanding GitHub Code Security AI features' limitations is crucial to determine if it is used within safe and effective boundaries. While we encourage customers to leverage GitHub Code Security AI features in their innovative solutions or applications, it's important to note that GitHub Code Security AI features was not designed for every possible scenario. We encourage users to refer to [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms) as well as the following considerations when choosing a use case: +{% ifversion fpt or ghec %} * **Non-determinism**: Copilot Autofix uses a generative model that is non-deterministic. Even with the same alert and code, it might fail to produce a viable suggestion, or the suggestion might vary across attempts. * **Problem complexity and context**: Some security alerts—such as those that require tracing data flow across a complex, multi-file codebase, or those that represent subtle logic flaws—could be difficult for the model to resolve. * **File size**: If the affected code is within a very large file or repository, the context provided to the LLM may be truncated. When the context is limited, the feature will not attempt a fix. @@ -170,6 +202,7 @@ Understanding GitHub Code Security AI features' limitations is crucial to determ * **Security vulnerabilities and misleading fixes**: The system may suggest fixes that fail to remediate the underlying vulnerability or introduce new vulnerabilities. * **Partial fixes**: The system may suggest fixes that only partially address the security vulnerability or only partially preserve intended code functionality. * **Dependency changes**: Suggested fixes may include adding or updating software dependencies. The system does not know which dependency versions are supported or secure, and may suggest fabricated dependencies published under statistically probable names. Always verify dependency changes before merging. +{% endif %} ### Limitations specific to AI secret detection @@ -178,6 +211,7 @@ Understanding GitHub Code Security AI features' limitations is crucial to determ * The file path contains "test", "mock", or "spec" * The file extension is `.cs`, `.go`, `.java`, `.js`, `.kt`, `.php`, `.py`, `.rb`, `.scala`, `.swift`, or `.ts`. +{% ifversion fpt or ghec %} ### Limitations specific to the custom pattern regex generator * **Incomplete pattern coverage**: Generated regular expressions may not match all intended tokens. The quality of results depends on the specificity and clarity of the input description. @@ -191,11 +225,13 @@ Understanding GitHub Code Security AI features' limitations is crucial to determ * **Shared limitations with Copilot code review**: Code Quality's LLM-powered analysis uses the same underlying language model and analysis engine as Copilot code review. It shares similar limitations, including incomplete detection, false positives, code suggestion accuracy, and potential biases. For more information, see [AUTOTITLE](/copilot/responsible-use/agents). * **Best-effort autofix**: Copilot Autofix for Code Quality findings operates on a best-effort basis and is not guaranteed to generate a fix for every finding. * **Review required**: You must always review suggestions from Copilot Autofix and edit changes as needed before accepting them. +{% endif %} ## 8. Evaluations {% data reusables.rai.copilot.application-card-evaluations %} +{% ifversion fpt or ghec %} ### Performance and quality evaluations GitHub Security AI features are evaluated across its supported surfaces using a combination of industry-standard benchmarks (e.g., SWE-Bench) and internally developed evaluation suites. Benchmark tasks are sourced from public open-source repositories and synthetic scenarios; no real user queries or customer code are used without permission. Each evaluation includes multiple independent runs to account for nondeterminism in model outputs. Key metrics include resolution rate (percentage of tasks successfully completed), token efficiency, latency, and tool call reliability. Models are re-evaluated when updates are made and monitored continuously in production via error rates, response latency, and aggregate usage patterns. @@ -203,6 +239,7 @@ GitHub Security AI features are evaluated across its supported surfaces using a ### Performance and quality evaluation methods New models undergo a staged evaluation process before deployment to Code Security, Code Quality, and Secret Protection. Integrator teams run benchmark suites specific to their surface, testing the model on representative coding tasks such as bug fixes, code generation, and multi-file refactoring. Results are reviewed against established baselines and existing production models. Models must meet or exceed baseline performance across key metrics like resolution rate, token efficiency, and latency, before advancing to the next stage. +{% endif %} ### Risk and safety evaluations @@ -214,6 +251,7 @@ New models undergo a staged evaluation process before deployment to Code Securit ### Custom evaluations +{% ifversion fpt or ghec %} GitHub uses an automated test harness to continuously monitor the quality of Copilot Autofix suggestions. The test harness includes a set of over 2,300 alerts from a diverse set of public repositories where the highlighted code has test coverage. Suggestions for these alerts are tested to determine how much a developer would need to edit them before committing them to the codebase. For many of the test alerts, suggestions generated by the LLM could be committed as-is to fix the alert while continuing to successfully pass all existing CI tests. GitHub tests the effectiveness of suggestions by merging all suggested changes, unedited, before running code scanning and the repository's unit tests on the resulting code: @@ -226,24 +264,31 @@ GitHub tests the effectiveness of suggestions by merging all suggested changes, In addition, GitHub spot-checks many successful suggestions and verifies that they fix the alert without introducing new problems. When one or more of these checks fail, manual triage showed that in many cases the proposed fix was nearly correct but needed some minor modifications that a user could identify and manually perform. The system is also stress-tested to check for potential harm (red teaming), and a filtering system on the LLM helps prevent potentially harmful suggestions from being displayed to users. +{% endif %} AI secret detection has been subject to Responsible AI Red Teaming and GitHub continues to monitor the efficacy and safety of the feature over time. +{% ifversion fpt or ghec %} Custom pattern regex generator results are validated through the dry-run mechanism, which allows users to test generated patterns across their repository or organization before deploying them as custom patterns. This built-in validation step helps ensure that generated regular expressions perform as expected before they are used in production. GitHub Code Quality's LLM-powered analysis shares the evaluation framework of Copilot code review. Copilot Autofix suggestions for Code Quality findings follow the same test harness as Copilot Autofix for code scanning. +{% endif %} ## 9. Safety components and mitigations +{% ifversion fpt or ghec %} * **Human-in-the-loop review**: Copilot Autofix presents all suggestions as proposed code changes that require explicit developer review and acceptance before being applied. Developers must evaluate each suggestion and verify it maintains the codebase's intended behavior. * **Content filtering**: A filtering system on the LLM detects and prevents potentially harmful suggestions from being displayed to users. The system is stress-tested through red teaming to identify potential vulnerabilities. * **Internal quality testing**: Suggestions that fail internal testing are not displayed to users. Fix generation is only shown when the system has sufficient confidence in the suggestion's quality. * **Opt-in/opt-out controls**: Copilot Autofix is allowed by default and enabled for every repository using CodeQL, but administrators can disable Copilot Autofix at the enterprise, organization, and repository levels. For more information, see [AUTOTITLE](/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/disabling-autofix-for-code-scanning). * **No training on customer data**: Data handled by Copilot Autofix is not employed for LLM training purposes. The use of this feature is governed by the existing terms and conditions associated with GitHub Advanced Security. +{% endif %} * **False positive feedback loop**: When users close a generic secret detection alert and mark the reason as "False positive," GitHub uses the false positive volume to improve the model. GitHub does not have access to the secret literals themselves. +{% ifversion fpt or ghec %} * **Dry-run validation for generated patterns**: Generated regular expressions from the custom pattern regex generator must go through a dry-run validation step before deployment. Users explicitly import a result into the custom pattern form and test it across their repository or organization, ensuring patterns perform as expected before they are used in production. * **Explicit user action required**: The regex generator does not automatically deploy patterns. Users must click **Use result** to copy a generated expression into the custom pattern form, then manually save and enable the pattern. * **Feedback mechanism for Code Quality**: Users can provide feedback on Code Quality suggestions using the thumbs up and thumbs down buttons on the `github-code-quality` bot's comments, helping GitHub improve suggestion quality. +{% endif %} ## 10. Best practices for deploying and adopting GitHub Code Security AI features @@ -251,42 +296,54 @@ Responsible AI is a shared commitment between GitHub and its customers. While Gi * **Exercise caution and evaluate outcomes when using GitHub Security AI features for consequential decisions or in sensitive domains**: {% data reusables.rai.copilot.application-card-consequential-decisions %} * **Evaluate legal and regulatory considerations**: {% data reusables.rai.copilot.application-card-evaluate-legal-regulatory %} +{% ifversion fpt or ghec %} * **Always review suggestions before accepting**: Evaluate the proposed code change to ensure it correctly fixes the security vulnerability without changing the intended behavior of your code. Having good test coverage helps verify that a fix does not change the behavior of the codebase. * **Verify CI tests pass**: After committing a suggested fix or modified fix, always verify that continuous integration testing (CI) for the codebase continues to pass and that the alert is shown as resolved before merging your pull request. * **Review dependency changes carefully**: If a suggested fix includes changes to dependencies, verify that any added or updated dependencies are secure, supported, and maintain the intended behavior of the codebase. Use dependency management solutions, such as the dependency review API and action, to evaluate changes. For more information, see [AUTOTITLE](/code-security/concepts/supply-chain-security/dependency-review). +{% endif %} * **Close false positive alerts appropriately**: Since AI secret detection may generate more false positives than partner pattern detection, review the accuracy of each alert. When you verify an alert to be a false positive, close the alert and mark the reason as "False positive" in the GitHub UI. This feedback helps improve the model. +{% ifversion fpt or ghec %} * **Validate generated regex patterns with a dry run**: When using the custom pattern regex generator, always perform a dry run across representative repositories before deploying a generated pattern organization-wide. * **Be specific with descriptions**: To improve the quality of generated regular expressions, be as specific as possible with your natural language descriptions and include diverse example strings that represent the patterns you want to detect. * **Review all generated patterns**: Carefully review each of the generated regular expressions, including the AI-generated plain language descriptions, and consider modifying results to more fully meet your needs. You remain ultimately responsible for any custom patterns you decide to use. * **Review Code Quality findings before applying fixes**: Always verify the accuracy and applicability of Code Quality findings and Autofix suggestions to your codebase before accepting them. * **Provide feedback on Code Quality suggestions**: Use the thumbs up and thumbs down buttons on the `github-code-quality` bot's comments to help improve the tool and address any concerns or limitations. +{% endif %} * **Exercise human oversight when appropriate**: Human oversight is an important safeguard when interacting with AI applications. While we continuously improve our AI applications, AI might still make mistakes. The outputs generated may be inaccurate, incomplete, biased, misaligned, or irrelevant to your intended goals. This could happen due to various reasons, such as ambiguity in the inputs or limitations of the underlying models. As such, users should review the responses generated by GitHub Code Security AI features and verify that they match their expectations and requirements. * **Be aware of the risk of overreliance**: {% data reusables.rai.copilot.application-card-overreliance %} * **Exercise caution when designing agentic AI in sensitive domains**: {% data reusables.rai.copilot.application-card-agentic-ai-caution %} +{% ifversion fpt or ghec %} * **Enable CI testing on pull requests**: Ensure continuous integration testing is in place before enabling Copilot Autofix, so that functional requirements are verified after developers apply fixes. * **Use dependency management solutions**: Enable dependency review on pull requests to catch potentially risky dependency changes introduced by Autofix suggestions. * **Review security overview metrics**: Use your organization's security overview dashboard to view the total number of Copilot Autofix suggestions generated on open and closed pull requests for a given time period. For more information, see [AUTOTITLE](/code-security/reference/security-at-scale/overview-dashboard-metrics#pull-request-alerts-fixed-with-copilot-autofix-suggestions). +{% endif %} * **Evaluate false-positive volume for secret detection**: Evaluate the false-positive volume and establish triage processes for the alerts list. +{% ifversion fpt or ghec %} * **Monitor Code Quality suggestion volume and quality**: Evaluate the volume and quality of Code Quality suggestions and adjust enablement as appropriate for your organization. +{% endif %} ## 11. Learn more about GitHub Security AI features For additional guidance on the responsible use of GitHub Security AI features, we recommend reviewing the following documentation: +{% ifversion fpt or ghec %} * [AUTOTITLE](/code-security/concepts/code-scanning/code-scanning-alerts) * [AUTOTITLE](/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/triage-alerts-in-pull-requests#working-with-copilot-autofix-suggestions-for-alerts-on-a-pull-request) * [AUTOTITLE](/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/resolve-alerts#generating-a-suggested-fix) * [AUTOTITLE](/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/disabling-autofix-for-code-scanning) +{% endif %} * [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-terms-for-additional-products-and-features#advanced-security) * [AUTOTITLE](/code-security/concepts/secret-security/secret-scanning) * [AUTOTITLE](/code-security/how-tos/secure-your-secrets/detect-secret-leaks/enabling-secret-scanning-for-ai-detected-secrets) -* [AUTOTITLE](/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts){% ifversion ghec %} -* [AUTOTITLE](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise#enforcing-a-policy-to-manage-the-use-of-generic-secret-detection-for-secret-scanning-in-your-enterprises-repositories){% endif %} +* [AUTOTITLE](/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts){% ifversion ghec or ghes %} +* [AUTOTITLE](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-security-and-analysis-for-your-enterprise#enforcing-a-policy-to-manage-the-use-of-ai-detection-for-secret-scanning-in-your-enterprises-repositories){% endif %} +{% ifversion fpt or ghec %} * [AUTOTITLE](/code-security/how-tos/secure-your-secrets/customize-leak-detection/generating-regular-expressions-for-custom-patterns-with-ai) * [AUTOTITLE](/code-security/how-tos/secure-your-secrets/customize-leak-detection/define-custom-patterns) * [AUTOTITLE](/code-security/concepts/code-quality/code-quality) * [AUTOTITLE](/copilot/responsible-use/agents) * [Community discussion for Code Quality feedback](https://github.com/orgs/community/discussions/177488) +{% endif %} ### Learn more about responsible AI diff --git a/content/copilot/concepts/agents/copilot-cli/cancel-and-roll-back.md b/content/copilot/concepts/agents/copilot-cli/cancel-and-roll-back.md index c38d4c0bca9e..60b59392e8a3 100644 --- a/content/copilot/concepts/agents/copilot-cli/cancel-and-roll-back.md +++ b/content/copilot/concepts/agents/copilot-cli/cancel-and-roll-back.md @@ -16,7 +16,7 @@ category: When you work in an interactive {% data variables.copilot.copilot_cli_short %} session, you can press Esc or Ctrl+C to control what {% data variables.product.prodname_copilot_short %} is doing. Both keypresses can cancel operations, but they work slightly differently: -* Ctrl+C acts immediately, without a confirming second press—removing any queued prompts first (one per press), then canceling the current operation. +* Ctrl+C acts immediately, without a confirming second press—clearing any queued prompts and canceling the current operation. * A single Esc keypress gives you more gradual, staged control. While {% data variables.product.prodname_copilot_short %} is actively working, a single Esc doesn't cancel right away—it shows a reminder, and a second press interrupts the current operation. In a local session, any queued prompts are then processed as the next turn. In a remote-backed or attached session, the second press fully cancels the operation instead, and queued prompts are not carried over to a follow-up turn. If {% data variables.product.prodname_copilot_short %} has already made changes and you want to undo them, you can roll back to a previous point in the session. As {% data variables.product.prodname_copilot_short %} works, {% data variables.copilot.copilot_cli_short %} tracks the file changes it makes as it responds to each prompt. This lets you rewind to an earlier point by pressing Esc twice when {% data variables.product.prodname_copilot_short %} is idle and the input area is empty. When you rewind, you choose whether to rewind the conversation only, or to also restore the files that {% data variables.product.prodname_copilot_short %} changed. @@ -48,7 +48,7 @@ The main difference between these two ways of canceling an operation is that Esc when you want a confirming keypress before interrupting an operation. If a permission dialog appears and you want to deny that specific request, pressing Esc once rejects the request and stops the current operation. If you've queued follow-up prompts in a local session, pressing Esc twice interrupts the current operation and processes the queued prompts as the next turn. In a remote-backed or attached session, pressing Esc twice fully cancels the operation instead, and queued prompts are not run as a follow-up turn. -Use Ctrl+C when you want to cancel without the confirming second press that Esc requires. If no prompts are queued, a single Ctrl+C immediately cancels the active operation. If you have queued prompts, each Ctrl+C removes the most recently queued prompt—one per press—and cancels the active operation only once the queue is empty. Any file write that is already in progress will complete—files are not left corrupted mid-write—but any remaining planned changes are abandoned. Pressing Ctrl+C a second time within two seconds, when the input area is empty, exits the session entirely. +Use Ctrl+C when you want to cancel without the confirming second press that Esc requires. A single Ctrl+C immediately cancels the active operation and clears any queued prompts. Any file write that is already in progress will complete—files are not left corrupted mid-write—but any remaining planned changes are abandoned. Pressing Ctrl+C a second time within two seconds, when the input area is empty, exits the session entirely. As a rule of thumb, use Esc when you want to intervene selectively, and Ctrl+C when you want to stop and start over. diff --git a/content/copilot/concepts/enterprise/default-availability.md b/content/copilot/concepts/enterprise/default-availability.md new file mode 100644 index 000000000000..80b3db77d3b9 --- /dev/null +++ b/content/copilot/concepts/enterprise/default-availability.md @@ -0,0 +1,73 @@ +--- +title: About default availability of {% data variables.product.prodname_copilot_short %} features and models +shortTitle: Default availability +intro: Policies control whether unconfigured features and models default to enabled or disabled. +product: '{% data variables.copilot.copilot_business_short %} and {% data variables.copilot.copilot_enterprise_short %}' +versions: + feature: copilot +contentType: concepts +category: + - Learn about Copilot + - Manage Copilot for a team +redirect_from: + - /copilot/concepts/models/automatic-enablement + - /copilot/concepts/models/default-availability + - /copilot/concepts/enterprise/default-model-availability +--- + +{% data reusables.copilot.default-availability-policies %} + + + +## Default availability of features + +The **Default policy for new features** policy is available to configure but is **not** currently active. It will start applying to new and existing GA features from October 22, 2026. In your policy settings, you will see a banner showing how many eligible policies are currently unconfigured, so you can assess the impact of your global default and explicitly configure individual policies before October 22. + +This policy is enabled by default. If you don't take action, unconfigured features will be enabled on October 22. + + + +### What does the policy do? + +Your setting for this policy determines the enablement status of: + +* New GA (general availability) features +* Features that move from preview to GA +* Existing GA features that are **Unconfigured** in your policy settings + +The policy can be configured in an enterprise and its organizations. At the enterprise level, it applies to features labeled as **Unconfigured**. At the organization level, it applies to features that an enterprise owner has set to **Let organizations decide**, but that an organization owner has not explicitly configured. + +The policy does **not** apply to features in preview. + +### What counts as a feature? + +For the purposes of this policy, a "feature" refers to any policy configured on an enterprise's "Features & clients" page (`github.com/enterprises/ENTERPRISE/ai-controls/copilot/features`), **plus**: + +* The **{% data variables.copilot.copilot_code-review_short %}** policy on the "Agents" page +* The **MCP servers in {% data variables.product.prodname_copilot_short %}** policy on the "MCP" page + +The following policies are exceptions and are **not** affected: + +* Restrictive model policies on {% data variables.enterprise.data_residency_site %}: **Restrict Copilot to data residency models** and **Restrict Copilot to FedRAMP models** +* **Store local sessions in the Cloud** for {% data variables.copilot.copilot_cli_short %} and {% data variables.product.prodname_vscode_shortname %} + +## Default availability of models + +The **Default availability for released models** policy is active and affects new and unconfigured GA models. + +### Which models follow the policy? + +{% data reusables.copilot.model-autoenablement-excluded-models %} + +## How do I prevent default enablement? + +To disable default enablement entirely, disable the default policies in your enterprise or organization's settings. You can set a policy for the entire enterprise, or disable the policy only in organizations with stricter compliance requirements. + +If you keep the default availability policies enabled, you can explicitly disable individual features and models so that they are not eligible for automatic enablement. + +* For features, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies) and [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies). +* For models, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-availability-of-default-models) and [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/manage-default-models). + +## How do I prepare for new releases? + +We recommend keeping up with new releases and GA announcements so you can choose your enablement settings. New features and models are announced on {% data variables.product.github %}'s changelog. For more information, see [AUTOTITLE](/copilot/concepts/enterprise/learning-about-new-features-and-models). diff --git a/content/copilot/concepts/enterprise/default-model-availability.md b/content/copilot/concepts/enterprise/default-model-availability.md deleted file mode 100644 index f8e8b32aa093..000000000000 --- a/content/copilot/concepts/enterprise/default-model-availability.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: About default availability of {% data variables.product.prodname_copilot_short %} models -shortTitle: Default model availability -intro: A policy controls whether unconfigured models default to enabled or disabled. -product: '{% data variables.copilot.copilot_business_short %} and {% data variables.copilot.copilot_enterprise_short %}' -versions: - feature: copilot -contentType: concepts -category: - - Learn about Copilot - - Manage Copilot for a team -redirect_from: - - /copilot/concepts/models/automatic-enablement - - /copilot/concepts/models/default-availability - - /copilot/concepts/enterprise/default-availability ---- - -For enterprises with {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plans, the **Default availability for released models** policy controls whether unconfigured generally available (GA) models default to enabled or disabled. If this policy is enabled, users benefit from the latest models without the need for administrator intervention. - -## Which models follow the policy? - -{% data reusables.copilot.model-autoenablement-excluded-models %} - -## How do I prevent default enablement? - -To disable default enablement entirely, disable the **Default availability for released models** policy in your enterprise or organization's models policies. You can set a policy for the entire enterprise, or disable the policy only in organizations with stricter compliance requirements. - -If you keep the **Default availability for released models** policy enabled, you can explicitly disable individual models so that they are not eligible for automatic enablement. - -For instructions on managing model policies, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-availability-of-default-models) and [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/manage-default-models). - -## How do I prepare for new models? - -We recommend keeping up with new model releases so you can choose your enablement settings for each one. New models are announced on {% data variables.product.github %}'s changelog. For more information, see [AUTOTITLE](/copilot/concepts/enterprise/learning-about-new-features-and-models#learning-about-new-copilot-models). diff --git a/content/copilot/concepts/enterprise/index.md b/content/copilot/concepts/enterprise/index.md index d5564c05253e..714556324bee 100644 --- a/content/copilot/concepts/enterprise/index.md +++ b/content/copilot/concepts/enterprise/index.md @@ -6,7 +6,7 @@ versions: feature: copilot children: - /policies - - /default-model-availability + - /default-availability - /fedramp-models - /learning-about-new-features-and-models - /agent-management diff --git a/content/copilot/concepts/enterprise/learning-about-new-features-and-models.md b/content/copilot/concepts/enterprise/learning-about-new-features-and-models.md index 74245e782348..2ecec9d8ac51 100644 --- a/content/copilot/concepts/enterprise/learning-about-new-features-and-models.md +++ b/content/copilot/concepts/enterprise/learning-about-new-features-and-models.md @@ -60,10 +60,6 @@ You can find information about the models available and upcoming models in the f * **Model comparison**: To compare model capabilities side by side, see [AUTOTITLE](/copilot/reference/ai-models/model-comparison). * **Changelog**: Model updates are announced in the [{% data variables.product.prodname_copilot_short %} changelog](https://github.blog/changelog/label/copilot/). -#### Default enablement - -{% data reusables.copilot.model-autoenablement %} - #### Special categories {% data variables.product.company_short %} categorizes certain types of model, allowing you to plan for model transitions and set user expectations. @@ -80,6 +76,12 @@ You can find information about the models available and upcoming models in the f For more information, see [AUTOTITLE](/copilot/concepts/models/utility-models) and [AUTOTITLE](/copilot/concepts/models/fallback-and-lts-models). +### Default enablement + +{% data reusables.copilot.default-availability-policies %} + +For more information, see [AUTOTITLE](/copilot/concepts/enterprise/default-availability). + ## Considering different release stages {% data variables.product.prodname_copilot_short %} features and models progress through different release stages. Understanding release stages helps you decide when to enable features for your organization. Each stage has different expectations for stability and support. diff --git a/content/copilot/concepts/enterprise/policies.md b/content/copilot/concepts/enterprise/policies.md index 4918686dbcaf..ade5bab57cee 100644 --- a/content/copilot/concepts/enterprise/policies.md +++ b/content/copilot/concepts/enterprise/policies.md @@ -40,6 +40,12 @@ A user's individual plan is cancelled when they are added to a {% data variables To see details for each policy, see [AUTOTITLE](/copilot/reference/enterprise-administrators/policy-conflicts). +## What is the default status of policies? + +{% data reusables.copilot.default-availability-policies %} + +For more information, see [AUTOTITLE](/copilot/concepts/enterprise/default-availability). + ## Where do policies apply? Policies can apply to any surface where users authenticate to {% data variables.product.prodname_copilot_short %}, including IDEs, the {% data variables.product.github %} website, and {% data variables.copilot.copilot_cli_short %}. diff --git a/content/copilot/get-started/quickstart-for-using-github-copilot-in-your-ide.md b/content/copilot/get-started/quickstart-for-using-github-copilot-in-your-ide.md index 68b350659b10..b7d7f3386b51 100644 --- a/content/copilot/get-started/quickstart-for-using-github-copilot-in-your-ide.md +++ b/content/copilot/get-started/quickstart-for-using-github-copilot-in-your-ide.md @@ -28,7 +28,7 @@ This quickstart shows you how to use these capabilities. It takes about ten minu ## Prerequisites -* **An active {% data variables.product.prodname_copilot_short %} plan.** See [AUTOTITLE](/copilot/get-started/what-is-github-copilot#get-access). +* **An active {% data variables.product.prodname_copilot_short %} plan.** See [AUTOTITLE](/copilot/get-started/about-github-copilot#get-access). * **The {% data variables.product.prodname_copilot_short %} extension for your IDE.** See [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). * **Signed in to {% data variables.product.company_short %} in your IDE.** If you have authentication problems, see [AUTOTITLE](/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues). diff --git a/content/copilot/tutorials/roll-out-at-scale/govern-at-scale/govern-for-adoption.md b/content/copilot/tutorials/roll-out-at-scale/govern-at-scale/govern-for-adoption.md index 303d0d0b08f1..b2f1f15c1924 100644 --- a/content/copilot/tutorials/roll-out-at-scale/govern-at-scale/govern-for-adoption.md +++ b/content/copilot/tutorials/roll-out-at-scale/govern-at-scale/govern-for-adoption.md @@ -34,10 +34,12 @@ Developers get the most value from {% data variables.product.prodname_copilot_sh Consider enabling vetted capabilities promptly, rather than disabling features by default and enabling them only after review: * **Enable new features as they become available**, unless you have a specific compliance reason not to. {% data variables.product.github %} vets all features and models before release. -* **Enable new models automatically**. By default, most new generally available models are enabled automatically. We recommend keeping the **Default availability for released models** policy enabled and only explicitly disabling individual models that you do not want to be available. +* **Enable new models automatically**. By default, most new generally available models are enabled automatically. * **Only set enterprise-level defaults to disabled for non-negotiables**, such as compliance-critical controls or features that conflict with regulatory requirements. * **Scope restrictions to sensitive organizations**. Rather than blocking features enterprise-wide, disable them only in organizations with stricter compliance requirements. This lets other organizations move faster. +We recommend keeping the default availability policies enabled for both features and models, and only explicitly disabling individual features and models that you do not want to be available. See [AUTOTITLE](/copilot/concepts/enterprise/default-availability). + ### Spend management and policy posture Spend controls interact with your policies. If you enable advanced models and agentic features but set tight budget limits, developers may not be able to use those features consistently. diff --git a/content/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles.md b/content/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles.md index 59459bce8f6d..d8235c1698d3 100644 --- a/content/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles.md +++ b/content/organizations/managing-peoples-access-to-your-organization-with-roles/permissions-of-custom-organization-roles.md @@ -81,7 +81,7 @@ Organization permissions do not grant read, write, or administrator access to an | View {% data variables.product.prodname_dependabot %} alert dismissal requests | View {% data variables.product.prodname_dependabot %} alert dismissal requests for your organization. | [AUTOTITLE](/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/enable-delegated-alert-dismissal) | | {% endif %} | | {% ifversion copilot %} | -| View organization {% data variables.product.prodname_copilot_short %} metrics | View {% data variables.product.prodname_copilot_short %} usage metrics for your organization. | [AUTOTITLE](/copilot/concepts/copilot-usage-metrics/copilot-metrics) | +| View organization {% data variables.product.prodname_copilot_short %} metrics | View {% data variables.product.prodname_copilot_short %} usage metrics for your organization. | [AUTOTITLE](/copilot/concepts/billing-and-usage/copilot-usage-metrics/copilot-metrics) | | {% endif %} | {% endrowheaders %} diff --git a/data/reusables/copilot/default-availability-policies.md b/data/reusables/copilot/default-availability-policies.md new file mode 100644 index 000000000000..f6c55c3d9de7 --- /dev/null +++ b/data/reusables/copilot/default-availability-policies.md @@ -0,0 +1,7 @@ +For enterprises with {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plans, two separate policies control whether unconfigured generally available (GA) features and models default to enabled or disabled. If these policies are enabled, users benefit from the latest features and models without the need for administrator intervention. + + + +The models policy is already active. The feature policy will become active soon. + +