Blog

Posts tagged “Security”

What small Node teams should log in the AI-attack era. Cover graphic for a guide to logging API requests to spot bot attacks.
Security

What small Node teams should log in the AI-attack era

Bots are now more than half of web traffic, and 27% of attacks target APIs and identity systems. You don't need a security team to see it, just the right fields on every request. Here's the minimum to capture, five patterns to watch, and when to block.

Jason Fill October 27, 2026 8 min read
Node.js large file upload, no OOM. Cover graphic for a guide to streaming large uploads in Node.js without running out of memory.
Coding

Node.js large file upload handling without running out of memory

One 2 GB upload should not take your API down with it. Here is how to stream uploads in Express and Fastify, when to use presigned URLs, and which parsers to patch.

Jason Fill October 5, 2026 6 min read
SSRF in Node.js, blocked at connect. Cover graphic for a guide to preventing server-side request forgery in Node.js fetch and undici calls.
Security

SSRF in Node.js: the fetch() you didn't mean to make

A customer pastes a webhook URL pointing at your cloud metadata endpoint, and your API fetches it. Learn how SSRF in Node.js happens, why blocklists on URL strings fail, and a tested safeFetch() you can ship today.

Jason Fill September 8, 2026 6 min read
API key security, from format to rotation. Cover graphic for a guide to generating, hashing, scoping and rotating API keys in Node.js.
Security

API key security for Node APIs: prefixes, hashing, scopes and rotation

A customer just pushed their API key to a public repo. Can you tell if anyone used it, and could a database leak expose every key? Design API key security in Node properly: prefixes, hashing, scopes and rotation.

Jason Fill July 27, 2026 6 min read
Spot a CORS misconfiguration in one curl. Cover graphic for a guide to finding, fixing and testing CORS misconfiguration in Express and Fastify.
Security

CORS misconfiguration in Express and Fastify: how to find it and test for it

One line added to silence a frontend error, cors({ origin: true, credentials: true }), lets any website read your users' data. Find CORS misconfiguration in Express and Fastify APIs, fix it, and test it in CI.

Jason Fill June 12, 2026 5 min read
BOLA vulnerability: one digit away. Cover graphic for a guide to fixing BOLA and IDOR in Node APIs and spotting probing in request logs.
Security

BOLA vulnerability in Node APIs: how to fix IDOR and catch it in your logs

Change one digit in a URL and get another customer's invoice. Here is how to fix BOLA and IDOR structurally and spot someone probing for it before they find a gap.

Jason Fill April 13, 2026 6 min read
Credential stuffing detection in your logs. Cover graphic for a guide to detecting credential stuffing on Node API login routes.
Security

Credential stuffing detection for Node APIs: spotting it in your login logs

Every request looks like a normal login, which is why stuffing goes unseen until a customer reports a login they did not make. Here is how to see it in your logs.

Jason Fill February 26, 2026 6 min read
Node.js rate limiting: three algorithms. Cover graphic for a guide to fixed window, sliding window and token bucket rate limiting in Node.js.
Security

Node.js rate limiting: fixed window vs sliding window vs token bucket

One client's runaway retry loop should not take your API down at 3am. Compare fixed window, sliding window and token bucket rate limiting in Node, with working code, a Redis version and what to ship this afternoon.

Jason Fill February 2, 2026 7 min read
Redact sensitive data in logs. Cover graphic for a guide to keeping secrets and personal data out of Node.js API logs.
Logging

How to redact sensitive data in logs for Node.js APIs

Found a bearer token in your logs? Here's how to keep secrets and personal data out of Node API logs in an afternoon: Pino redaction, URL and error scrubbing, body allowlists and a test that catches leaks.

Jason Fill January 5, 2026 6 min read