When to use it
Use secret references for any value that should not appear in logs, UI, or journey exports:- API keys and bearer tokens.
- Passwords and passphrases.
- OAuth client IDs and secrets.
- Signing keys or webhook secrets.
Key concepts
You select secrets by name, not by value. The journey stores the secret’s name (e.g.,STRIPE_TEST_KEY). The actual value is never written into the journey definition, displayed in the UI, or included in build artifacts in plaintext.
Resolution happens at execution time. The secret value is injected when the journey actually runs — not when it’s configured.
Resolution depends on execution mode:
- Cloud runs (Cloud Runner) — secrets are resolved from cloud-managed secret storage. Admins configure which secrets are available to which journeys. See Secrets management.
- Local CLI runs — secrets resolve from your local environment (environment variables or a local secret config). If
STRIPE_TEST_KEYis set in your shell,reqflo runpicks it up automatically.
How it works
- An admin registers a secret in Admin > Secrets management.
- In Build mode, when configuring a step’s value sources, you choose “Secret reference” and select the secret by name.
- The journey records only the name. No value is stored.
- At run time, the Cloud Runner (or local CLI) resolves the name to the actual value and injects it into the request.
Examples
A journey step that calls a protected endpoint:PAYMENTS_API_KEY is never in the YAML, never shown in the UI, and never appears in run logs.
For local runs, set the secret in your shell before running:

