Recommendations

All best-practice recommendations evaluated by GitHub Quick Review (ghqr)

GitHub Quick Review (ghqr) evaluates your GitHub resources against the following best-practice recommendations. Each recommendation has a stable ID, scope, category, and severity level.

Recommendations are grouped by scope:

  • repository - Evaluated against each scanned repository
  • organization - Evaluated against each scanned organization
  • enterprise - Evaluated against a GitHub Enterprise Cloud tenant
  • ghes - Evaluated against a GitHub Enterprise Server appliance

Severity levels range from critical (immediate risk) to info (informational observation). See the Overview for a full description of severity levels.

IDScopeCategorySeverityTitle
ent-alert-001enterprisedependenciescriticalCritical Dependabot alerts open across enterprise
ent-alert-002enterprisedependencieshighHigh-severity Dependabot alerts open across enterprise
ent-alert-003enterprisesecurityhighCode scanning alerts open across enterprise
ent-alert-004enterprisesecuritycriticalSecret scanning alerts open across enterprise
ent-budget-001enterprisebudgetcriticalNo billing budgets configured
ent-budget-002enterprisebudgethighNo budgets have alerting enabled
ent-budget-003enterprisebudgetmediumBudgets without usage prevention when exceeded
ent-ghas-001enterprisesecurityhighGitHub Advanced Security not enabled at enterprise level
ent-ghas-002enterprisesecurityhighSecret scanning not enabled as enterprise default
ent-ghas-003enterprisesecurityhighSecret scanning push protection not enabled as enterprise default
ent-ghas-004enterprisedependencieshighDependabot alerts not enabled as enterprise default
ent-ghas-005enterprisedependenciesmediumDependabot security updates not enabled as enterprise default
ent-ghas-006enterprisedependenciesmediumDependency graph not enabled as enterprise default
ent-ghas-007enterprisesecuritylowSecret scanning for non-provider patterns not enabled as enterprise default
ent-log-001enterprisesecuritycriticalSuspicious audit log events detected
ent-log-002enterprisesecurityhighAudit log streaming configuration cannot be verified
ghes-actions-001ghesactionsmediumGitHub Actions is not enabled on the GHES instance
ghes-actions-002ghesactionsinfoGitHub Actions is enabled on the GHES instance
ghes-actions-003ghesactionsinfoGitHub Actions status could not be confirmed on this GHES instance
ghes-audit-001ghessecuritycriticalSuspicious audit log events detected
ghes-audit-002ghessecurityinfoNo suspicious audit log events detected
ghes-auth-001ghesghes_authenticationhighPassword authentication is enabled on the GHES instance
ghes-auth-002ghesghes_authenticationcriticalGHES is using built-in authentication instead of an external identity provider
ghes-auth-003ghesghes_authenticationinfoGHES authentication mode observed
ghes-auth-004ghesghes_authenticationhighOpen signup is enabled on the GHES instance
ghes-auth-005ghesghes_authenticationmediumHigh percentage of GHES users are suspended
ghes-infra-001ghesghes_infrastructuremediumAdministrative SSH access is enabled on the GHES instance
ghes-infra-002ghesghes_infrastructureinfoGHES management settings could not be read; configuration checks were skipped
ghes-infra-003ghessecurityhighAudit log forwarding configuration cannot be verified automatically
ghes-infra-004ghesghes_infrastructurehighGHES backup configuration cannot be verified automatically
ghes-infra-005ghesghes_infrastructuremediumHigh availability (HA) replica configuration cannot be verified automatically
ghes-infra-006ghessecurityhighGHES signing key rotation status cannot be verified automatically
ghes-license-001ghesghes_licensehighGHES license is expiring soon
ghes-license-002ghesghes_licensehighGHES license seat utilisation is high
ghes-license-003ghesghes_licenseinfoGHES license seat utilisation summary
ghes-license-004ghesghes_licenseinfoGHES license is unlimited
ghes-license-005ghesghes_licensecriticalGHES license expires within 30 days
ghes-net-001ghesghes_networkingcriticalSubdomain isolation is not enabled
ghes-net-002ghesghes_networkingcriticalPrivate mode is disabled
ghes-net-003ghesghes_networkingmediumPublic GitHub Pages are enabled on the GHES instance
ghes-net-004ghesghes_networkingcriticalGitHub Pages is enabled while subdomain isolation is disabled
ghes-sec-001ghessecurityhighGitHub Advanced Security (GHAS) is not enabled on the GHES instance
ghes-sec-002ghessecurityhighSecret scanning is not enabled on the GHES instance
ghes-sec-003ghessecurityinfoSecret scanning status could not be confirmed on this GHES instance
ghes-sec-004ghessecurityhighSecret scanning push protection is not enabled
ghes-sec-005ghessecurityhighCode scanning is not enabled on the GHES instance
ghes-sec-006ghessecurityinfoCode scanning status could not be confirmed on this GHES instance
ghes-sec-007ghesdependenciescriticalCritical Dependabot alerts open across the GHES instance
ghes-sec-008ghesdependencieshighHigh-severity Dependabot alerts open across the GHES instance
ghes-sec-009ghessecurityhighCode scanning alerts open across the GHES instance
ghes-sec-010ghessecuritycriticalSecret scanning alerts open across the GHES instance
ghes-sec-011ghesdependencieshighDependabot alerts are not enabled on the GHES instance
ghes-sec-012ghesdependenciesinfoDependabot alerts status could not be confirmed on this GHES instance
ghes-sec-013ghesdependenciesmediumDependabot security updates are not enabled on the GHES instance
ghes-sec-014ghesdependenciesinfoDependabot alerts API could not be confirmed on this GHES instance
ghes-sec-015ghessecurityinfoCode scanning alerts API could not be confirmed on this GHES instance
ghes-sec-016ghessecurityinfoSecret scanning alerts API could not be confirmed on this GHES instance
ghes-server-001ghesghes_serverinfoGHES instance version detected
ghes-server-002ghesghes_serverinfoGHES version is within the supported release window
ghes-server-003ghesghes_serverhighGHES version is no longer in support
ghes-server-004ghesghes_servermediumGHES version string could not be parsed
ghes-server-005ghesghes_servermediumGHES server version could not be determined
ghes-server-006ghesghes_serverhighGHES instance is currently in maintenance mode
ghes-stats-001ghesghes_serverinfoGHES user population summary
ghes-stats-002ghesghes_serverinfoGHES organization summary
ghes-stats-003ghesghes_serverinfoGHES repository summary
ghes-stats-004ghesghes_serverlowDisabled organisations present on the GHES instance
ghes-stats-005ghesaccess_controlhighHigh number of site administrators on the GHES instance
org-act-001organizationactionshighDefault GITHUB_TOKEN permission is write
org-act-002organizationactionshighGitHub Actions allows all third-party actions
org-act-003organizationactionslowActions restricted to local repositories only
org-alert-001organizationdependenciescriticalCritical Dependabot alerts open across organization
org-alert-002organizationdependencieshighHigh-severity Dependabot alerts open across organization
org-alert-003organizationdependenciesmediumOpen Dependabot alerts across organization
org-alert-004organizationsecurityhighCode scanning alerts open across organization
org-alert-005organizationsecuritycriticalSecret scanning alerts open across organization
org-cop-001organizationcopilot_costmediumCopilot seats assigned to all organization members
org-cop-002organizationcopilot_securityhighCopilot allowed to suggest code matching public repositories
org-cop-003organizationcopilot_costmediumHigh percentage of inactive Copilot seats
org-def-001organizationdependencieshighDependabot alerts not enabled by default for new repositories
org-def-002organizationdependenciesmediumDependabot security updates not enabled by default for new repositories
org-def-003organizationdependenciesmediumDependency graph not enabled by default for new repositories
org-def-004organizationsecurityhighSecret scanning not enabled by default for new repositories
org-def-005organizationsecurityhighSecret scanning push protection not enabled by default for new repositories
org-def-006organizationsecuritymediumGitHub Advanced Security not enabled by default for new repositories
org-sec-001organizationsecurityhighTwo-factor authentication not required
org-sec-002organizationsecuritymediumWeb commit signoff not required
org-sec-003organizationaccess_controlhighDefault repository permission set to admin
org-sec-004organizationaccess_controlmediumMembers can create public repositories
org-sec-005organizationaccess_controlmediumNo security manager team assigned
org-sec-006organizationsecurityinfoEMU enabled: two-factor authentication is controlled by your identity provider
repo-acc-001repositoryaccess_controlhighExcessive admin collaborators
repo-acc-002repositoryaccess_controlmediumDirect collaborators instead of teams
repo-acc-003repositorysecurityhighDeploy keys with write access
repo-acc-004repositorysecuritymediumUnverified deploy keys
repo-acc-005repositorysecuritymediumDeploy keys present — consider GitHub Apps or OIDC
repo-bp-001repositorybranch_protectioncriticalNo branch protection configured on default branch
repo-bp-002repositorybranch_protectioncriticalNo approving reviews required before merge
repo-bp-003repositorybranch_protectionmediumOnly 1 approving review required
repo-bp-004repositorybranch_protectionhighStale reviews not dismissed on new commits
repo-bp-005repositorybranch_protectionmediumCode owner review not required
repo-bp-006repositorybranch_protectioncriticalPull request reviews not configured
repo-bp-007repositorybranch_protectionhighStrict status checks not enabled
repo-bp-008repositorybranch_protectionhighNo specific status checks required
repo-bp-009repositorybranch_protectionhighNo required status checks configured
repo-bp-010repositorybranch_protectioncriticalForce pushes allowed on protected branch
repo-bp-011repositorybranch_protectionhighBranch deletion allowed on protected branch
repo-bp-012repositorybranch_protectionmediumSigned commits not required
repo-bp-013repositorybranch_protectionlowLinear history not required
repo-bp-014repositorybranch_protectioninfoBranch protected by repository rulesets (not legacy branch protection)
repo-comm-001repositorycommunityinfoGitHub Discussions not enabled
repo-feat-001repositoryfeatureslowIssues and Discussions both disabled
repo-feat-002repositorymaintenancelowAuto-delete branches on merge not enabled
repo-meta-001repositorycommunitymediumRepository has no description
repo-meta-002repositorycommunitylowRepository has no topics
repo-meta-003repositorymaintenancelowRepository appears dormant but is not archived
repo-sec-001repositorysecurityhighDependabot alerts not enabled
repo-sec-002repositorysecuritycriticalCritical Dependabot alerts open
repo-sec-003repositorysecurityhighHigh-severity Dependabot alerts open
repo-sec-004repositorysecuritylowNo SECURITY.md file found
repo-sec-005repositoryaccess_controlmediumNo CODEOWNERS file found
repo-sec-006repositorysecuritymediumDependabot alerts enabled but no dependabot.yml found
repo-sec-007repositorysecurityhighDependabot not configured
repo-sec-008repositorysecurityhighCode scanning (CodeQL) not configured
repo-sec-009repositorysecurityinfoNo custom CodeQL configuration file

Last modified May 31, 2026: feat: documentation (d32d3b4)