syntaqxA secret a job uses only to call an API can be brokered, so its value never enters the job's sandbox. Under Settings, Secrets and variables, a secret's new Brokered choice (Only for these hosts) takes the hosts it is for, written as allowed domains are (registry.npmjs.org, *.example.com); the list shows a Brokered badge whose hint names them. A workflow job then gets a stand-in in its place, g1tsec_ and 48 random hex characters, made for that job and that secret, wherever the value would have gone: as the secret, under any key a called workflow passes it as, and inside a value built from it. As the job's requests pass the runner Worker, a stand-in on a request to one of the secret's hosts becomes the real value in any header (inside Authorization: Basic it is decoded, filled in and encoded again) and in the query string, never the path or the body; a filled-in request is not followed through redirects outside the sandbox, and an answer that echoes the value has it swapped back for the stand-in in its headers, and in its body when that is small, uncompressed text. A stand-in sent to any other host goes as it is and the job's log says once that NPM_TOKEN was sent to example.com, which it is not for, so g1t did not fill it in.52cdcf0History
- ..
- about.rs
- access.rs
- account_deletion.rs
- accounts.rs
- actions.rs
- advisories.rs
- agents.rs
- audit.rs
- backups.rs
- billing.rs
- capture.rs
- checks.rs
- codeowners.rs
- coding_agents.rs
- credentials.rs
- datasets.rs
- deploy_keys.rs
- events.rs
- folios.rs
- github.rs
- guardrails.rs
- identity.rs
- ids.rs
- inbox.rs
- integrations.rs
- lib.rs
- live.rs
- members.rs
- mirrors.rs
- names.rs
- outcome.rs
- packages.rs
- people.rs
- projects.rs
- repos.rs
- rules.rs
- runners.rs
- scopes.rs
- search.rs
- security.rs
- security_suite.rs
- subscribers.rs
- teams.rs
- time.rs
- tokens.rs
- updates.rs
- webhooks.rs
- work.rs