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
- ..
- invites
- access.rs
- account_deletion.rs
- admin.rs
- aliases.rs
- avatars.rs
- crypto.rs
- deletion.rs
- deploy_keys.rs
- device.rs
- directory.rs
- dock.rs
- email.rs
- emails.rs
- github.rs
- invites.rs
- job_tokens.rs
- lib.rs
- members.rs
- oauth.rs
- paid.rs
- people.rs
- profiles.rs
- rename.rs
- run_credentials.rs
- security.rs
- shared_invites.rs
- sounds.rs
- teams.rs
- throttle.rs
- token_reach.rs
- tokens.rs
- two_factor.rs
- workspaces.rs