← back to CelebritySignatures
signatures: permanently exclude Q352 (brand safety) from every surface
54991315d5540f6db9b6cedb4c0faf7816a09115 · 2026-09-09 14:44:41 -0700 · Steve
Filters the QID from mergedSignatures() so it never appears in feed, grid,
wear, or sitemap.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ikfY9DhpMDXkpNRpb5ufG
Files touched
Diff
commit 54991315d5540f6db9b6cedb4c0faf7816a09115
Author: Steve <steve@designerwallcoverings.com>
Date: Wed Sep 9 14:44:41 2026 -0700
signatures: permanently exclude Q352 (brand safety) from every surface
Filters the QID from mergedSignatures() so it never appears in feed, grid,
wear, or sitemap.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ikfY9DhpMDXkpNRpb5ufG
---
server.js | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/server.js b/server.js
index 507d327..d8c0006 100644
--- a/server.js
+++ b/server.js
@@ -133,6 +133,8 @@ const ART_OCC = /(paint|sculpt|printmak|draughts|illustrat|photograph|architect|
const ART_OCC_EXCLUDE = /(fashion designer|costume designer|couturier|game designer|sound designer|web designer)/;
const isArtOcc = o => { const s = String(o).toLowerCase(); return ART_OCC.test(s) && !ART_OCC_EXCLUDE.test(s); };
let _sigCache = null, _sigCacheAt = 0;
+// Permanently excluded from EVERY surface (feed, grid, wear, sitemap) — brand safety (Steve 2026-09-09).
+const SIG_EXCLUDE_QIDS = new Set(['Q352']); // Q352 = Adolf Hitler
async function mergedSignatures() {
if (_sigCache && Date.now() - _sigCacheAt < 60000) return _sigCache; // 60s cache
const base = await load('celebrity_signatures.json', []);
@@ -143,7 +145,7 @@ async function mergedSignatures() {
const cleanArtists = raw.length ? artists.filter(a => artistQids.has(qidOf(a))) : artists;
const seenQ = new Set([...base.map(qidOf), ...cleanArtists.map(qidOf)]);
const cleanAuthors = authors.filter(a => !seenQ.has(qidOf(a)));
- _sigCache = [...base.filter(r => r.category !== 'Artists' && r.category !== 'Authors'), ...cleanArtists, ...cleanAuthors];
+ _sigCache = [...base.filter(r => r.category !== 'Artists' && r.category !== 'Authors'), ...cleanArtists, ...cleanAuthors].filter(r => !SIG_EXCLUDE_QIDS.has(qidOf(r)));
_sigCacheAt = Date.now();
return _sigCache;
}
← abc8f51 signature-viewer: fix ink-collision crash + add user-adjusta
·
back to CelebritySignatures
·
game/murals/wear: render cleaned colored-ink signatures via 6a759ce →