[object Object]

← 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

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)