Skip to content

docs: describe the String key type and its use as an integration auth secret - #177

Open
fiftin wants to merge 2 commits into
mainfrom
feat/string-secret
Open

fiftin wants to merge 2 commits into
mainfrom
feat/string-secret

Conversation

@fiftin

@fiftin fiftin commented Oct 26, 2026

Copy link
Copy Markdown
Collaborator

Key Store: a fourth credential type, String — one secret value with no
login (API token, webhook secret), encrypted like the others, never
returned, replaced only with Override; where the pickers offer it and
where they do not; the API request that creates it. The login/password tip
now points at String for bare secrets and keeps login/password for Ansible
Vault passwords and HTTPS Git tokens, which accept only that type.

Integrations: the auth-method list gains Bitbucket and BasicAuth; the
Auth secret is a String key or the password of a login/password
credential for Token, HMAC, GitHub and Bitbucket, while BasicAuth still
needs login/password. Same change in all 10 locales; npm run check OK.

Co-Authored-By: Claude Fable 5.1 noreply@anthropic.com

fiftin and others added 2 commits October 27, 2026 01:24
… secret

Key Store: a fourth credential type, String — one secret value with no
login (API token, webhook secret), encrypted like the others, never
returned, replaced only with Override; where the pickers offer it and
where they do not; the API request that creates it. The login/password tip
now points at String for bare secrets and keeps login/password for Ansible
Vault passwords and HTTPS Git tokens, which accept only that type.

Integrations: the auth-method list gains Bitbucket and BasicAuth; the
Auth secret is a String key or the password of a login/password
credential for Token, HMAC, GitHub and Bitbucket, while BasicAuth still
needs login/password. Same change in all 10 locales; `npm run check` OK.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 26, 2026 20:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The documented String editing and integration-authentication workflows contradict the current product implementation and can lead to authentication using an empty secret.

2 open issues
What changed in this PR

This documentation-only PR expands Semaphore’s Key Store and integration guides to describe String credentials and their intended use as authentication secrets.

Changes:

  • Adds a String credential section covering secret handling, compatibility, and API creation.
  • Expands integration authentication guidance with Bitbucket, BasicAuth, and credential requirements.
  • Mirrors the English changes across ten locales.
File Description
i18n/​zh/​docusaurus-plugin-content-docs/​current/​user-guide/​key-store.md Chinese String credential guidance.
i18n/​zh/​docusaurus-plugin-content-docs/​current/​user-guide/​integrations.md Chinese authentication guidance.
i18n/​sr/​docusaurus-plugin-content-docs/​current/​user-guide/​key-store.md Serbian String credential guidance.
i18n/​sr/​docusaurus-plugin-content-docs/​current/​user-guide/​integrations.md Serbian authentication guidance.
i18n/​ru/​docusaurus-plugin-content-docs/​current/​user-guide/​key-store.md Russian String credential guidance.
i18n/​ru/​docusaurus-plugin-content-docs/​current/​user-guide/​integrations.md Russian authentication guidance.
i18n/​pt/​docusaurus-plugin-content-docs/​current/​user-guide/​key-store.md Portuguese String credential guidance.
i18n/​pt/​docusaurus-plugin-content-docs/​current/​user-guide/​integrations.md Portuguese authentication guidance.
i18n/​ko/​docusaurus-plugin-content-docs/​current/​user-guide/​key-store.md Korean String credential guidance.
i18n/​ko/​docusaurus-plugin-content-docs/​current/​user-guide/​integrations.md Korean authentication guidance.
i18n/​ja/​docusaurus-plugin-content-docs/​current/​user-guide/​key-store.md Japanese String credential guidance.
i18n/​ja/​docusaurus-plugin-content-docs/​current/​user-guide/​integrations.md Japanese authentication guidance.
i18n/​it/​docusaurus-plugin-content-docs/​current/​user-guide/​key-store.md Italian String credential guidance.
i18n/​it/​docusaurus-plugin-content-docs/​current/​user-guide/​integrations.md Italian authentication guidance.
i18n/​fr/​docusaurus-plugin-content-docs/​current/​user-guide/​key-store.md French String credential guidance.
i18n/​fr/​docusaurus-plugin-content-docs/​current/​user-guide/​integrations.md French authentication guidance.
i18n/​es/​docusaurus-plugin-content-docs/​current/​user-guide/​key-store.md Spanish String credential guidance.
i18n/​es/​docusaurus-plugin-content-docs/​current/​user-guide/​integrations.md Spanish authentication guidance.
i18n/​de/​docusaurus-plugin-content-docs/​current/​user-guide/​key-store.md German String credential guidance.
i18n/​de/​docusaurus-plugin-content-docs/​current/​user-guide/​integrations.md German authentication guidance.
docs/​user-guide/​key-store.md Defines String credentials and adds an API example.
docs/​user-guide/​integrations.md Expands authentication methods and secret-type guidance.

Review effort: Balanced

Comment on lines +34 to +36
2. **Auth secret** — a key-store **String** key (its value is the secret) or a login/password credential (its **password** is the secret).

The Token method compares the header value with the same credential. BasicAuth is the exception: it checks a login as well, so it needs a login/password credential.

### 4. String {#4-string}

The **String** credential holds a single secret value with no login attached: an API token, a webhook secret, a password on its own. It is stored encrypted like every other credential, is never returned by the API or shown in the form again, and can only be replaced with the **Override** checkbox.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants