Skip to content

Commit 15f46fa

Browse files
[EDI] Managing requests to bypass push protection (#59351)
Co-authored-by: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com>
1 parent f802032 commit 15f46fa

File tree

3 files changed

+76
-28
lines changed

3 files changed

+76
-28
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
title: About bypass requests for push protection
3+
intro: 'Learn how bypass requests work when push protection blocks commits containing secrets.'
4+
permissions: '{% data reusables.permissions.delegated-bypass-list %}'
5+
versions:
6+
fpt: '*'
7+
ghec: '*'
8+
ghes: '*'
9+
topics:
10+
- Secret scanning
11+
- Secret Protection
12+
- Alerts
13+
- Repositories
14+
shortTitle: Bypass requests
15+
contentType: concepts
16+
---
17+
18+
## About bypass requests for push protection
19+
20+
When push protection blocks a commit containing a secret, contributors may need to bypass the block to complete their push. If delegated bypass for push protection is enabled, contributors without bypass privileges must submit a bypass request and wait for approval from designated reviewers. This allows organizations to maintain security oversight while enabling legitimate exceptions when needed. For more information, see [AUTOTITLE](/code-security/concepts/secret-security/about-delegated-bypass-for-push-protection).
21+
22+
If delegated bypass for push protection is not enabled, contributors can bypass push protection at their own discretion.
23+
24+
When enabling delegated bypass for push protection, organization owners or repository administrators decide which {% ifversion push-protection-bypass-fine-grained-permissions %}individuals, {% endif %}roles or teams can review (approve or deny) requests to bypass push protection.
25+
26+
If you are a designated reviewer, you must review bypass requests and either approve or deny them based on the request details and your organization's security policies.
27+
28+
## How bypass requests work
29+
30+
When a contributor without bypass privileges requests to push a commit containing a secret, a bypass requests is sent to the reviewers. The designated group of reviewers:
31+
32+
* Receives an email notification containing a link to the request
33+
* Reviews the request in the "Bypass requests" page of the repository{% ifversion security-overview-delegated-bypass-requests %}, or in the organization's security overview{% endif %}.
34+
* Has **7 days** to either approve or deny the request before the request expires
35+
36+
### Information available to reviewers
37+
38+
{% data variables.product.github %} displays the following information for each request:
39+
40+
* Name of the user who attempted the push
41+
* Repository where the push was attempted
42+
* Commit hash of the push
43+
* Timestamp of the push{% ifversion push-protection-delegated-bypass-enhancements %}
44+
* File path and branch information (branch information is only available for pushes to single branches){% endif %}
45+
46+
### Outcomes
47+
48+
The contributor is notified by email of the decision and must take the required action:
49+
50+
* **If the request is approved**: The contributor can push the commit containing the secret to the repository.
51+
* **If the request is denied**: The contributor must remove the secret from the commit before successfully pushing the commit to the repository.
52+
53+
## Automatic bypass request reviews
54+
55+
You can use {% data variables.product.prodname_github_apps %} with fine-grained permissions to programmatically review and approve push protection bypass requests. This enables you to enforce consistent security policies, integrate with external security tools, or reduce manual review burden.
56+
57+
{% ifversion ghes %}
58+
59+
>[!NOTE]
60+
> For {% data variables.product.prodname_ghe_server %}, the use of {% data variables.product.prodname_github_apps %} to review bypass requests is available from version 3.19.
61+
62+
{% endif %}
63+
64+
> For more information about permissions, see [Organization permissions for "Organization bypass requests for secret scanning"](/enterprise-cloud@latest/rest/authentication/permissions-required-for-github-apps?apiVersion=2022-11-28#organization-permissions-for-organization-bypass-requests-for-secret-scanning).
65+
66+
## Next steps
67+
68+
* To learn how to manage bypass requests for push protection as a reviewer, see [AUTOTITLE](/code-security/how-tos/secure-your-secrets/manage-bypass-requests/managing-requests-to-bypass-push-protection).

content/code-security/concepts/secret-security/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ children:
1616
- /about-secret-security-with-github
1717
- /about-alerts
1818
- /about-delegated-bypass-for-push-protection
19+
- /about-bypass-requests-for-push-protection
1920
- /about-secret-scanning-for-partners
2021
- /github-secret-types
2122
- /push-protection-from-the-command-line

content/code-security/how-tos/secure-your-secrets/manage-bypass-requests/managing-requests-to-bypass-push-protection.md

Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -17,36 +17,15 @@ redirect_from:
1717
- /code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/delegated-bypass-for-push-protection/managing-requests-to-bypass-push-protection
1818
---
1919

20-
## Managing requests to bypass push protection
21-
2220
{% data reusables.secret-scanning.push-protection-delegate-bypass-beta-note %}
2321

24-
When enabling delegated bypass for push protection, organization owners or repository administrators decide which {% ifversion push-protection-bypass-fine-grained-permissions %}individuals, {% endif %}roles or teams can review (approve or deny) requests to bypass push protection.
25-
26-
>[!NOTE]
27-
> You can also use {% data variables.product.prodname_github_apps %} with fine-grained permissions to programmatically review and approve push protection bypass requests. This enables your organization to streamline security request reviews and enforce policies, or integrate with external security tools, ensuring that all reviews meet established standards. _For {% data variables.product.prodname_ghe_server %}, the use of {% data variables.product.prodname_github_apps %} to review bypass requests is available from version 3.19._
28-
> For more information about permissions, see [Organization permissions for "Organization bypass requests for secret scanning"](/enterprise-cloud@latest/rest/authentication/permissions-required-for-github-apps?apiVersion=2022-11-28#organization-permissions-for-organization-bypass-requests-for-secret-scanning).
29-
30-
When a contributor requests bypass privileges to push a commit containing a secret, this designated group of reviewers:
31-
32-
* Receives an email notification containing a link to the request.
33-
* Reviews the request in the "Bypass requests" page of the repository{% ifversion security-overview-delegated-bypass-requests %}, or in the organization's security overview{% endif %}.
34-
* Has 7 days to either approve or deny the request before the request expires.
35-
36-
To help reviewers efficiently triage secrets for which there is a bypass request, {% data variables.product.prodname_dotcom %} displays the following information in the request:
37-
38-
* Name of the user who attempted the push.
39-
* Repository where the push was attempted.
40-
* Commit hash of the push.
41-
* Timestamp of the push.{% ifversion push-protection-delegated-bypass-enhancements %}
42-
* File path and branch information. The branch information is only available for pushes to single branches.{% endif %}
22+
When delegated bypass for push protection is enabled, designated reviewers can approve or deny requests from contributors who want to push commits containing secrets.
4323

44-
The contributor is notified of the decision by email and must take the required action:
24+
This article explains how to review and manage bypass requests for repositories and organizations.
4525

46-
* If the request is approved, the contributor can push the commit containing the secret to the repository.
47-
* If the request is denied, the contributor must remove the secret from the commit in order to successfully push the commit to the repository.
26+
For more information about how bypass requests work, see [AUTOTITLE](/code-security/concepts/secret-security/about-bypass-requests-for-push-protection).
4827

49-
### Managing requests for a repository
28+
## Managing requests for a repository
5029

5130
{% data reusables.repositories.navigate-to-repo %}
5231
{% data reusables.repositories.sidebar-security %}
@@ -61,13 +40,13 @@ The contributor is notified of the decision by email and must take the required
6140

6241
{% ifversion security-overview-delegated-bypass-requests %}
6342

64-
### Managing requests for an organization
43+
## Managing requests for an organization
6544

6645
Organization owners, security managers and organization members with the relevant fine-grained permission (via a custom role) can review and manage bypass requests for all repositories in the organization using security overview. See [AUTOTITLE](/code-security/security-overview/reviewing-requests-to-bypass-push-protection).
6746

6847
{% endif %}
6948

70-
### Filtering requests
49+
## Filtering requests
7150

7251
You can filter requests by:
7352

@@ -76,7 +55,7 @@ You can filter requests by:
7655
* Timeframe
7756
* Status
7857

79-
#### Filtering by status
58+
### Filtering by status
8059

8160
The following statuses are assigned to a request:
8261

0 commit comments

Comments
 (0)