← back to Trending Dw
TK-12032: require shared fail-closed leak guard before Shopify product create
4ebed8ecd782eb9341a34ec315a3ec268a4408ba · 2026-09-22 14:33:11 -0700 · Steve
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files touched
M scripts/push-to-shopify.js
Diff
commit 4ebed8ecd782eb9341a34ec315a3ec268a4408ba
Author: Steve <steve@designerwallcoverings.com>
Date: Tue Sep 22 14:33:11 2026 -0700
TK-12032: require shared fail-closed leak guard before Shopify product create
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
scripts/push-to-shopify.js | 3 +++
1 file changed, 3 insertions(+)
diff --git a/scripts/push-to-shopify.js b/scripts/push-to-shopify.js
index ed1be68..a27fb69 100644
--- a/scripts/push-to-shopify.js
+++ b/scripts/push-to-shopify.js
@@ -15,6 +15,7 @@
const fs = require('fs');
const path = require('path');
const https = require('https');
+const { assertNoPublicLeak } = require(path.join(process.env.HOME, 'Projects/_shared/leak-guard/leak-guard.cjs')); // TK-12032 fail-closed private-label leak guard
const QUEUE = path.join(__dirname, '..', 'data', 'shopify-queue.json');
const STORE = process.env.SHOPIFY_STORE; // xxxx.myshopify.com
@@ -68,6 +69,8 @@ async function main(){
let ok = 0;
for (const p of todo){
const payload = buildProduct(p);
+ try { assertNoPublicLeak(payload, { context: `trending-dw ${p.sku}` }); }
+ catch (e){ console.error(` ⛔ LEAK GUARD ${p.sku}: ${e.message}`); continue; }
if (DRY){ console.log(` ${p.sku} ${p.title} $${payload.product.variants[0].price}`); continue; }
try {
const r = await apiPost(payload);
← 4bcd26f creds-safe fetch guard: resolve relative fetch vs credential
·
back to Trending Dw
·
(newest)