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
- addresses.rs
- alerts.rs
- archives.rs
- audit.rs
- billing.rs
- blobs.rs
- checks.rs
- customize.rs
- deploy_keys.rs
- deployments.rs
- folios.rs
- lib.rs
- limits.rs
- logs.rs
- mcp.rs
- mirrors.rs
- notifications.rs
- oauth.rs
- oidc.rs
- openapi.rs
- operations.rs
- packages.rs
- people.rs
- pins.rs
- projects.rs
- protection.rs
- reference.json
- renamed.rs
- responses.rs
- rest.rs
- rules.rs
- run_artifacts.rs
- runners.rs
- security.rs
- telemetry.rs
- token_policy.rs
- toolkit.rs
- tools.rs