From 5b4430431cd15eb0bb281c610e0de14122ba2387 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 10 Dec 2025 10:25:29 -0800 Subject: [PATCH 01/10] Add README for src/changelogs (#58799) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: heiskr <1221423+heiskr@users.noreply.github.com> --- src/changelogs/README.md | 67 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/src/changelogs/README.md b/src/changelogs/README.md index e69de29bb2d1..eec5e747b43f 100644 --- a/src/changelogs/README.md +++ b/src/changelogs/README.md @@ -0,0 +1,67 @@ +# Changelogs (`src/changelogs`) + +This directory contains the logic for fetching, parsing, and caching RSS feeds from the GitHub Blog to display changelog items on documentation pages. + +## Purpose & Scope + +The primary purpose is to provide a "What's New" section on specific documentation pages by pulling the latest updates from relevant GitHub Blog RSS feeds. It handles fetching RSS feeds, caching responses to prevent rate limiting, and parsing feed items for display. + +## Architecture & Key Assets + +### Core Logic + +`lib/changelog.ts` is the main module. It uses `rss-parser` to fetch feeds and implements a two-layer caching strategy: + +1. Memory Cache: `globalCache` Map for fast access within the process. +2. Disk Cache: Writes JSON files to `os.tmpdir()` (or a custom path) to persist across server restarts in development/test environments. + +`getChangelogItems` is the public API that returns a list of formatted changelog items. + +### Consumers + +The middleware `src/frame/middleware/context/whats-new-changelog.ts` uses this library to inject changelog data into the page context (`req.context.whatsNewChangelog`) based on page frontmatter. + +Currently, the following product landing pages display a changelog: + +- GitHub Actions (`content/actions/index.md`) +- GitHub Education (`content/education/index.md`) +- GitHub Enterprise (`content/admin/index.md`) +- GitHub Packages (`content/packages/index.md`) + +## Setup & Usage + +### Enabling on a Page + +To display a changelog on a documentation page, add the `changelog` property to the page's frontmatter: + +```yaml +changelog: + label: packages + prefix: "Packages: " +``` + +- `label`: Determines the feed URL (e.g., `packages` -> `https://github.blog/changelog/label/packages`). +- `prefix`: (Optional) A string to strip from the beginning of feed item titles. +- `versions`: (Optional) Specifies which versions of the docs should display the changelog. + +### Environment Variables + +- `CHANGELOG_DISABLED`: Set to `true` to disable fetching (returns undefined). This is often necessary in tests where external network requests are flaky or blocked. +- `CHANGELOG_CACHE_FILE_PATH`: (Optional) Override the default disk cache location. + +## Data & External Dependencies + +- Source: [GitHub Blog](https://github.blog) RSS feeds (e.g., `https://github.blog/changelog/label/packages/feed`). +- Dependencies: `rss-parser` is used to parse the XML RSS feeds. + +## Cross-links & Ownership + +- **Owner**: Docs Engineering owns this code. Marketing Engineering owns the GitHub Blog and its feeds. +- **Related Directories**: + - `src/frame/middleware/context`: Contains the middleware that invokes this logic. + - `src/changelogs/tests`: Contains tests for this module. + +## Current State & Next Steps + +- **Current State**: The system is stable and considered KTLO (Keep the Lights On). It fetches the latest 3 items from the specified feed. +- **Next Steps**: None planned. From 29a79eb623f25fcb9103aef4571ae1714deb49c5 Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Wed, 10 Dec 2025 10:56:23 -0800 Subject: [PATCH 02/10] Fix crash in secret scanning middleware for invalid versions (#58792) --- src/secret-scanning/middleware/secret-scanning.ts | 4 ++++ src/secret-scanning/tests/rendering.ts | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/secret-scanning/middleware/secret-scanning.ts b/src/secret-scanning/middleware/secret-scanning.ts index e7ef85c5f693..ca4936b91a39 100644 --- a/src/secret-scanning/middleware/secret-scanning.ts +++ b/src/secret-scanning/middleware/secret-scanning.ts @@ -30,6 +30,10 @@ export default async function secretScanning( const { isEnterpriseCloud, isEnterpriseServer } = getVersionInfo(currentVersion) + if (isEnterpriseServer && !allVersions[currentVersion]) { + return next() + } + const versionPath = isEnterpriseCloud ? 'ghec' : isEnterpriseServer diff --git a/src/secret-scanning/tests/rendering.ts b/src/secret-scanning/tests/rendering.ts index 769d84473e47..853624e23b32 100644 --- a/src/secret-scanning/tests/rendering.ts +++ b/src/secret-scanning/tests/rendering.ts @@ -17,4 +17,12 @@ describe('secret-scanning pipeline', () => { const page = await get(`/${targetFilename}`, { followRedirects: true }) expect(page.statusCode).toBe(200) }) + + test('should not crash on malformed URL with double version', async () => { + const url = + '/en/enterprise-server@3.11/enterprise-cloud@latest/code-security/secret-scanning/introduction/supported-secret-scanning-patterns' + const res = await get(url) + // It should probably be a 404 because the URL is invalid, but definitely not a 500 + expect(res.statusCode).not.toBe(500) + }) }) From 0e4196ff7169d394fb164f5510cc6b77aeb5e7af Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Dec 2025 19:00:34 +0000 Subject: [PATCH 03/10] Bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 (#58778) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/enterprise-dates.yml | 2 +- .github/workflows/sync-graphql.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/enterprise-dates.yml b/.github/workflows/enterprise-dates.yml index c81e32b9a36c..92dd93e20b36 100644 --- a/.github/workflows/enterprise-dates.yml +++ b/.github/workflows/enterprise-dates.yml @@ -35,7 +35,7 @@ jobs: - name: Create pull request id: create-pull-request - uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412 # pin @v7.0.9 + uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # pin @v8.0.0 env: # Disable pre-commit hooks; they don't play nicely here HUSKY: '0' diff --git a/.github/workflows/sync-graphql.yml b/.github/workflows/sync-graphql.yml index e5c0f55a1914..39d7e6454c3e 100644 --- a/.github/workflows/sync-graphql.yml +++ b/.github/workflows/sync-graphql.yml @@ -33,7 +33,7 @@ jobs: run: npm run sync-graphql - name: Create pull request id: create-pull-request - uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412 # pin @v7.0.9 + uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # pin @v8.0.0 env: # Disable pre-commit hooks; they don't play nicely here HUSKY: '0' From 7045d1345e545d9ee55478645f2b73841016e85e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Dec 2025 19:01:31 +0000 Subject: [PATCH 04/10] Bump @actions/core from 1.11.1 to 2.0.0 (#58780) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 21 ++++++++++++++++----- package.json | 2 +- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index e7b425dfdc10..3aa77f836023 100644 --- a/package-lock.json +++ b/package-lock.json @@ -101,7 +101,7 @@ "walk-sync": "^4.0.1" }, "devDependencies": { - "@actions/core": "^1.10.1", + "@actions/core": "^2.0.0", "@actions/github": "^6.0.0", "@axe-core/playwright": "^4.10.1", "@eslint/js": "^9.33.0", @@ -194,14 +194,25 @@ } }, "node_modules/@actions/core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", - "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-2.0.0.tgz", + "integrity": "sha512-iGW52/zqhPUFnYl0s1ioXfJu86LGs7b+GYuO38JMPpsh14FQrNj3n2JBpC+vZ2CFS4lERQyn5koLDopY+6V/PQ==", "dev": true, "license": "MIT", "dependencies": { "@actions/exec": "^1.1.1", - "@actions/http-client": "^2.0.1" + "@actions/http-client": "^3.0.0" + } + }, + "node_modules/@actions/core/node_modules/@actions/http-client": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-3.0.0.tgz", + "integrity": "sha512-1s3tXAfVMSz9a4ZEBkXXRQD4QhY3+GAsWSbaYpeknPOKEeyRiU3lH+bHiLMZdo2x/fIeQ/hscL1wCkDLVM2DZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tunnel": "^0.0.6", + "undici": "^5.28.5" } }, "node_modules/@actions/exec": { diff --git a/package.json b/package.json index 0dee87296e72..f4e6315d5085 100644 --- a/package.json +++ b/package.json @@ -245,7 +245,7 @@ "walk-sync": "^4.0.1" }, "devDependencies": { - "@actions/core": "^1.10.1", + "@actions/core": "^2.0.0", "@actions/github": "^6.0.0", "@axe-core/playwright": "^4.10.1", "@eslint/js": "^9.33.0", From b9237f8e7ab70fa9fe3bb8c081b5dcabf9f3af78 Mon Sep 17 00:00:00 2001 From: Jenni C <97056108+dihydroJenoxide@users.noreply.github.com> Date: Wed, 10 Dec 2025 11:07:26 -0800 Subject: [PATCH 05/10] auto model GA for vscode (#58794) --- content/copilot/concepts/auto-model-selection.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/content/copilot/concepts/auto-model-selection.md b/content/copilot/concepts/auto-model-selection.md index 98a48b2fa2c0..c68bfd68b720 100644 --- a/content/copilot/concepts/auto-model-selection.md +++ b/content/copilot/concepts/auto-model-selection.md @@ -3,7 +3,7 @@ title: 'About {% data variables.product.prodname_copilot_short %} auto model sel allowTitleToDifferFromFilename: true shortTitle: 'Auto model selection' intro: 'Automatically select models for {% data variables.copilot.copilot_chat_short %} and {% data variables.copilot.copilot_coding_agent %}.' -product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} for {% data variables.copilot.copilot_chat_short %} is in {% data variables.release-phases.public_preview %} for supported IDEs with all {% data variables.product.prodname_copilot %} plans. {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} for {% data variables.copilot.copilot_coding_agent %} is generally available for {% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} users.' +product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} for {% data variables.copilot.copilot_chat_short %} is available with all {% data variables.product.prodname_copilot %} plans.
{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} for {% data variables.copilot.copilot_coding_agent %} is available for {% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} plans.' topics: - Copilot versions: @@ -32,8 +32,10 @@ With {% data variables.copilot.copilot_auto_model_selection %}, you benefit from ## {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in {% data variables.copilot.copilot_chat_short %} -{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is available in the following IDEs: +{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is generally available in the following IDEs: * {% data variables.product.prodname_vscode_shortname %} + +{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is in public preview for the following IDEs: * {% data variables.product.prodname_vs %} * Eclipse * JetBrains IDEs @@ -60,11 +62,11 @@ During the {% data variables.release-phases.public_preview %}, if you're using a ## {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in {% data variables.copilot.copilot_coding_agent %} -> [!NOTE] {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} for {% data variables.copilot.copilot_coding_agent %} is currently only available for {% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} users. +> [!NOTE] {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} for {% data variables.copilot.copilot_coding_agent %} is generally available and currently only available for {% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} plans. When you select **Auto** in {% data variables.copilot.copilot_coding_agent %}, {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} currently chooses from the following list of models, subject to your policies and subscription type: {% data reusables.copilot.copilot-coding-agent-auto-models %} While {% data variables.copilot.copilot_auto_model_selection_short %} is an option for {% data variables.copilot.copilot_coding_agent %}, you can manually choose a different model to override this selection. -{% data reusables.copilot.change-the-ai-model-copilot-coding-agent %} \ No newline at end of file +{% data reusables.copilot.change-the-ai-model-copilot-coding-agent %} From de0d8c98981863ddc0856d707b447adae640de60 Mon Sep 17 00:00:00 2001 From: Sarita Iyer <66540150+saritai@users.noreply.github.com> Date: Wed, 10 Dec 2025 15:15:27 -0500 Subject: [PATCH 06/10] Custom agents reference: new property + update tool names (#58809) --- content/copilot/reference/custom-agents-configuration.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/content/copilot/reference/custom-agents-configuration.md b/content/copilot/reference/custom-agents-configuration.md index 0a9633afc0e8..fa93ddb00203 100644 --- a/content/copilot/reference/custom-agents-configuration.md +++ b/content/copilot/reference/custom-agents-configuration.md @@ -25,6 +25,7 @@ The following table outlines the properties that are supported in repository-lev | `description` | **Required** string | Description of the {% data variables.copilot.copilot_custom_agent_short %}'s purpose and capabilities | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | `target` | string | Target environment or context for the {% data variables.copilot.copilot_custom_agent_short %} (`vscode` or `github-copilot`). If unset, defaults to both environments. | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | `tools` | list of strings, string | List of tool names the {% data variables.copilot.copilot_custom_agent_short %} can use. Supports both a comma separated string and yaml string array. If unset, defaults to all tools. See [Tools](#tools). | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | +| `infer` | boolean | Controls whether {% data variables.copilot.copilot_coding_agent %} can automatically use this {% data variables.copilot.copilot_custom_agent_short %} based on task context. When `false`, the agent must be manually selected. If unset, defaults to `true`. | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | `mcp-servers` | object | Additional MCP servers and tools that should be used by the {% data variables.copilot.copilot_custom_agent_short %}. | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | | `metadata` | object consisting of a name and value pair, both strings | Allows annotation of the agent with useful data | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | @@ -56,11 +57,11 @@ The following tool aliases are available for {% data variables.copilot.custom_ag | Primary alias | Compatible aliases | {% data variables.copilot.copilot_coding_agent_short_cap_c %} mapping | Purpose | | ------------- | -------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -| `shell` | `Bash`, `powershell` | Shell tools: `bash` or `powershell` | Execute a command in the appropriate shell for the operating system. | +| `execute` | `shell`, `Bash`, `powershell` | Shell tools: `bash` or `powershell` | Execute a command in the appropriate shell for the operating system. | | `read` | `Read`, `NotebookRead` | `view` | Read file contents. | | `edit` | `Edit`, `MultiEdit`, `Write`, `NotebookEdit` | Edit tools: e.g. `str_replace`, `str_replace_editor` | Allow LLM to edit. Exact arguments can vary. | | `search` | `Grep`, `Glob` | `search` | Search for files or text in files. | -| `custom-agent` | `Task` | "{% data variables.copilot.copilot_custom_agent_caps_short %}" tools | Allows a different {% data variables.copilot.copilot_custom_agent_short %} to be invoked to accomplish a task. | +| `agent` | `custom-agent`, `Task` | "{% data variables.copilot.copilot_custom_agent_caps_short %}" tools | Allows a different {% data variables.copilot.copilot_custom_agent_short %} to be invoked to accomplish a task. | | `web` | `WebSearch`, `WebFetch` | Currently not applicable for {% data variables.copilot.copilot_coding_agent_short %}. | Allows fetching content from URLs and performing a web search | | `todo` | `TodoWrite` | Currently not applicable for {% data variables.copilot.copilot_coding_agent_short %}. | Creates and manages structured task lists. Not supported in {% data variables.copilot.copilot_coding_agent_short %} today, but supported by {% data variables.product.prodname_vscode_shortname %}. | From 1a1f73bcb738a86ebe3996febc467487bb73dfee Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Wed, 10 Dec 2025 12:52:17 -0800 Subject: [PATCH 07/10] Sync secret scanning data (#58804) Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> --- .../pattern-docs/ghes-3.20/public-docs.yml | 4310 +++++++++++++++++ 1 file changed, 4310 insertions(+) create mode 100644 src/secret-scanning/data/pattern-docs/ghes-3.20/public-docs.yml diff --git a/src/secret-scanning/data/pattern-docs/ghes-3.20/public-docs.yml b/src/secret-scanning/data/pattern-docs/ghes-3.20/public-docs.yml new file mode 100644 index 000000000000..1c0f7bd949c3 --- /dev/null +++ b/src/secret-scanning/data/pattern-docs/ghes-3.20/public-docs.yml @@ -0,0 +1,4310 @@ +- provider: 1Password + supportedSecret: 1Password Service Account Token + secretType: 1password_service_account_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Adafruit + supportedSecret: Adafruit IO Key + secretType: adafruit_io_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Adobe + supportedSecret: Adobe Client Secret + secretType: adobe_client_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Adobe + supportedSecret: Adobe Device Token + secretType: adobe_device_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Adobe + supportedSecret: Adobe PAC Token + secretType: adobe_pac_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Adobe + supportedSecret: Adobe Refresh Token + secretType: adobe_refresh_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Adobe + supportedSecret: Adobe Service Token + secretType: adobe_service_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Adobe + supportedSecret: Adobe Short-Lived Access Token + secretType: adobe_short_lived_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Aikido + supportedSecret: Aikido API Client Secret + secretType: aikido_api_client_secret + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Aikido + supportedSecret: Aikido CI Scanning Token + secretType: aikido_ci_scanning_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Airtable + supportedSecret: Airtable API Key + secretType: airtable_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Airtable + supportedSecret: Airtable Personal Access Token + secretType: airtable_personal_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Aiven + supportedSecret: Aiven Auth Token + secretType: aiven_auth_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Aiven + supportedSecret: Aiven Service Password + secretType: aiven_service_password + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Alibaba + supportedSecret: Alibaba Cloud AccessKey ID + secretType: alibaba_cloud_access_key_id,
alibaba_cloud_access_key_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Amazon AWS + supportedSecret: Amazon AWS Access Key ID + secretType: aws_access_key_id,
aws_secret_access_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: true + isduplicate: true +- provider: Amazon AWS + supportedSecret: Amazon AWS API Key ID + secretType: aws_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Amazon AWS + supportedSecret: Amazon AWS Session Token + secretType: >- + aws_secret_access_key,
aws_session_token, +
aws_temporary_access_key_id + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Anthropic + supportedSecret: Anthropic Admin API Key + secretType: anthropic_admin_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Anthropic + supportedSecret: Anthropic API Key + secretType: anthropic_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: true + isduplicate: true +- provider: Anthropic + supportedSecret: Anthropic Session ID + secretType: anthropic_session_id + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Apify + supportedSecret: Apify Actor Run API Token + secretType: apify_actor_run_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Apify + supportedSecret: Apify Actor Run Proxy Password + secretType: apify_actor_run_proxy_password + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Apify + supportedSecret: Apify API Token + secretType: apify_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Apify + supportedSecret: Apify Integration API Token + secretType: apify_integration_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Apify + supportedSecret: Apify Proxy Password + secretType: apify_proxy_password + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Apify + supportedSecret: Apify UI Token + secretType: apify_ui_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Apify + supportedSecret: Apify Webhook Dispatch API Token + secretType: apify_webhook_dispatch_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Asaas + supportedSecret: Asaas API Token + secretType: asaas_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Asana + supportedSecret: Asana Legacy Format Personal Access Token + secretType: asana_legacy_format_personal_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Asana + supportedSecret: Asana Personal Access Token + secretType: asana_personal_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Atlassian + supportedSecret: Atlassian API Token + secretType: atlassian_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Atlassian + supportedSecret: Atlassian JSON Web Token + secretType: atlassian_jwt + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Authress + supportedSecret: Authress Service Client Access Key + secretType: authress_service_client_access_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Active Directory Application Secret + secretType: >- + azure_active_directory_application_id, +
azure_active_directory_application_secret + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Active Directory Application Secret + secretType: azure_active_directory_application_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Azure + supportedSecret: Azure Active Directory User Credential + secretType: azure_active_directory_user_credential + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure AI Services Key + secretType: azure_ai_services_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Anomaly Detector EE Key + secretType: azure_anomaly_detector_ee_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Anomaly Detector Key + secretType: azure_anomaly_detector_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Apim Direct Management Key + secretType: azure_apim_direct_management_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Apim Gateway Key + secretType: azure_apim_gateway_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Apim Repository Key + secretType: azure_apim_repository_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: '{% ifversion ghes %}false{% else %}true{% endif %}' + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Apim Subscription Key + secretType: azure_apim_subscription_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure App Configuration Connection String + secretType: azure_app_configuration_connection_string + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: '{% ifversion ghes %}false{% else %}true{% endif %}' + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure App Configuration Key + secretType: azure_app_configuration_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Batch Key Identifiable + secretType: azure_batch_key_identifiable + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Azure + supportedSecret: Azure Cache for Redis Access Key + secretType: azure_cache_for_redis_access_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: true + isduplicate: true +- provider: Azure + supportedSecret: Azure Cognitive Services Key + secretType: azure_cognitive_services_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Communication Services Connection String + secretType: azure_communication_services_connection_string + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: '{% ifversion ghes %}false{% else %}true{% endif %}' + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Communication Services Key + secretType: azure_communication_services_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Computer Vision Key + secretType: azure_computer_vision_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Registry Key Identifiable + secretType: azure_container_registry_key_identifiable + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Content Moderator Key + secretType: azure_content_moderator_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Content Safety Key + secretType: azure_content_safety_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Cosmosdb Key Identifiable + secretType: azure_cosmosdb_key_identifiable + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: true + isduplicate: true +- provider: Azure + supportedSecret: Azure Custom Vision Prediction Key + secretType: azure_custom_vision_prediction_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Custom Vision Training Key + secretType: azure_custom_vision_training_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure DevOps Personal Access Token + secretType: azure_devops_personal_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: '{% ifversion ghes %}false{% else %}true{% endif %}' + base64Supported: false + isduplicate: true +- provider: Azure + supportedSecret: Azure Event Grid Key Identifiable + secretType: azure_event_grid_key_identifiable + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Azure + supportedSecret: Azure Event Hub Key Identifiable + secretType: azure_event_hub_key_identifiable + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Face Key + secretType: azure_face_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Fluid Relay Key + secretType: azure_fluid_relay_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Form Recognizer Key + secretType: azure_form_recognizer_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Function Key + secretType: azure_function_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: true + isduplicate: true +- provider: Azure + supportedSecret: Azure Health Decision Support Key + secretType: azure_health_decision_support_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Health Insights Key + secretType: azure_health_insights_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Immersive Reader Key + secretType: azure_immersive_reader_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Internal All In One Key + secretType: azure_internal_all_in_one_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure IoT Device Connection String + secretType: azure_iot_device_connection_string + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: '{% ifversion ghes %}false{% else %}true{% endif %}' + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure IoT Device Key + secretType: azure_iot_device_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure IoT Device Provisioning Key + secretType: azure_iot_device_provisioning_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure IoT Hub Connection String + secretType: azure_iot_hub_connection_string + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: '{% ifversion ghes %}false{% else %}true{% endif %}' + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure IoT Hub Key + secretType: azure_iot_hub_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure IoT Provisioning Connection String + secretType: azure_iot_provisioning_connection_string + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: '{% ifversion ghes %}false{% else %}true{% endif %}' + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Knowledge Key + secretType: azure_knowledge_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Logic Apps URL + secretType: azure_logic_apps_url + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Azure + supportedSecret: Azure Luis Authoring Key + secretType: azure_luis_authoring_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Luis Key + secretType: azure_luis_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Microsoft Azure Service Management Certificate + secretType: azure_management_certificate + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Maps Key + secretType: azure_maps_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: '{% ifversion ghes %}false{% else %}true{% endif %}' + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Metrics Advisor Key + secretType: azure_metrics_advisor_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Mixed Reality Key + secretType: azure_mixed_reality_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure ML Inference Key + secretType: azure_ml_inference_identifiable_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure ML Internal Service Principal Key + secretType: azure_ml_internal_service_principal_identifiable_key + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure ML Studio (classic) Web Service Key + secretType: azure_ml_web_service_classic_identifiable_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure OpenAI Key + secretType: azure_openai_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: true + isduplicate: true +- provider: Azure + supportedSecret: Azure Personalizer Key + secretType: azure_personalizer_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure QnA Maker Key + secretType: azure_qna_maker_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure QnA Maker V2 Key + secretType: azure_qna_maker_v2_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Quantum Key + secretType: azure_quantum_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Relay Key Identifiable + secretType: azure_relay_key_identifiable + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure SAS Token + secretType: azure_sas_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Search Admin Key + secretType: azure_search_admin_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Search Query Key + secretType: azure_search_query_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Service Bus Key Identifiable + secretType: azure_service_bus_identifiable + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure SignalR Connection String + secretType: azure_signalr_connection_string + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure SignalR Key + secretType: azure_signalr_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Azure + supportedSecret: Azure Speech Services Key + secretType: azure_speech_services_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Speech Translation Key + secretType: azure_speech_translation_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure SQL Connection String + secretType: azure_sql_connection_string + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure SQL Internal Default CloudSA Key + secretType: azure_sql_internal_default_cloudsa_key + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure SQL password + secretType: azure_sql_password + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Storage Account Access Key + secretType: azure_storage_account_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: true + isduplicate: true +- provider: Azure + supportedSecret: Azure Text Analytics Key + secretType: azure_text_analytics_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Text Translation Key + secretType: azure_text_translation_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Video Intelligence Key + secretType: azure_video_intelligence_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Microsoft Azure Web App Bot Key + secretType: azure_web_app_bot_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Web Pub Sub Connection String + secretType: azure_web_pub_sub_connection_string + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Azure Web Pub Sub Key + secretType: azure_web_pub_sub_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Azure + supportedSecret: Microsoft Azure Entra ID Token + secretType: microsoft_azure_entra_id_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Azure + supportedSecret: Microsoft Corporate Network User Credential + secretType: microsoft_corporate_network_user_credential + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Baidu + supportedSecret: Baidu Cloud API Access Key + secretType: baiducloud_api_accesskey + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Beamer + supportedSecret: Beamer API Key + secretType: beamer_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Bitbucket + supportedSecret: Bitbucket Server Personal Access Token + secretType: bitbucket_server_personal_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Bitrise + supportedSecret: Bitrise Personal Access Token + secretType: bitrise_personal_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Bitrise + supportedSecret: Bitrise Workspace API Token + secretType: bitrise_workspace_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Block Protocol + supportedSecret: Block Protocol API Key + secretType: block_protocol_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Brevo + supportedSecret: Sendinblue API Key + secretType: sendinblue_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: true + isduplicate: true +- provider: Brevo + supportedSecret: Sendinblue SMTP Key + secretType: sendinblue_smtp_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Buildkite + supportedSecret: Buildkite Agent Access Token + secretType: buildkite_agent_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Buildkite + supportedSecret: Buildkite Agent Job Token + secretType: buildkite_agent_job_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Buildkite + supportedSecret: Buildkite Agent Registration Token + secretType: buildkite_agent_registration_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Buildkite + supportedSecret: Buildkite Cluster Queue Token + secretType: buildkite_cluster_queue_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Buildkite + supportedSecret: Buildkite Cluster Token + secretType: buildkite_cluster_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Buildkite + supportedSecret: Buildkite Packages Registry Token + secretType: buildkite_packages_registry_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Buildkite + supportedSecret: Buildkite Packages Temporary Token + secretType: buildkite_packages_temporary_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Buildkite + supportedSecret: Buildkite Portal Secret + secretType: buildkite_portal_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Buildkite + supportedSecret: Buildkite Portal Token + secretType: buildkite_portal_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Buildkite + supportedSecret: Buildkite User Access Token + secretType: buildkite_user_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Canadian Digital Service + supportedSecret: Canadian Digital Service Notify API Key + secretType: cds_canada_notify_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Canva + supportedSecret: Canva App Secret + secretType: canva_app_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Canva + supportedSecret: Canva Connect API Secret + secretType: canva_connect_api_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Canva + supportedSecret: Canva Secret + secretType: canva_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Cashfree + supportedSecret: Cashfree API Key + secretType: cashfree_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Cfx.re + supportedSecret: Cfx.re Server Key + secretType: cfxre_server_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Checkout.com + supportedSecret: Checkout.com Production Secret Key + secretType: checkout_production_secret_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: Checkout.com + supportedSecret: Checkout.com Test Secret Key + secretType: checkout_test_secret_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: Chief Tools + supportedSecret: Chief Tools Token + secretType: chief_tools_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: CircleCI + supportedSecret: CircleCI Bot API Token + secretType: circleci_bot_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: CircleCI + supportedSecret: CircleCI Personal Access Token + secretType: circleci_personal_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: CircleCI + supportedSecret: CircleCI Project Access Token + secretType: circleci_project_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: CircleCI + supportedSecret: CircleCI Release API Token + secretType: circleci_release_integration_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Clojars + supportedSecret: Clojars Deploy Token + secretType: clojars_deploy_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: CloudBees + supportedSecret: CloudBees CodeShip Credential + secretType: codeship_credential + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Cockroach Labs + supportedSecret: CockroachDB Cloud API Key + secretType: ccdb_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Cohere + supportedSecret: Cohere API Key + secretType: cohere_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Contentful + supportedSecret: Contentful Personal Access Token + secretType: contentful_personal_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Contentful + supportedSecret: Contentful Web Token + secretType: contentful_web_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Contributed Systems + supportedSecret: Contributed Systems Credentials + secretType: contributed_systems_credentials + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Coveo + supportedSecret: Coveo Access Token + secretType: coveo_access_token + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Coveo + supportedSecret: Coveo API Key + secretType: coveo_api_key + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: crates.io + supportedSecret: Crates.io API Token + secretType: cratesio_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Databento + supportedSecret: Databento API Key + secretType: databento_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Databricks + supportedSecret: Databricks API Token + secretType: databricks_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: true + isduplicate: true +- provider: Databricks + supportedSecret: Databricks Account Session Token + secretType: databricks_account_session_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Databricks + supportedSecret: Databricks Federated Account Session Token + secretType: databricks_federated_account_session_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Databricks + supportedSecret: Databricks OAuth Code + secretType: databricks_oauth_code + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Databricks + supportedSecret: Databricks OAuth Refresh Token + secretType: databricks_oauth_refresh_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Databricks + supportedSecret: Databricks OAuth Secret Token + secretType: databricks_oauth_secret_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Databricks + supportedSecret: Databricks OAuth Single Use Refresh Token Child + secretType: databricks_oauth_single_use_refresh_token_child + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Databricks + supportedSecret: Databricks OAuth Single Use Refresh Token Parent + secretType: databricks_oauth_single_use_refresh_token_parent + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Databricks + supportedSecret: Databricks Scoped API Token + secretType: databricks_scoped_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Databricks + supportedSecret: Databricks Scoped Internal Token + secretType: databricks_scoped_internal_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Databricks + supportedSecret: Databricks Token + secretType: databricks_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Databricks + supportedSecret: Databricks Workspace Session Token + secretType: databricks_workspace_session_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Datadog + supportedSecret: Datadog API Key + secretType: datadog_api_key + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Datadog + supportedSecret: Datadog Application Key + secretType: datadog_app_key + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Datadog + supportedSecret: Datadog RCM + secretType: datadog_rcm + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Datastax + supportedSecret: Datastax AstraCS Tokens + secretType: datastax_astracs_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: DeepSeek + supportedSecret: DeepSeek API Key + secretType: deepseek_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Defined Networking + supportedSecret: Defined Networking Managed Nebula API Key + secretType: defined_networking_nebula_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: DevCycle + supportedSecret: DevCycle Client API Key + secretType: devcycle_client_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: DevCycle + supportedSecret: DevCycle Mobile API Key + secretType: devcycle_mobile_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: DevCycle + supportedSecret: DevCycle Server API Key + secretType: devcycle_server_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: DigitalOcean + supportedSecret: DigitalOcean OAuth Token + secretType: digitalocean_oauth_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: DigitalOcean + supportedSecret: DigitalOcean Personal Access Token + secretType: digitalocean_personal_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: DigitalOcean + supportedSecret: DigitalOcean Refresh Token + secretType: digitalocean_refresh_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: DigitalOcean + supportedSecret: DigitalOcean System Token + secretType: digitalocean_system_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Discord + supportedSecret: Discord Bot Token + secretType: discord_bot_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: Docker + supportedSecret: Docker Organization Access Token + secretType: docker_organization_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Docker + supportedSecret: Docker Personal Access Token + secretType: docker_personal_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Docker + supportedSecret: Docker Swarm Join Token + secretType: docker_swarm_join_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Docker + supportedSecret: Docker Swarm Unlock Key + secretType: docker_swarm_unlock_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Doppler + supportedSecret: Doppler Audit Token + secretType: doppler_audit_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Doppler + supportedSecret: Doppler CLI Token + secretType: doppler_cli_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Doppler + supportedSecret: Doppler Personal Token + secretType: doppler_personal_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Doppler + supportedSecret: Doppler SCIM Token + secretType: doppler_scim_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Doppler + supportedSecret: Doppler Service Account Token + secretType: doppler_service_account_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Doppler + supportedSecret: Doppler Service Token + secretType: doppler_service_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Dropbox + supportedSecret: Dropbox Access Token + secretType: dropbox_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Dropbox + supportedSecret: Dropbox Short-Lived Access Token + secretType: dropbox_short_lived_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Duffel + supportedSecret: Duffel Live Access Token + secretType: duffel_live_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Duffel + supportedSecret: Duffel Test Access Token + secretType: duffel_test_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Dynatrace + supportedSecret: Dynatrace API Token + secretType: dynatrace_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Dynatrace + supportedSecret: Dynatrace Internal Token + secretType: dynatrace_internal_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: EasyPost + supportedSecret: EasyPost Production API Key + secretType: easypost_production_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: EasyPost + supportedSecret: EasyPost Test API Key + secretType: easypost_test_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: eBay + supportedSecret: eBay Production Client ID (App ID) + secretType: ebay_production_client_id,
ebay_production_client_secret + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: eBay + supportedSecret: eBay Sandbox Client ID (App ID) + secretType: ebay_sandbox_client_id,
ebay_sandbox_client_secret + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Elastic + supportedSecret: Elastic Cloud API Key + secretType: elastic_cloud_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Facebook + supportedSecret: Facebook Access Token + secretType: facebook_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Fastly + supportedSecret: Fastly API Token + secretType: fastly_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: Figma + supportedSecret: Figma Personal Access Token + secretType: figma_pat + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Finicity + supportedSecret: Finicity App Key + secretType: finicity_app_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Firebase + supportedSecret: Firebase Cloud Messaging Server Key + secretType: firebase_cloud_messaging_server_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Flutterwave + supportedSecret: Flutterwave Live API Secret Key + secretType: flutterwave_live_api_secret_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Flutterwave + supportedSecret: Flutterwave Test API Secret Key + secretType: flutterwave_test_api_secret_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Frame.io + supportedSecret: Frame.io Developer Token + secretType: frameio_developer_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Frame.io + supportedSecret: Frame.io JSON Web Token + secretType: frameio_jwt + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: FullStory + supportedSecret: FullStory API Key + secretType: fullstory_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: GitHub + supportedSecret: GitHub App Installation Access Token + secretType: github_app_installation_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: true + isduplicate: true +- provider: GitHub + supportedSecret: GitHub OAuth Access Token + secretType: github_oauth_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: true + isduplicate: true +- provider: GitHub + supportedSecret: GitHub Personal Access Token + secretType: github_personal_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: true + isduplicate: true +- provider: GitHub + supportedSecret: GitHub Refresh Token + secretType: github_refresh_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: true + isduplicate: true +- provider: GitHub + supportedSecret: GitHub SSH Private Key + secretType: github_ssh_private_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: GitHub + supportedSecret: GitHub Test Token + secretType: github_test_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: GitLab + supportedSecret: GitLab Access Token + secretType: gitlab_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: true + isduplicate: true +- provider: GoCardless + supportedSecret: GoCardless Live Access Token + secretType: gocardless_live_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: GoCardless + supportedSecret: GoCardless Sandbox Access Token + secretType: gocardless_sandbox_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Google + supportedSecret: Google API Key + secretType: google_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Google + supportedSecret: Google Cloud Service Account Credentials + secretType: google_cloud_service_account_credentials + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Google + supportedSecret: Google Cloud Storage Service Account Access Key ID + secretType: >- + google_cloud_storage_access_key_secret, +
google_cloud_storage_service_account_access_key_id + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Google + supportedSecret: Google Cloud Storage User Access Key ID + secretType: >- + google_cloud_storage_access_key_secret, +
google_cloud_storage_user_access_key_id + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Google + supportedSecret: GCP API Key Bound to a Service Account + secretType: google_gcp_api_key_bound_service_account + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Google + supportedSecret: Google Gemini API Key + secretType: google_gemini_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Google + supportedSecret: Google OAuth Access Token + secretType: google_oauth_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Google + supportedSecret: Google OAuth Client ID + secretType: google_oauth_client_id,
google_oauth_client_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: true + isduplicate: true +- provider: Google + supportedSecret: Google OAuth Refresh Token + secretType: google_oauth_refresh_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: true + isduplicate: true +- provider: Grafana + supportedSecret: Grafana Cloud API Key + secretType: grafana_cloud_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Grafana + supportedSecret: Grafana Cloud API Token + secretType: grafana_cloud_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Grafana + supportedSecret: Grafana Project API Key + secretType: grafana_project_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Grafana + supportedSecret: Grafana Project Service Account Token + secretType: grafana_project_service_account_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Groq + supportedSecret: Groq API Key + secretType: groq_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: true + isduplicate: true +- provider: GuardSquare + supportedSecret: GuardSquare AppSweep API Key + secretType: guardsquare_appsweep_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: GuardSquare + supportedSecret: GuardSquare CLI Access Token + secretType: guardsquare_cli_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: GuardSquare + supportedSecret: GuardSquare Maven Token + secretType: guardsquare_maven_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: HashiCorp + supportedSecret: HashiCorp Vault Batch Token + secretType: hashicorp_vault_batch_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: HashiCorp + supportedSecret: HashiCorp Vault Root Service Token + secretType: hashicorp_vault_root_service_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: HashiCorp + supportedSecret: HashiCorp Vault Service Token + secretType: hashicorp_vault_service_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: HashiCorp + supportedSecret: Terraform Cloud / Enterprise API Token + secretType: terraform_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: hCaptcha + supportedSecret: hCaptcha Siteverify Secret + secretType: hcaptcha_siteverify_secret + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Heroku + supportedSecret: Heroku Platform API OAuth2 Token + secretType: heroku_platform_api_oauth2_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Heroku + supportedSecret: Heroku Postgres Connection URL + secretType: heroku_postgres_connection_url + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Highnote + supportedSecret: Highnote RK Live Key + secretType: highnote_rk_live_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Highnote + supportedSecret: Highnote RK Test Key + secretType: highnote_rk_test_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Highnote + supportedSecret: Highnote SK Live Key + secretType: highnote_sk_live_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Highnote + supportedSecret: Highnote SK Test Key + secretType: highnote_sk_test_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: HOP + supportedSecret: HOP Bearer + secretType: hop_bearer + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: HOP + supportedSecret: HOP PAT + secretType: hop_pat + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: HOP + supportedSecret: HOP PTK + secretType: hop_ptk + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Hubspot + supportedSecret: Hubspot API Key + secretType: hubspot_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Hubspot + supportedSecret: Hubspot Personal Access Key + secretType: hubspot_personal_access_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Hubspot + supportedSecret: Hubspot Private Apps User Token + secretType: hubspot_private_apps_user_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Hubspot + supportedSecret: Hubspot SMTP Credential + secretType: hubspot_smtp_credential + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Hugging Face + supportedSecret: Hugging Face Organization API Token + secretType: hf_org_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Hugging Face + supportedSecret: Hugging Face User Access Token + secretType: hf_user_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: true + isduplicate: true +- provider: IBM + supportedSecret: IBM Cloud IAM Key + secretType: ibm_cloud_iam_key + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Intercom + supportedSecret: Intercom Access Token + secretType: intercom_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Ionic + supportedSecret: Ionic Personal Access Token + secretType: ionic_personal_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Ionic + supportedSecret: Ionic Refresh Token + secretType: ionic_refresh_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Iterative + supportedSecret: DVC Studio Access Token + secretType: iterative_dvc_studio_access_token + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: JFrog + supportedSecret: JFrog Platform Access Token + secretType: jfrog_platform_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: JFrog + supportedSecret: JFrog Platform API Key + secretType: jfrog_platform_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: JFrog + supportedSecret: JFrog Platform Reference Token + secretType: jfrog_platform_reference_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: true + isduplicate: true +- provider: Langchain + supportedSecret: Langchain API Personal Key + secretType: langchain_api_personal_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Langchain + supportedSecret: Langchain API Server Key + secretType: langchain_api_server_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Lark + supportedSecret: Lark APaaS Client ID + secretType: lark_apaas_client_id,
lark_apaas_client_secret + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Lark + supportedSecret: Lark Application ID + secretType: lark_app_id,
lark_app_secret + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Lark + supportedSecret: Lark MCP Grant Token + secretType: lark_mcp_grant_token + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Lark + supportedSecret: Lark Meego Plugin ID + secretType: lark_meego_plugin_id,
lark_meego_plugin_secret + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Lark + supportedSecret: Lark User Session + secretType: lark_user_session + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: LaunchDarkly + supportedSecret: LaunchDarkly API Token + secretType: launchdarkly_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Lichess + supportedSecret: Lichess OAuth Access Token + secretType: lichess_oauth_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Lichess + supportedSecret: Lichess Personal Access Token + secretType: lichess_personal_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Lightspeed + supportedSecret: Lightspeed Personal Access Token + secretType: lightspeed_xs_pat + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Linear + supportedSecret: Linear API Key + secretType: linear_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Linear + supportedSecret: Linear OAuth Access Token + secretType: linear_oauth_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: LinkedIn + supportedSecret: LinkedIn Client Secret + secretType: linkedin_client_secret + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Lob + supportedSecret: Lob Live API Key + secretType: lob_live_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Lob + supportedSecret: Lob Test API Key + secretType: lob_test_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Localstack + supportedSecret: Localstack API Key + secretType: localstack_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: LogicMonitor + supportedSecret: LogicMonitor Bearer Token + secretType: logicmonitor_bearer_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: LogicMonitor + supportedSecret: LogicMonitor LMv1 Access Key + secretType: logicmonitor_lmv1_access_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Login with Amazon + supportedSecret: Login with Amazon OAuth Client ID + secretType: amazon_oauth_client_id,
amazon_oauth_client_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Mailchimp + supportedSecret: Mailchimp API Key + secretType: mailchimp_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Mailchimp + supportedSecret: Mandrill API Key + secretType: mandrill_api_key + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Mailersend + supportedSecret: Mailersend API Token + secretType: mailersend_api_token + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Mailersend + supportedSecret: Mailersend SMTP Password + secretType: mailersend_smtp_password + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Mailersend + supportedSecret: Mailersend SMTP Username + secretType: mailersend_smtp_username + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Mailgun + supportedSecret: Mailgun API Key + secretType: mailgun_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: Mailgun + supportedSecret: Mailgun SMTP Credential + secretType: mailgun_smtp_credential + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Mapbox + supportedSecret: Mapbox Secret Access Token + secretType: mapbox_secret_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: MaxMind + supportedSecret: MaxMind License Key + secretType: maxmind_license_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Mercury + supportedSecret: Mercury Non-Production API Token + secretType: mercury_non_production_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Mercury + supportedSecret: Mercury Production API Token + secretType: mercury_production_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Mergify + supportedSecret: Mergify Application Key + secretType: mergify_application_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: MessageBird + supportedSecret: MessageBird API Key + secretType: messagebird_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Microsoft + supportedSecret: Power Automate Webhook SAS + secretType: power_automate_webhook_sas + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Midtrans + supportedSecret: Midtrans Production Server Key + secretType: midtrans_production_server_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Midtrans + supportedSecret: Midtrans Sandbox Server Key + secretType: midtrans_sandbox_server_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Mistral AI + supportedSecret: Mistral AI API Key + secretType: mistral_ai_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: MongoDB + supportedSecret: MongoDB Atlas Database URI with credentials + secretType: mongodb_atlas_db_uri_with_credentials + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: MongoDB + supportedSecret: MongoDB Atlas Service Account Secret + secretType: mongodb_atlas_service_account_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Naver Cloud + supportedSecret: Naver Cloud Gov Access Key ID + secretType: navercloud_gov_access_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Naver Cloud + supportedSecret: Naver Cloud Gov Secret Key + secretType: navercloud_gov_access_key_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Naver Cloud + supportedSecret: Naver Cloud Gov Secure Token Service + secretType: navercloud_gov_sts + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Naver Cloud + supportedSecret: Naver Cloud Gov Secure Token Service Secret + secretType: navercloud_gov_sts_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Naver Cloud + supportedSecret: Naver Cloud Access Key ID + secretType: navercloud_pub_access_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Naver Cloud + supportedSecret: Naver Cloud Secret Key + secretType: navercloud_pub_access_key_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Naver Cloud + supportedSecret: Naver Cloud Secure Token Service + secretType: navercloud_pub_sts + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Naver Cloud + supportedSecret: Naver Cloud Secure Token Service Secret + secretType: navercloud_pub_sts_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Neon + supportedSecret: Neon API Key + secretType: neon_api_key + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Neon + supportedSecret: Neon Connection URI + secretType: neon_connection_uri + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Netflix + supportedSecret: Netflix NetKey + secretType: netflix_netkey + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: New Relic + supportedSecret: New Relic Insights Query Key + secretType: new_relic_insights_query_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: New Relic + supportedSecret: New Relic License Key + secretType: new_relic_license_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: New Relic + supportedSecret: New Relic Personal API Key + secretType: new_relic_personal_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: New Relic + supportedSecret: New Relic REST API Key + secretType: new_relic_rest_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Notion + supportedSecret: Notion API Token + secretType: notion_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Notion + supportedSecret: Notion Integration Token + secretType: notion_integration_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Notion + supportedSecret: Notion OAuth Client Secret + secretType: notion_oauth_client_secret + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: npm + supportedSecret: npm Access Token + secretType: npm_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: NuGet + supportedSecret: NuGet API Key + secretType: nuget_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: '{% ifversion ghes %}false{% else %}true{% endif %}' + base64Supported: false + isduplicate: true +- provider: Octopus Deploy + supportedSecret: Octopus Deploy API Key + secretType: octopus_deploy_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Oculus + supportedSecret: Oculus Access Token + secretType: oculus_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: OneChronos + supportedSecret: OneChronos API Token + secretType: onechronos_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: OneChronos + supportedSecret: OneChronos Expressive Bidding API Key + secretType: onechronos_eb_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: OneChronos + supportedSecret: OneChronos Expressive Bidding Encryption Key + secretType: onechronos_eb_encryption_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: OneChronos + supportedSecret: OneChronos OAuth Token + secretType: onechronos_oauth_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: OneChronos + supportedSecret: OneChronos Refresh Token + secretType: onechronos_refresh_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: OneSignal + supportedSecret: OneSignal Rich API Key + secretType: onesignal_rich_authentication_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Onfido + supportedSecret: Onfido Live API Token + secretType: onfido_live_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Onfido + supportedSecret: Onfido Sandbox API Token + secretType: onfido_sandbox_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: OpenAI + supportedSecret: OpenAI API Key + secretType: openai_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: OpenRouter + supportedSecret: OpenRouter API Key + secretType: openrouter_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: OpenVSX + supportedSecret: OpenVSX Access Token + secretType: openvsx_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Openweather + supportedSecret: Openweather API Key + secretType: openweather_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Oracle + supportedSecret: Oracle API Key + secretType: oracle_api_key + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Orbit + supportedSecret: Orbit API Token + secretType: orbit_api_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Paddle + supportedSecret: Paddle API Key + secretType: paddle_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Paddle + supportedSecret: Paddle Sandbox API Key + secretType: paddle_sandbox_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: PagerDuty + supportedSecret: PagerDuty OAuth Secret + secretType: pagerduty_oauth_secret + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: PagerDuty + supportedSecret: PagerDuty OAuth Token + secretType: pagerduty_oauth_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Palantir + supportedSecret: Palantir JSON Web Token + secretType: palantir_jwt + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Pangea + supportedSecret: Pangea Token + secretType: pangea_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Perplexity + supportedSecret: Perplexity API Key + secretType: perplexity_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Persona Identities + supportedSecret: Persona Production Api Key + secretType: persona_production_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Persona Identities + supportedSecret: Persona Sandbox Api Key + secretType: persona_sandbox_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Pineapple Technologies Limited + supportedSecret: Pineapple Technologies Incident API Key + secretType: pineapple_technologies_incident_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Pinecone + supportedSecret: Pinecone API Key + secretType: pinecone_api_key,
pinecone_environment + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Pinterest + supportedSecret: Pinterest Access Token + secretType: pinterest_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Pinterest + supportedSecret: Pinterest Refresh Token + secretType: pinterest_refresh_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: PlanetScale + supportedSecret: PlanetScale Database Password + secretType: planetscale_database_password + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: PlanetScale + supportedSecret: PlanetScale OAuth Token + secretType: planetscale_oauth_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: PlanetScale + supportedSecret: PlanetScale Service Token + secretType: planetscale_service_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Planning Center + supportedSecret: Planning Center OAuth Access Token + secretType: planning_center_oauth_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Planning Center + supportedSecret: Planning Center OAuth Application Secret + secretType: planning_center_oauth_app_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Planning Center + supportedSecret: Planning Center Personal Access Token + secretType: planning_center_personal_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Plivo + supportedSecret: Plivo Auth ID + secretType: plivo_auth_id,
plivo_auth_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Polar + supportedSecret: Polar Access Token + secretType: polar_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: Polar + supportedSecret: Polar Authorization Code + secretType: polar_authorization_code + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Polar + supportedSecret: Polar Client Registration Token + secretType: polar_client_registration_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Polar + supportedSecret: Polar Client Secret + secretType: polar_client_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Polar + supportedSecret: Polar Customer Session Token + secretType: polar_customer_session_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Polar + supportedSecret: Polar Personal Access Token + secretType: polar_personal_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Polar + supportedSecret: Polar Refresh Token + secretType: polar_refresh_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Polar + supportedSecret: Polar User Session Token + secretType: polar_user_session_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: PostHog + supportedSecret: PostHog Feature Flags Secure API Key + secretType: posthog_feature_flags_secure_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: PostHog + supportedSecret: PostHog Personal API Key + secretType: posthog_personal_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Postman + supportedSecret: Postman API Key + secretType: postman_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Postman + supportedSecret: Postman Collection Key + secretType: postman_collection_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Prefect + supportedSecret: Prefect Server API Key + secretType: prefect_server_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Prefect + supportedSecret: Prefect User API Key + secretType: prefect_user_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Proctorio + supportedSecret: Proctorio Consumer Key + secretType: proctorio_consumer_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Proctorio + supportedSecret: Proctorio Linkage Key + secretType: proctorio_linkage_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Proctorio + supportedSecret: Proctorio Registration Key + secretType: proctorio_registration_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Proctorio + supportedSecret: Proctorio Secret Key + secretType: proctorio_secret_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Pulumi + supportedSecret: Pulumi Access Token + secretType: pulumi_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: PyPI + supportedSecret: PyPI API Token + secretType: pypi_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Rainforest Pay + supportedSecret: Rainforest API Key + secretType: rainforest_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Rainforest Pay + supportedSecret: Rainforest Sandbox API Key + secretType: rainforest_sandbox_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Ramp + supportedSecret: Ramp OAuth Client ID + secretType: ramp_client_id + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Ramp + supportedSecret: Ramp OAuth Client Secret + secretType: ramp_client_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Ramp + supportedSecret: Ramp OAuth Access or Refresh Token + secretType: ramp_oauth_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Raycast + supportedSecret: Raycast Access Token + secretType: raycast_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: ReadMe + supportedSecret: ReadMe API Key + secretType: readmeio_api_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: redirect.pizza + supportedSecret: redirect.pizza API Token + secretType: redirect_pizza_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Replicate + supportedSecret: Replicate API Token + secretType: replicate_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Rootly + supportedSecret: Rootly API Key + secretType: rootly_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: RubyGems + supportedSecret: RubyGems API Key + secretType: rubygems_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: RunPod + supportedSecret: RunPod API Key + secretType: runpod_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Salesforce + supportedSecret: Salesforce Access Token + secretType: salesforce_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Salesforce + supportedSecret: Salesforce OAuth2 Consumer Key + secretType: salesforce_oauth2_consumer_key,
salesforce_oauth2_consumer_secret + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Salesforce + supportedSecret: Salesforce Refresh Token + secretType: salesforce_refresh_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Samsara + supportedSecret: Samsara API Token + secretType: samsara_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Samsara + supportedSecret: Samsara OAuth Access Token + secretType: samsara_oauth_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Scalr + supportedSecret: Scalr API Token + secretType: scalr_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Segment + supportedSecret: Segment Public API Token + secretType: segment_public_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: SendGrid + supportedSecret: SendGrid API Key + secretType: sendgrid_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Sentry + supportedSecret: Sentry Integration Token + secretType: sentry_integration_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Sentry + supportedSecret: Sentry Organization Token + secretType: sentry_organization_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Sentry + supportedSecret: Sentry Personal Token + secretType: sentry_personal_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Sentry + supportedSecret: Sentry User App Auth Token + secretType: sentry_user_app_auth_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Shippo + supportedSecret: Shippo Live API Token + secretType: shippo_live_api_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Shippo + supportedSecret: Shippo Test API Token + secretType: shippo_test_api_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Shopee + supportedSecret: Shopee Open Platform Partner Key + secretType: shopee_open_platform_partner_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Shopify + supportedSecret: Shopify Access Token + secretType: shopify_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Shopify + supportedSecret: Shopify App Client Credentials + secretType: shopify_app_client_credentials + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Shopify + supportedSecret: Shopify App Client Secret + secretType: shopify_app_client_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Shopify + supportedSecret: Shopify App Shared Secret + secretType: shopify_app_shared_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Shopify + supportedSecret: Shopify Custom App Access Token + secretType: shopify_custom_app_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Shopify + supportedSecret: Shopify Marketplace Token + secretType: shopify_marketplace_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Shopify + supportedSecret: Shopify Merchant Token + secretType: shopify_merchant_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Shopify + supportedSecret: Shopify Partner API Token + secretType: shopify_partner_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Shopify + supportedSecret: Shopify Private App Password + secretType: shopify_private_app_password + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Siemens + supportedSecret: Siemens API Token + secretType: siemens_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Siemens + supportedSecret: Siemens Code Token + secretType: siemens_code_token + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Sindri + supportedSecret: Sindri API Key + secretType: sindri_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: Slack + supportedSecret: Slack API Token + secretType: slack_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: Slack + supportedSecret: Slack Incoming Webhook URL + secretType: slack_incoming_webhook_url + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Slack + supportedSecret: Slack Workflow Webhook URL + secretType: slack_workflow_webhook_url + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Snowflake + supportedSecret: Snowflake Programmatic Access Token + secretType: snowflake_programmatic_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Sourcegraph + supportedSecret: Sourcegraph Access Token + secretType: sourcegraph_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Sourcegraph + supportedSecret: Sourcegraph Dotcom User Gateway Access Token + secretType: sourcegraph_dotcom_user_gateway + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Sourcegraph + supportedSecret: Sourcegraph Access Token with Instance Identifier + secretType: sourcegraph_instance_identifier_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Sourcegraph + supportedSecret: Sourcegraph License Key Token + secretType: sourcegraph_license_key_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Sourcegraph + supportedSecret: Sourcegraph Product Subscription Token + secretType: sourcegraph_product_subscription_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Square + supportedSecret: Square Access Token + secretType: square_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: Square + supportedSecret: Square Production Application Secret + secretType: square_production_application_secret + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Square + supportedSecret: Square Sandbox Application Secret + secretType: square_sandbox_application_secret + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: SSLMate + supportedSecret: SSLMate API Key + secretType: sslmate_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: SSLMate + supportedSecret: SSLMate Cluster Secret + secretType: sslmate_cluster_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Stripe + supportedSecret: Stripe API Key + secretType: stripe_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Stripe + supportedSecret: Stripe Legacy API Key + secretType: stripe_legacy_api_key + isPublic: true + isPrivateWithGhas: false + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Stripe + supportedSecret: Stripe Live API Restricted Key + secretType: stripe_live_restricted_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Stripe + supportedSecret: Stripe Test API Restricted Key + secretType: stripe_test_restricted_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Stripe + supportedSecret: Stripe Test API Secret Key + secretType: stripe_test_secret_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Stripe + supportedSecret: Stripe Webhook Signing Secret + secretType: stripe_webhook_signing_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Supabase + supportedSecret: Supabase Service Key + secretType: supabase_service_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: Tableau + supportedSecret: Tableau Personal Access Token + secretType: tableau_personal_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Tailscale + supportedSecret: Tailscale API Key + secretType: tailscale_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Telegram + supportedSecret: Telegram Bot Token + secretType: telegram_bot_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Telnyx + supportedSecret: Telnyx API V2 Key + secretType: telnyx_api_v2_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Temporal + supportedSecret: Temporal Cloud API Key + secretType: temporal_cloud_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Tencent + supportedSecret: Tencent Cloud International Access Token + secretType: tencent_cloud_intl_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Tencent + supportedSecret: Tencent Cloud Secret ID + secretType: tencent_cloud_secret_id + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Tencent + supportedSecret: Tencent WeChat API App ID + secretType: tencent_wechat_api_app_id + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Tencent + supportedSecret: Tencent WeChat Pay Token + secretType: tencent_wechat_pay_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Thunderstore + supportedSecret: Thunderstore IO API Token + secretType: thunderstore_io_api_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Twilio + supportedSecret: Twilio Access Token + secretType: twilio_access_token + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Twilio + supportedSecret: Twilio Account String Identifier + secretType: twilio_account_sid + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: true + isduplicate: true +- provider: Twilio + supportedSecret: Twilio API Key + secretType: twilio_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Typeform + supportedSecret: Typeform Personal Access Token + secretType: typeform_personal_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Uniwise + supportedSecret: WISEflow API Key + secretType: wiseflow_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Unkey + supportedSecret: Unkey Root Key + secretType: unkey_root_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Val Town + supportedSecret: Val Town API Token + secretType: val_town_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: VolcEngine + supportedSecret: VolcEngine Access Key ID + secretType: volcengine_access_key_id + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Wakatime + supportedSecret: WakaTime API Key + secretType: wakatime_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Wakatime + supportedSecret: WakaTime App Secret + secretType: wakatime_app_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Wakatime + supportedSecret: WakaTime OAuth Access Token + secretType: wakatime_oauth_access_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Wakatime + supportedSecret: WakaTime OAuth Refresh Token + secretType: wakatime_oauth_refresh_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Weights & Biases + supportedSecret: Weights & Biases API Key + secretType: wandb_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: false + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Workato + supportedSecret: Workato Developer API Token + secretType: workato_developer_api_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: true +- provider: WorkOS + supportedSecret: WorkOS Production API Key + secretType: workos_production_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: WorkOS + supportedSecret: WorkOS Staging API Key + secretType: workos_staging_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: true +- provider: xAI + supportedSecret: xAI API Key + secretType: xai_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Yandex + supportedSecret: Yandex.Cloud API Key + secretType: yandex_cloud_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Yandex + supportedSecret: Yandex.Cloud Access Secret + secretType: yandex_cloud_iam_access_secret + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Yandex + supportedSecret: Yandex.Cloud IAM Cookie + secretType: yandex_cloud_iam_cookie + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Yandex + supportedSecret: Yandex.Cloud IAM Token + secretType: yandex_cloud_iam_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Yandex + supportedSecret: Yandex.Cloud Smartchapta Server Key + secretType: yandex_cloud_smartcaptcha_server_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Yandex + supportedSecret: Yandex.Dictionary API Key + secretType: yandex_dictionary_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Yandex + supportedSecret: Yandex.Passport OAuth Token + secretType: yandex_passport_oauth_token + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: Yandex + supportedSecret: Yandex.Predictor API Key + secretType: yandex_predictor_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Yandex + supportedSecret: Yandex.Translate API Key + secretType: yandex_translate_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false +- provider: ZenHub + supportedSecret: ZenHub Personal API Key + secretType: zenhub_personal_api_key + isPublic: false + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: false + base64Supported: false + isduplicate: false +- provider: Zuplo + supportedSecret: Zuplo Consumer API Key + secretType: zuplo_consumer_api_key + isPublic: true + isPrivateWithGhas: true + hasPushProtection: true + hasValidityCheck: true + base64Supported: false + isduplicate: false From 53f5acfb269d6f3c07d02e09e24d1b15872603ee Mon Sep 17 00:00:00 2001 From: literarytea Date: Wed, 10 Dec 2025 15:27:40 -0600 Subject: [PATCH 08/10] Update Government Takedown Policy to include link to govt request form (#58810) Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> --- .../github-government-takedown-policy.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/site-policy/other-site-policies/github-government-takedown-policy.md b/content/site-policy/other-site-policies/github-government-takedown-policy.md index 8e521f28356f..a60fd481341e 100644 --- a/content/site-policy/other-site-policies/github-government-takedown-policy.md +++ b/content/site-policy/other-site-policies/github-government-takedown-policy.md @@ -14,11 +14,13 @@ redirect_from: From time to time, GitHub receives requests from governments to remove content that has been declared unlawful in their local jurisdiction. Although we may not always agree with those laws, we may need to block content if we receive a complete request from a government official so that our users in that jurisdiction may continue to have access to GitHub to collaborate and build software. -## What is a complete government takedown request? +## How to submit a government takedown request -To count as a complete request, a request or notice must +If you are a government official and wish to request the removal of content under this policy, you can submit your request using our [Government Takedown Requests Form](https://support.github.com/contact/government-takedown). + +To count as complete, a request must * come from a relevant, official government agency * identify illegal content * specify the source of illegality in that jurisdiction (law or court order). From e7b6146b901bdd3dc83ca9490a562a9f4ac3f28c Mon Sep 17 00:00:00 2001 From: Sarah Schneider Date: Wed, 10 Dec 2025 16:33:36 -0500 Subject: [PATCH 09/10] docstat quiet option (#58812) --- package.json | 2 +- src/metrics/README.md | 63 +++++++++++++++++++- src/metrics/lib/kusto-client.ts | 4 +- src/metrics/scripts/README.md | 102 -------------------------------- src/metrics/scripts/docstat.ts | 89 +++++++++++++++++++++------- 5 files changed, 130 insertions(+), 130 deletions(-) delete mode 100644 src/metrics/scripts/README.md diff --git a/package.json b/package.json index f4e6315d5085..db07b9267bed 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "debug": "cross-env NODE_ENV=development ENABLED_LANGUAGES=en nodemon --inspect src/frame/server.ts", "delete-orphan-translation-files": "tsx src/workflows/delete-orphan-translation-files.ts", "docsaudit": "tsx src/metrics/scripts/docsaudit.ts", - "docstat": "tsx src/metrics/scripts/docstat.ts", + "docstat": "tsx --disable-warning=DEP0190 src/metrics/scripts/docstat.ts", "deleted-assets-pr-comment": "tsx src/assets/scripts/deleted-assets-pr-comment.ts", "deleted-features-pr-comment": "tsx src/data-directory/scripts/deleted-features-pr-comment.ts", "deprecate-ghes": "tsx src/ghes-releases/scripts/deprecate/index.ts", diff --git a/src/metrics/README.md b/src/metrics/README.md index 1fb56d230edb..e41d9bc3702a 100644 --- a/src/metrics/README.md +++ b/src/metrics/README.md @@ -11,9 +11,66 @@ CLI tools to fetch data from the Kusto API. 1. Enter your `@githubazure.com` credentials. * These will get cached for future logins. 1. At the prompt in Terminal asking which subscription you want to use, just press Enter to choose the default. -1. Open or create an `.env` file in the root directory of your checkout (this file is already in `.gitignore`). -1. Add the `KUSTO_CLUSTER` and `KUSTO_DATABASE` values to the `.env`. +1. Open or create an `.env` file in the root directory of your checkout (this file is already in `.gitignore` so it won't be tracked by Git). +1. Add the `KUSTO_CLUSTER` and `KUSTO_DATABASE` values to the `.env` (_these values are pinned in slack_): ``` KUSTO_CLUSTER='' KUSTO_DATABASE='' - ``` \ No newline at end of file + ``` + +## docstat usage + +Run `npm run docstat -- ` on any GitHub Docs URL to gather a set of default metrics about it, including 30d views, users, view duration, bounces, helpfulness score, and exits to support. + +Notes: +* If the URL doesn't include a version, `docstat` will return data that includes **all versions** (so FPT, Cloud, Server, etc.). + * If you want data for FPT only, pass the `--fptOnly` option. +* `docstat` only accepts URLs with an `en` language code or no language code, and it only fetches English data. + +To see all the options: +``` +npm run docstat -- --help +``` +You can combine options like this: +``` +npm run docstat -- https://docs.github.com/copilot/tutorials/modernize-legacy-code --compare --range 60 +``` +Use `--redirects` to include `redirect_from` frontmatter paths in the queries (this is helpful if the article may have moved recently): +``` +npm run docstat -- https://docs.github.com/copilot/tutorials/modernize-legacy-code --redirects +``` +Use the `--json` (or `-j`) option to output JSON: +``` +npm run docstat -- https://docs.github.com/copilot/tutorials/modernize-legacy-code --json +``` +If you want to pass the results of the JSON to `jq`, you need to use `silent` mode: +``` +npm run --silent docstat -- https://docs.github.com/copilot/tutorials/modernize-legacy-code --json | jq .data.users +``` + +## docsaudit usage + +Run `npm run docsaudit` on a top-level content directory to gather data about its files—including title, path, versions, 30d views, and 30d users—and output it to a CSV file. + +To see all the options: +``` +npm run docsaudit -- --help +``` +Run the script on any top-level content directory: +``` +npm run docsaudit -- +``` +For example: +``` +npm run docsaudit -- actions +``` + +## Future development + +Applies to all scripts: + +* The date range option only accepts a start date (via `-r `, where the number means "`` days ago"). The end date will always be the current date. + * In the future, we can add an option to set a custom end date. + +* The only Kusto queries available are hardcoded in the `kusto/queries` directory. + * In the future, we can hardcode more queries, add the ability to send custom queries, or perhaps create pre-defined sets of queries. \ No newline at end of file diff --git a/src/metrics/lib/kusto-client.ts b/src/metrics/lib/kusto-client.ts index 72a84a062eb6..fcfbd5d7d91e 100644 --- a/src/metrics/lib/kusto-client.ts +++ b/src/metrics/lib/kusto-client.ts @@ -4,9 +4,7 @@ import { KustoResultTable, } from 'azure-kusto-data' -import dotenv from 'dotenv' - -dotenv.config() +import 'dotenv/config' if (!(process.env.KUSTO_CLUSTER || process.env.KUSTO_DATABASE)) { console.error(`Add KUSTO_CLUSTER and KUSTO_DATABASE to your .env file`) diff --git a/src/metrics/scripts/README.md b/src/metrics/scripts/README.md deleted file mode 100644 index cdd3c9b32236..000000000000 --- a/src/metrics/scripts/README.md +++ /dev/null @@ -1,102 +0,0 @@ -## Scripts - -See documentation below for: - -* [docstat](#docstat) - - Run this on any GitHub Docs URL to gather a set of metrics about it. - -* [docsaudit](#docsaudit) - - Run this on a top-level content directory to gather info about its files and output to a CSV. - -Print usage info for any script in this directory: - -```bash -tsx src/metrics/scripts/.ts --help -``` -If you get `command not found: tsx`, run: -``` -npm install -g tsx -``` - -## docstat - -Run `docstat` on any GitHub Docs URL to gather a set of default metrics about it, including 30d views, users, view duration, bounces, helpfulness score, and exits to support. - -`docstat` checks the URL against the Docs API pagelist at https://docs.github.com/api/pagelist to see if it's valid. - -If the URL doesn't include a version, `docstat` will return data for **all versions**. Pass `--fptOnly` for free-pro-team data. - -`docstat` only accepts URLs with an `en` language code or no language code, and it only fetches English data. - -### Usage - -The steps below show the [global alias](#set-a-global-alias). Use the full command path (`tsx src/metrics/scripts/docstat.ts`) if you don't set up an alias. - -To see the available options: -``` -docstat --help -``` -Run the script on any GitHub Docs URL: -``` -docstat https://docs.github.com/en/copilot/rolling-out-github-copilot-at-scale -``` -Spell options out like this: -``` -docstat https://docs.github.com/en/copilot/rolling-out-github-copilot-at-scale --compare --range 60 -``` -or use the shorthand versions: -``` -docstat https://docs.github.com/en/copilot/rolling-out-github-copilot-at-scale -c -r 60 -``` -Use `--redirects` to include `redirect_from` frontmatter paths in the queries: -``` -docstat https://docs.github.com/en/copilot/rolling-out-github-copilot-at-scale --redirects -``` -Use the `--json` (or `-j`) option to output JSON: -``` -docstat https://docs.github.com/en/copilot/rolling-out-github-copilot-at-scale --json -``` - -### Set a global alias - -To use `docstat` from any location in Terminal, set up a global alias: - -1. Open your shell configuration file (like `~/.bash_profile` or `~/.zshrc`) in a text editor. -2. Add the following line, replacing the path with the actual path to your local directory, for example: - ```bash - alias docstat="tsx ~/gh-repos/docs-internal/src/metrics/scripts/docstat.ts" - ``` -3. Save the file and reload your configuration: - ```bash - source ~/.bash_profile # or ~/.zshrc, etc. - ``` -Now you can run `docstat ` from any directory. - -## docsaudit - -Run `docsaudit` on a top-level content directory to gather data about its files—including title, path, versions, 30d views, and 30d users—and output it to a CSV file. - -To see the available options: -``` -tsx src/metrics/scripts/docsaudit.ts --help -``` -Run the script on any top-level content directory: -``` -tsx src/metrics/scripts/docsaudit.ts -``` -For example: -``` -tsx src/metrics/scripts/docsaudit.ts actions -``` - -## Future development - -Applies to all scripts in this directory: - -* The date range option only accepts a start date (via `-r `, where the number means "`` days ago"). The end date will always be the current date. - * In the future, we can add an option to set a custom end date. - -* The only Kusto queries available are hardcoded in the `kusto/queries` directory. - * In the future, we can hardcode more queries, add the ability to send custom queries, or perhaps create pre-defined sets of queries. diff --git a/src/metrics/scripts/docstat.ts b/src/metrics/scripts/docstat.ts index f21f67a68d4e..ca50b5a9fd7d 100644 --- a/src/metrics/scripts/docstat.ts +++ b/src/metrics/scripts/docstat.ts @@ -42,6 +42,7 @@ interface CliOptions { defaultToAll?: boolean showDocset?: boolean allVersions?: boolean + quiet?: boolean } interface JsonOutput { @@ -103,10 +104,16 @@ program 'Get data for free-pro-team@latest only (default: all versions if URL is versionless)', ) .option('--verbose', 'Display Kusto queries being executed') + .option('-q, --quiet', 'Suppress all output except results (automatically enabled with --json)') .parse(process.argv) const options = program.opts() +// Auto-enable quiet mode when JSON output is requested +if (options.json) { + options.quiet = true +} + // If specific options are not provided, default to all options.defaultToAll = !( options.views || @@ -141,26 +148,34 @@ const usingFptOnly = !!options.fptOnly if (version === FREE_PRO_TEAM) { if (usingFptOnly) { // User explicitly wants only free-pro-team@latest - console.log( - '\nFetching data for free-pro-team@latest only. To get all versions, omit the --fptOnly flag.\n', - ) + if (!options.quiet) { + console.log( + '\nFetching data for free-pro-team@latest only. To get all versions, omit the --fptOnly flag.\n', + ) + } } else { // Default: all versions version = null - console.log( - '\nFetching data for all versions (no version specified in URL). To get only free-pro-team@latest, pass "--fptOnly".\n', - ) + if (!options.quiet) { + console.log( + '\nFetching data for all versions (no version specified in URL). To get only free-pro-team@latest, pass "--fptOnly".\n', + ) + } } } else { // Version is specified in the URL (e.g. enterprise-server@) - console.log( - `\nFetching data for version "${version}" as specified in the URL. To get data for all versions, remove the version segment from the URL.\n`, - ) - if (usingFptOnly) { + if (!options.quiet) { console.log( - `You specified a version in the URL (${version}), but also passed --fptOnly. Only the version in the URL will be used.\n`, + `\nFetching data for version "${version}" as specified in the URL. To get data for all versions, remove the version segment from the URL.\n`, ) } + if (usingFptOnly) { + if (!options.quiet) { + console.log( + `You specified a version in the URL (${version}), but also passed --fptOnly. Only the version in the URL will be used.\n`, + ) + } + } // Always use the version from the URL } @@ -194,21 +209,22 @@ const queryPaths = [cleanPath].concat(redirects) const dates: DateRange = getDates(options.range) async function main(): Promise { - const spinner = ora('Connecting to Kusto...').start() + const spinner = options.quiet ? null : ora('Connecting to Kusto...').start() try { const client = getKustoClient() if (!client) { - spinner.fail('Failed to connect to Kusto') + if (spinner) spinner.fail('Failed to connect to Kusto') + else if (!options.quiet) console.error('Failed to connect to Kusto') process.exit(1) } - spinner.text = 'Connected! Querying Kusto...' + if (spinner) spinner.text = 'Connected! Querying Kusto...' // Only show docset stats if option is passed AND if the given path is not already a docset. options.showDocset = !(cleanPath === docsetPath) && options.compare - if (options.compare && cleanPath === docsetPath) { + if (options.compare && cleanPath === docsetPath && !options.quiet) { console.log(`\n\nSkipping comparison, since '${cleanPath}' is already a docset.\n`) } @@ -272,7 +288,7 @@ async function main(): Promise { : undefined, ]) - spinner.succeed('Data retrieved successfully!\n') + if (spinner) spinner.succeed('Data retrieved successfully!\n') // Output JSON and exit if (options.json) { @@ -399,17 +415,48 @@ async function main(): Promise { console.log(green('-------------------------------------------')) } catch (error) { - spinner.fail('Error getting data') - console.error(red('Error details:')) - console.error(error) + if (spinner) spinner.fail('Error getting data') + + if (options.json) { + // Output error in JSON format for consistent parsing + console.log( + JSON.stringify( + { + error: true, + message: 'Error getting data', + details: error instanceof Error ? error.message : String(error), + }, + null, + 2, + ), + ) + } else { + console.error(red('Error details:')) + console.error(error) + } } } try { await main() } catch (error) { - console.error(red('Unexpected error:')) - console.error(error) + if (options.json) { + // Output error in JSON format for consistent parsing + console.log( + JSON.stringify( + { + error: true, + message: 'Unexpected error', + details: error instanceof Error ? error.message : String(error), + }, + null, + 2, + ), + ) + } else { + console.error(red('Unexpected error:')) + console.error(error) + } process.exit(1) } From 8a6ed964eaad45347f37aa331ef17cb13ce134b7 Mon Sep 17 00:00:00 2001 From: Devraj Mehta Date: Wed, 10 Dec 2025 16:42:33 -0500 Subject: [PATCH 10/10] Add Copilot CLI feature to devcontainer (#58813) --- .devcontainer/devcontainer.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 30f6ce6a2427..46fa6e2d40bf 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -12,6 +12,9 @@ // Install features. Type 'feature' in the VS Code command palette for a full list. "features": { "sshd": "latest", + "ghcr.io/devcontainers/features/copilot-cli:1": { + "version": "prerelease" + }, "ghcr.io/devcontainers/features/github-cli:1": {} }, @@ -59,8 +62,6 @@ }, // Lifecycle commands - // Install dependencies then install Copilot CLI - "onCreateCommand": "npm ci && npm install -g @github/copilot@prerelease", // Start a web server and keep it running "postStartCommand": "nohup bash -c 'npm start &'", // Set port 4000 to be public