Why this matters
Secrets stay encrypted in state and are redacted in logs.
In Pulumi TypeScript programs, load sensitive values with new Config().requireSecret and pass as Secret<T>, never plain strings.
Secrets stay encrypted in state and are redacted in logs.
Side-by-side examples engineers can pattern-match during review.
import * as pulumi from "@pulumi/pulumi";
const dbPassword = "supersecret";
export const pass = dbPassword;
import * as pulumi from "@pulumi/pulumi";
const cfg = new pulumi.Config();
const dbPassword = cfg.requireSecret("dbPassword");
export const pass = dbPassword;
const s = new pulumi.Config().requireSecret("dbPassword");const s = process.env.DB_PASSWORD;From the same buckets as this rule.