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
- archive_links.rs
- backups.rs
- blame.rs
- catch_up.rs
- coalesce.rs
- commit_file.rs
- contributors.rs
- diff.rs
- drift.rs
- fallback.rs
- forks.rs
- git_http.rs
- git_ops.rs
- hidden_refs.rs
- import.rs
- land.rs
- languages.rs
- last_commits.rs
- lib.rs
- license.rs
- lifecycle.rs
- limits.rs
- listing.rs
- meters.rs
- mirror.rs
- moves.rs
- namespaces.rs
- pack_cache.rs
- pack_limits.rs
- push_checks.rs
- push_commits.rs
- refs.rs
- refs_cache.rs
- registry.rs
- resilience.rs
- rule_facts.rs
- rules.rs
- run_access.rs
- secret_scan.rs
- shards.rs
- shared.rs
- signatures.rs
- stats.rs
- store.rs
- test_merge.rs
- transfer.rs
- workflow_gate.rs