Arrange Act Assert

Jag Reehals thinking on things, mostly product development

Tag: node

3 posts tagged “node”.

node-env-resolver Makes Safe, Typed Node Config the Default

23 Apr 2026

Liran Tal is spot on in his Environment variables and configuration anti-patterns in Node.js applications post

You may inadvertently expose sensitive information like database credentials and API keys as part of error messages, stack traces, and other forms of data returned to consuming clients.

He explains why process.env feels safe right up until it isn't.

You add dotenv.config() on line one, scatter process.env.DB_PASSWORD across twelve files, then someone's error reporter serialises a request object and your Stripe key ends up in a third-party log.

If you've shipped a Node app, you've probably seen some version of this happen.

His anti-pattern example nails it:

const port = process.env.PORT || 3000;
const dbUsername = process.env.DB_USERNAME;
const dbPassword = process.env.DB_PASSWORD;
const dbHost = process.env.DB_HOST;
const apiBaseUrl = process.env.API_BASE_URL;
const apiToken = process.env.API_TOKEN;

Untyped. Unvalidated. Globally readable. One step away from leaking through logs, traces, or error reporters.

But there's still a gap...

Read More →

Your .env File Is Not a Secret Store

21 Apr 2026

Most teams make one of two mistakes with secrets.

The first is obvious.

The second is more common in teams that have already fixed the first one.

Both come from the same misunderstanding about what a .env file is supposed to do.

Your .env File Is Not a Secret Store

Read More →

Log the Fingerprint, Not the Secret

21 Apr 2026

When something goes wrong with your application's configuration, you need to know what was loaded and where it came from.

Most tools for answering that question either tell you too much or nothing at all.

There's a third option most people haven't considered.

Log the Fingerprint, Not the Secret

Read More →