← back to Handcraftedwallpaper
wire api-vendor-redact middleware — mount first so all /api/* responses get vendor stripped + ?vendor= query dropped
5aa683ac308bbcbd5c9f66c7cd3383f703765e7b · 2026-05-25 21:06:20 -0700 · Steve Abrams
Files touched
Diff
commit 5aa683ac308bbcbd5c9f66c7cd3383f703765e7b
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon May 25 21:06:20 2026 -0700
wire api-vendor-redact middleware — mount first so all /api/* responses get vendor stripped + ?vendor= query dropped
---
server.js | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/server.js b/server.js
index 3f8ed8c..a396597 100644
--- a/server.js
+++ b/server.js
@@ -136,6 +136,12 @@ function sortProducts(list, mode) {
}
+// VENDOR REDACTION — mounted FIRST so it wraps all /api/* responses (strips
+// `vendor`, drops `vendors` facet map, kills `?vendor=` query). Defense-in-depth
+// for Steve's standing rule "DW vendor names NEVER in customer-facing UI".
+try { app.use(require('../_shared/api-vendor-redact')); }
+catch (e) { console.error(`[${__SITE}] api-vendor-redact unavailable (${e.message}) — vendor names may leak via /api/*`); }
+
app.use(express.json({ limit: "256kb" }));
// Site config — prefer _shared/site-config (canonical) but fall back to an
// inline minimal loader so this server.js is self-contained on Kamatera.
← fab0ab6 pull-from-shopify: use shared classifier with rails primary,
·
back to Handcraftedwallpaper
·
add 404-guard: JSON for /api/*, index.html fallback for ever 2646f8f →