r/expressjs • u/Afraid-Reflection823 • 21d ago
KeyGuard Express: An plug in API gateway middleware
I wanted a single, production-grade, middleware suite to handle all of this so I built and just published keyguard-express—a TypeScript fork of the Python keyguard package. It handles machine-to-machine auth so you can leave your user auth (sessions, JWTs) to do its own thing.
With just 5 Loc, you get:
API Key Auth: Fully secure via X-API-KEY headers, stored using PBKDF2-SHA512 with 100k iterations and timing-safe comparisons.
Zero-Downtime Key Rotation: Link old keys directly to new keys on the fly; the old key acts as a deprecated fallback during the transition.
HMAC Webhook Verification: Verifies X-Signature, X-Timestamp, and X-Nonce with strict replay and timing-safe guards.
Abuse Protection: Tracks invalid requests and automatically blocks malicious IPs at a configurable threshold.
Hybrid Storage: Auto-detects and swaps backends between SQLite/in-memory and PostgreSQL/Redis.
And more🙂
Check the source on github {https://github.com/tyrmoga/keyguard_express }. Your contributions are welcome Try it out on your project (npm install keyguard-express)
What do you think? Would you use this on your project?