{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "scanner-fe7c77400420c1fa", "name": "Stray `console.log` in TS/JS \u2014 landing-pages/shared/conversion-toolkit.js:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 landing-pages/shared/conversion-toolkit.js:55"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f8ca3cc7c108a844", "name": "Stray `console.log` in TS/JS \u2014 landing-pages/shared/tracking.js:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 landing-pages/shared/tracking.js:62"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-03ab94fac79d14c6", "name": "Stray `console.log` in TS/JS \u2014 tests/unit/email.test.ts:100", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tests/unit/email.test.ts:100"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-301a681b1459d3c6", "name": "Stray `console.log` in TS/JS \u2014 scripts/analyze-conversations.js:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze-conversations.js:6"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0971f18d433deabb", "name": "Stray `console.log` in TS/JS \u2014 scripts/run-kb-migration.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-kb-migration.js:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-44224a698cde06d7", "name": "Stray `console.log` in TS/JS \u2014 scripts/analyze-whatsapp.js:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze-whatsapp.js:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6be9696999cbbc0", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-contacts.js:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-contacts.js:90"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d5221b7b67d6ca2f", "name": "Stray `console.log` in TS/JS \u2014 scripts/analyze-all-whatsapp.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze-all-whatsapp.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-73fe8be8c6b54e75", "name": "Stray `console.log` in TS/JS \u2014 tn-biznes/shared-costs.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tn-biznes/shared-costs.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1997a2f528ca0b16", "name": "Stray `console.log` in TS/JS \u2014 chrome-extensions/whatsapp-sync/background.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 chrome-extensions/whatsapp-sync/background.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8baf5e5f39aaf558", "name": "Icon-only button without accessible name \u2014 chrome-extensions/whatsapp-sync/content.js:4006", "shortDescription": {"text": "Icon-only button without accessible name \u2014 chrome-extensions/whatsapp-sync/content.js:4006"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e37b78fe9322d348", "name": "Stray `console.log` in TS/JS \u2014 chrome-extensions/whatsapp-sync/content.js:95", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 chrome-extensions/whatsapp-sync/content.js:95"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ba9a5e7bbf8bbdd9", "name": "Stray `console.log` in TS/JS \u2014 chrome-extensions/whatsapp-sync/popup.js:264", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 chrome-extensions/whatsapp-sync/popup.js:264"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a761bfe279fda6a0", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/tpay-create-transaction/index.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/tpay-create-transaction/index.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f1e7a7250d9725da", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-landing/index.ts:381", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-landing/index.ts:381"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a6bc95b11eb150f9", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/resend-webhook/index.ts:65", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/resend-webhook/index.ts:65"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1208c63f0dc15f25", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/payment-reminder-cron/index.ts:146", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/payment-reminder-cron/index.ts:146"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46ee71bb4892ad84", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-check-pending/index.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-check-pending/index.ts:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-37cf59492c116039", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/whatsapp-lead-update/index.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/whatsapp-lead-update/index.ts:45"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c694c5fb61226eac", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/followups-cron/index.ts:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/followups-cron/index.ts:89"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e8ef81e3cd339d0d", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/outreach-reply-webhook/index.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/outreach-reply-webhook/index.ts:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38400ad3886af34d", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/lead-upsert/index.ts:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/lead-upsert/index.ts:70"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-919ed8474fd35873", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-auto-reports/index.ts:54", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-auto-reports/index.ts:54"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e7401c6186c81389", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/generate-followups/index.ts:123", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/generate-followups/index.ts:123"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-71d4b5aa5d5f2d3c", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/invoice-pdf/index.ts:111", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/invoice-pdf/index.ts:111"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c8a5d5905bb918f", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/fakturownia-invoice/index.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/fakturownia-invoice/index.ts:79"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f95bde782e650e12", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-chat/index.ts:1069", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-chat/index.ts:1069"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef1d3ed9d0dc0536", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/campaign-check-progress/index.ts:100", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/campaign-check-progress/index.ts:100"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-43d0aecb62c2e62b", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-image/index.ts:270", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-image/index.ts:270"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c554482005b79b47", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-gtm/index.ts:131", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-gtm/index.ts:131"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-56cbbed48d6baa18", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/send-email/index.ts:237", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/send-email/index.ts:237"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5be4c2596a16a67a", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/fakturownia-proforma/index.ts:99", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/fakturownia-proforma/index.ts:99"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ba906f53da53abb", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/get-followups/index.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/get-followups/index.ts:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d5afb09f0e2b0ef", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-fetch-ads-cron/index.ts:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-fetch-ads-cron/index.ts:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3509b81deb939997", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-get-result/index.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-get-result/index.ts:45"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0b47d91486dbb7a", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/resend-conversions/index.ts:208", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/resend-conversions/index.ts:208"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49f36b13904e13c6", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-full-campaign/index.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-full-campaign/index.ts:66"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d9a54b950a1b525e", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/revolut-webhook/index.ts:179", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/revolut-webhook/index.ts:179"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-825468c1a845cc11", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-webhook/index.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-webhook/index.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e047728df831393b", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/google-conversion/index.ts:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/google-conversion/index.ts:57"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b1d0e233751a3688", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/regenerate-followup/index.ts:238", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/regenerate-followup/index.ts:238"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebd26bc7aa837b02", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/checkout-notify/index.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/checkout-notify/index.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-70cc3b1eb75050cf", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/automation-trigger/index.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/automation-trigger/index.ts:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2059849b70200354", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/email-inbound/index.ts:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/email-inbound/index.ts:77"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd29f05746ee3f80", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/meta-event/index.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/meta-event/index.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e12b2c52adbb5c5b", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-prototype/index.ts:386", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-prototype/index.ts:386"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-14647e275c3f756c", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/slack-notify/index.ts:98", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/slack-notify/index.ts:98"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9273d27852a67012", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/workflow-stage-completed/index.ts:137", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/workflow-stage-completed/index.ts:137"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ffc9d6d9d596c42e", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/revolut-create-order/index.ts:100", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/revolut-create-order/index.ts:100"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-58be6d5c4e3df1ff", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/offer-emails-cron/index.ts:144", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/offer-emails-cron/index.ts:144"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7317e8f517e9738b", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-setup-webhook/index.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-setup-webhook/index.ts:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9f53fca759ccc635", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/tpay-webhook/index.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/tpay-webhook/index.ts:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0a8474890aff5e2", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/generate-image/index.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/generate-image/index.ts:66"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcb803233054f164", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/tiktok-event/index.ts:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/tiktok-event/index.ts:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-83de484b7b6b8977", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/generate-campaign-batch/index.ts:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/generate-campaign-batch/index.ts:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ddda93f2b20191cc", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/outreach-followup/index.ts:107", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/outreach-followup/index.ts:107"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e0cf24d1765c4cbf", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/password-reset/index.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/password-reset/index.ts:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7576698400c95ff1", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/whatsapp-sync/index.ts:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/whatsapp-sync/index.ts:57"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-73d613c3ad7d5f78", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/whatsapp-lead-lookup/index.ts:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/whatsapp-lead-lookup/index.ts:59"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b536ea4d22ebb314", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/scrape-product-image/index.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/scrape-product-image/index.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5fd287bdf0463a0b", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/automation-executor/index.ts:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/automation-executor/index.ts:55"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0caca5f116d2e07", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/outreach-send/index.ts:113", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/outreach-send/index.ts:113"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f28db2b82b28f8c0", "name": "Privileged port 993 in use", "shortDescription": {"text": "Privileged port 993 in use"}, "fullDescription": {"text": "Port 993 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c6970e9416fd3918", "name": "Insecure pattern 'direct_innerhtml_assignment' in notes.html:294", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in notes.html:294"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7dd9671ffb08912c", "name": "Insecure pattern 'direct_innerhtml_assignment' in pipeline.html:417", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in pipeline.html:417"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-afd12e6f4de9ad49", "name": "Insecure pattern 'direct_innerhtml_assignment' in outreach.html:1029", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in outreach.html:1029"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aac965e96a685149", "name": "Insecure pattern 'direct_innerhtml_assignment' in calendar.html:567", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in calendar.html:567"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-866fbe0ea1d7a71e", "name": "Insecure pattern 'direct_innerhtml_assignment' in client-projekt.html:5825", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in client-projekt.html:5825"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0107d048d954eb12", "name": "Insecure pattern 'direct_innerhtml_assignment' in whatsapp-settings.html:381", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in whatsapp-settings.html:381"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-38ca15088caff1bf", "name": "Insecure pattern 'direct_innerhtml_assignment' in commissions.html:289", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in commissions.html:289"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eed73256e15c4e6e", "name": "Insecure pattern 'direct_innerhtml_assignment' in client-offer-v2.html:2710", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in client-offer-v2.html:2710"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9e799dd20329814b", "name": "Insecure pattern 'weak_hash' in CLAUDE.md:222", "shortDescription": {"text": "Insecure pattern 'weak_hash' in CLAUDE.md:222"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9b70e5b1d1c56661", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboard.html:645", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboard.html:645"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f67f17fb1a59adbc", "name": "Insecure pattern 'direct_innerhtml_assignment' in logi.html:316", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in logi.html:316"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a1f265bb5e39ae93", "name": "Insecure pattern 'direct_innerhtml_assignment' in login.html:262", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in login.html:262"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-819fe852dc51610b", "name": "Insecure pattern 'direct_innerhtml_assignment' in offer.html:574", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in offer.html:574"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1760501eaf2569e5", "name": "Insecure pattern 'direct_innerhtml_assignment' in offers.html:654", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in offers.html:654"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cf21600da58b336f", "name": "Insecure pattern 'direct_innerhtml_assignment' in client-offer.html:938", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in client-offer.html:938"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-da7903d2a0c5bea9", "name": "Insecure pattern 'direct_innerhtml_assignment' in discount-codes.html:597", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in discount-codes.html:597"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-626050a8b0a449b1", "name": "Insecure pattern 'direct_innerhtml_assignment' in target.html:1481", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in target.html:1481"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-50e27aeb199a0747", "name": "Insecure pattern 'direct_innerhtml_assignment' in payment-schedule.html:594", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in payment-schedule.html:594"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f595963c209b1af9", "name": "Insecure pattern 'direct_innerhtml_assignment' in whatsapp.html:456", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in whatsapp.html:456"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7c571ec40a70d04e", "name": "Insecure pattern 'direct_innerhtml_assignment' in settings.html:923", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in settings.html:923"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7bb6a00ddf55c17c", "name": "Insecure pattern 'direct_innerhtml_assignment' in offer-starter.html:1305", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in offer-starter.html:1305"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7034cbd8cd5c18ef", "name": "Insecure pattern 'direct_innerhtml_assignment' in orders.html:699", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in orders.html:699"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-31bfdeb0fae00995", "name": "Insecure pattern 'direct_innerhtml_assignment' in leads.html:591", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in leads.html:591"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6070c2c3063121ce", "name": "Insecure pattern 'direct_innerhtml_assignment' in lead.html:2122", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in lead.html:2122"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-48caaff58ee253bc", "name": "Insecure pattern 'direct_innerhtml_assignment' in salary-sim.html:933", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in salary-sim.html:933"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d068577fe482fddb", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/nomadbar/index.html:1567", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/nomadbar/index.html:1567"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f0e230e36feff870", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/tomekniedzwiecki.pl/CRM/index.html:3007", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/tomekniedzwiecki.pl/CRM/index.html:3007"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6ee64763768bc500", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/tomekniedzwiecki.pl/CRM/index-v1-backup.html:4018", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/tomekniedzwiecki.pl/CRM/index-v1-backup.html:4018"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bb32b9490b981d49", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/windox/index.html:1004", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/windox/index.html:1004"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0c23beeaaf5985bc", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/caffora/index.html:1738", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/caffora/index.html:1738"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-359eca0ba868feca", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/parova/index.html:4360", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/parova/index.html:4360"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-98c5fbfb6ed32d25", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/h2vital/index.html:4392", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/h2vital/index.html:4392"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c91a2e632abd66b7", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/glassnova/index.html:1714", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/glassnova/index.html:1714"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-080cbb7bffaf43fb", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/shared/conversion-toolkit.js:955", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/shared/conversion-toolkit.js:955"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8f9a378857e9b1f2", "name": "Insecure pattern 'insert_adjacent_html' in landing-pages/shared/conversion-toolkit.js:1369", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in landing-pages/shared/conversion-toolkit.js:1369"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2ffcbff99bc80bda", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/shared/reviews-widget.js:146", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/shared/reviews-widget.js:146"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-79661987259fbd5c", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/silktip/index.html:3785", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/silktip/index.html:3785"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8f2248ebf957612a", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/wodorum/index.html:1143", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/wodorum/index.html:1143"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-54a6e84aa1d8f704", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/vitrix/index.html:3474", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/vitrix/index.html:3474"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-39f69e11cb34eb35", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/badaczek/index.html:934", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/badaczek/index.html:934"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8b9e0ab665bcefc0", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/rysulek/index.html:1843", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/rysulek/index.html:1843"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e9575179f80344b6", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/oravibe/index.html:3596", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/oravibe/index.html:3596"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6fe1525fe531320b", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/lissio/index.html:1860", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/lissio/index.html:1860"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-31c32b7b567abde0", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/colorjet/index.html:2693", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/colorjet/index.html:2693"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8069f25304fe42f7", "name": "Insecure pattern 'insert_adjacent_html' in landing-pages/colorjet/index.html:3107", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in landing-pages/colorjet/index.html:3107"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-966d2ab65f60bd47", "name": "Insecure pattern 'insert_adjacent_html' in landing-pages/tidex/index.html:1062", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in landing-pages/tidex/index.html:1062"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-818e6836861d701d", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/hovira/index.html:1278", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/hovira/index.html:1278"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7f7e0fa54098c0f0", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/oculia/index.html:1458", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/oculia/index.html:1458"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-569e36f6ba99b7e3", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/numerator/index.html:2055", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/numerator/index.html:2055"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-94f316fb22eed77d", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/kafina/index.html:3565", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/kafina/index.html:3565"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-71c84d3243a5ec3e", "name": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/kidsnap/index.html:861", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/kidsnap/index.html:861"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bbec6515580181e2", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/plans.html:452", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/plans.html:452"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bce662913d86565b", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/costs.html:762", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/costs.html:762"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2a4d04e1862c147b", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/revenues.html:643", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/revenues.html:643"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0735630a560388f1", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/employees.html:383", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/employees.html:383"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-188c2ec95b5f8fb5", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/dashboard.html:847", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/dashboard.html:847"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0971272562b100d1", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/optymalizacja.html:1609", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/optymalizacja.html:1609"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c5e0648d3a54e2c1", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/analytics.html:1106", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/analytics.html:1106"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d94208472983693", "name": "Insecure pattern 'direct_innerhtml_assignment' in components/shared-sidebar.js:566", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in components/shared-sidebar.js:566"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0da568f10d17b28a", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-aplikacje/index.html:675", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-aplikacje/index.html:675"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-60eb1741f84a5240", "name": "Insecure pattern 'direct_innerhtml_assignment' in chrome-extensions/whatsapp-sync/content.js:789", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in chrome-extensions/whatsapp-sync/content.js:789"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-05f742287da85e1b", "name": "Insecure pattern 'direct_innerhtml_assignment' in chrome-extensions/whatsapp-sync/popup.js:345", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in chrome-extensions/whatsapp-sync/popup.js:345"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e87ba4756fbaef5", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-fetch-ads/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-fetch-ads/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8a81530fb504835b", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-research-ads/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-research-ads/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1582f8c0c29d7d81", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-get-messages/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-get-messages/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af53456196dee809", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-check-pending/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-check-pending/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1dd048fb1e300ee8", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-research-result/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-research-result/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-624651522bb1305b", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-lead-update/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-lead-update/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-326d06019ad2bbc3", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/followups-cron/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/followups-cron/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-05f8ec3b25c088b7", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/outreach-reply-webhook/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/outreach-reply-webhook/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0c344803d5cd1699", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/lead-upsert/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/lead-upsert/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f7ead4346110036e", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-auto-reports/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-auto-reports/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b2c4cea7e3a416ae", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-followups/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-followups/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1d2398d091b9fa3a", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-sync-status/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-sync-status/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-474647a1a4330207", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-fetch-campaign-spec/index.ts:6", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-fetch-campaign-spec/index.ts:6"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ab2afc1077174fc5", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/campaign-check-progress/index.ts:17", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/campaign-check-progress/index.ts:17"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0010aeb6e80a3913", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-follow-up/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-follow-up/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-88e711ab6e551c0c", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-ask-campaign/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-ask-campaign/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2beb48592d2c1f5a", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/nip-lookup/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/nip-lookup/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e9c8f5b0ea68e239", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/update-followup/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/update-followup/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-61bfd6d94d658e1b", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-notes/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-notes/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f8c96fd574017512", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/get-followups/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/get-followups/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c8c1f8e0341ca6f4", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-ask/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-ask/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e5578a4f98515c7f", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-fetch-ads-cron/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-fetch-ads-cron/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c4db9961cdcea651", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-get-result/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-get-result/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-31a8e54c7922b831", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/resend-conversions/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/resend-conversions/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5c3144340cfc9ab0", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-full-campaign/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-full-campaign/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-486f3a042d4216db", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-probe/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-probe/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1f6336514f8c426e", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-webhook/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-webhook/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-72ee56e5301af186", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/google-conversion/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/google-conversion/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0c1c7012b8c30c1c", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/regenerate-followup/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/regenerate-followup/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a15f8cc185ef5d0f", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-create-offer/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-create-offer/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-724c599eef575eef", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/automation-trigger/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/automation-trigger/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-62f07cff0df4ba2c", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/email-inbound/index.ts:6", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/email-inbound/index.ts:6"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e0c233aacc35ebd0", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/meta-event/index.ts:6", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/meta-event/index.ts:6"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e4afc96681d70708", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-ad-copy/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-ad-copy/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2abc57f15db610ad", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/send-sms/index.ts:23", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/send-sms/index.ts:23"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8240ba651e2541e2", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-whatsapp-reply/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-whatsapp-reply/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f401262e18ef7fc9", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-offers/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-offers/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fc5a9694155a0286", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/spar-drip/index.ts:58", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/spar-drip/index.ts:58"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ddf8d6d25b5fc173", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-debug/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-debug/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-19285817849207de", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-setup-webhook/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-setup-webhook/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b070a70a28b6f7f4", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/spar-followups/index.ts:38", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/spar-followups/index.ts:38"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-570f569d29b972ce", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/tiktok-event/index.ts:6", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/tiktok-event/index.ts:6"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1be2244774afb1d6", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/share-content/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/share-content/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-92d8a0829b9f8dda", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-campaign-batch/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-campaign-batch/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-315549030c0fc5d1", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/password-reset/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/password-reset/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-620b7cb0607b5488", "name": "Insecure pattern 'weak_hash' in supabase/functions/whatsapp-sync/index.ts:19", "shortDescription": {"text": "Insecure pattern 'weak_hash' in supabase/functions/whatsapp-sync/index.ts:19"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c2d24ae53cfa5e7f", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-sync/index.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-sync/index.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-81c616a5af793d41", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-lead-lookup/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-lead-lookup/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-faf25d45a7b279a5", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-client-offer/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-client-offer/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bee05e7c99d8d1d9", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-list-connectors/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-list-connectors/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fd936215aba65c31", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/scrape-product-image/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/scrape-product-image/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-20a3ffc7048d77e3", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/automation-executor/index.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/automation-executor/index.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-24d30e7c390ff99f", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/automations.html:405", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/automations.html:405"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c2aeda1305d7b699", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/automation-builder.html:655", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/automation-builder.html:655"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-21e09245532e3c63", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/email-log.html:504", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/email-log.html:504"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dba33afd60076ff6", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/products.html:347", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/products.html:347"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7db5df3f649155fa", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/workflows.html:628", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/workflows.html:628"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a0e2ac8801d56ae6", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/kampanie.html:561", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/kampanie.html:561"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4c06ef29a236a208", "name": "Insecure pattern 'direct_innerhtml_assignment' in checkout/old.html:1220", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in checkout/old.html:1220"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8d5f71ec9207a35f", "name": "Insecure pattern 'direct_innerhtml_assignment' in checkout/v2/index.html:2226", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in checkout/v2/index.html:2226"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1c500239a65a8bad", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-todo/notes.html:519", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-todo/notes.html:519"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-baee0e7b13b6b58b", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-todo/boards.html:355", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-todo/boards.html:355"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fb21daeca6036df2", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-todo/board.html:582", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-todo/board.html:582"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bc02b08591d233c8", "name": "Insecure pattern 'direct_innerhtml_assignment' in tn-todo/my-tasks.html:283", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-todo/my-tasks.html:283"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5e9d4a7e1b0eabc1", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-912749afb8ee7a31", "name": "Very large file: landing-pages/shared/conversion-toolkit.js (1785 lines)", "shortDescription": {"text": "Very large file: landing-pages/shared/conversion-toolkit.js (1785 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b4dc3c79baa0746", "name": "Very large file: chrome-extensions/whatsapp-sync/content.js (4430 lines)", "shortDescription": {"text": "Very large file: chrome-extensions/whatsapp-sync/content.js (4430 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-499da64bfb8e6451", "name": "Very large file: supabase/functions/spar-chat/index.ts (1178 lines)", "shortDescription": {"text": "Very large file: supabase/functions/spar-chat/index.ts (1178 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "14 tests / 128 src (ratio 0.11)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3ed68815bca2f8c", "name": "Node manifest has dependencies but no lockfile: package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 869 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 51 placeholder/mock markers across 14 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing lockfile. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-078278ae663fedbb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 landing-pages/shared/conversion-toolkit.js:1512", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 landing-pages/shared/conversion-toolkit.js:1512"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de6948bf9fbad5f8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 landing-pages/shared/reviews-widget.js:68", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 landing-pages/shared/reviews-widget.js:68"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e866ea29530ec02f", "name": "Commented-code block (6 lines) in scripts/optimize-landing-images.mjs:7", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/optimize-landing-images.mjs:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f77190d1bc46381a", "name": "Commented-code block (5 lines) in scripts/migrate-to-render-image.mjs:4", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/migrate-to-render-image.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2d88379bfce8cd59", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/generate-pmax-images.mjs:63", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/generate-pmax-images.mjs:63"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9affd388a7937f16", "name": "Commented-code block (5 lines) in scripts/generate-reels.py:219", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/generate-reels.py:219"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c4e03f8ae8ff9ea4", "name": "Commented-code block (7 lines) in components/source-classifier.js:6", "shortDescription": {"text": "Commented-code block (7 lines) in components/source-classifier.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c4bd8ddab277bba", "name": "`fetch()` without try/.catch or AbortSignal \u2014 chrome-extensions/whatsapp-sync/popup.js:305", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 chrome-extensions/whatsapp-sync/popup.js:305"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b7a48d75379190cc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-fetch-ads/index.ts:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-fetch-ads/index.ts:97"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4f30e1c4dea87c69", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/tpay-create-transaction/index.ts:136", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/tpay-create-transaction/index.ts:136"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2366b0e21e0fdcf5", "name": "Commented-code block (5 lines) in supabase/functions/spar-landing/index.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/spar-landing/index.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e91b48fc83ead212", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-research-ads/index.ts:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-research-ads/index.ts:97"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7e2d8d8e7b668c14", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-test/index.ts:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-test/index.ts:24"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-66c8f6eb5fa44edb", "name": "Commented-code block (5 lines) in supabase/functions/payment-reminder-cron/index.ts:234", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/payment-reminder-cron/index.ts:234"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e31f963710b402f4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/payment-reminder-cron/index.ts:282", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/payment-reminder-cron/index.ts:282"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea78554185778179", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-economics/index.ts:100", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-economics/index.ts:100"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a1401ac6518f1b92", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-get-messages/index.ts:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-get-messages/index.ts:20"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5e8946e99750f409", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-research-result/index.ts:36", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-research-result/index.ts:36"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-87f8945a228dcd08", "name": "Commented-code block (8 lines) in supabase/functions/followups-cron/index.ts:9", "shortDescription": {"text": "Commented-code block (8 lines) in supabase/functions/followups-cron/index.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-18bfbfc3a4ffb0be", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/followups-cron/index.ts:143", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/followups-cron/index.ts:143"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b0a2c38b6fe70a8d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/outreach-reply-webhook/index.ts:140", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/outreach-reply-webhook/index.ts:140"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-22f8818982272f8c", "name": "Commented-code block (5 lines) in supabase/functions/lead-upsert/index.ts:227", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/lead-upsert/index.ts:227"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2bcbe87aa89da009", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-followups/index.ts:99", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-followups/index.ts:99"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5cfde07974f6d10a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/invoice-pdf/index.ts:50", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/invoice-pdf/index.ts:50"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-73a5e187ea19d266", "name": "Commented-code block (5 lines) in supabase/functions/spar-go/index.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/spar-go/index.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d7be20b8f377ad0e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/fakturownia-invoice/index.ts:188", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/fakturownia-invoice/index.ts:188"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-62f92de0d72829ac", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-fetch-campaign-spec/index.ts:42", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-fetch-campaign-spec/index.ts:42"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f9d421e40c16eefc", "name": "Commented-code block (5 lines) in supabase/functions/spar-public-feed/index.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/spar-public-feed/index.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3e4760e53f0b4263", "name": "Commented-code block (5 lines) in supabase/functions/spar-chat/index.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/spar-chat/index.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fc6a4df39821447e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-chat/index.ts:940", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-chat/index.ts:940"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9afa60d1c4e479df", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/campaign-check-progress/index.ts:116", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/campaign-check-progress/index.ts:116"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e86eca2f2ba7eed8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-follow-up/index.ts:23", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-follow-up/index.ts:23"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9c2c0f781bb91d6", "name": "Commented-code block (6 lines) in supabase/functions/spar-image/index.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/spar-image/index.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e5fc87d1f8882938", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-image/index.ts:248", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-image/index.ts:248"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5c1b07736d2d4586", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-gtm/index.ts:249", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-gtm/index.ts:249"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5590cfe7265277b3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-ask-campaign/index.ts:88", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-ask-campaign/index.ts:88"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ada07b38af4628d5", "name": "Commented-code block (6 lines) in supabase/functions/gads-agent/index.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/gads-agent/index.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9663693be430c451", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/nip-lookup/index.ts:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/nip-lookup/index.ts:24"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11c011ef9fa0d993", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/send-email/index.ts:540", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/send-email/index.ts:540"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e24f10506c2d05b0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/fakturownia-proforma/index.ts:77", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/fakturownia-proforma/index.ts:77"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7815260c50210274", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-fetch-ads-cron/index.ts:113", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-fetch-ads-cron/index.ts:113"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-46c609d8759d473b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-get-result/index.ts:36", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-get-result/index.ts:36"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-40029271f29a7877", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/resend-conversions/index.ts:107", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/resend-conversions/index.ts:107"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-507b29d8f9d9752c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-full-campaign/index.ts:46", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-full-campaign/index.ts:46"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-86fcc302fed28a77", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/revolut-webhook/index.ts:78", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/revolut-webhook/index.ts:78"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ef31a065c06699b4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-probe/index.ts:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-probe/index.ts:21"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-54eebf527da93975", "name": "Commented-code block (6 lines) in supabase/functions/spar-raport/index.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/spar-raport/index.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8a640353e9695a16", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-raport/index.ts:206", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-raport/index.ts:206"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e4ccc1bb5d6266b2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/google-conversion/index.ts:164", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/google-conversion/index.ts:164"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-31363e890d2e54ef", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/regenerate-followup/index.ts:94", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/regenerate-followup/index.ts:94"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-135c5a7f8534f660", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/checkout-notify/index.ts:122", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/checkout-notify/index.ts:122"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-325a0e6096a54f10", "name": "Commented-code block (5 lines) in supabase/functions/spar-project/index.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/spar-project/index.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0abcb2cdd6e56308", "name": "Commented-code block (8 lines) in supabase/functions/automation-trigger/index.ts:91", "shortDescription": {"text": "Commented-code block (8 lines) in supabase/functions/automation-trigger/index.ts:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-92243e4078f50668", "name": "Commented-code block (10 lines) in supabase/functions/email-inbound/index.ts:108", "shortDescription": {"text": "Commented-code block (10 lines) in supabase/functions/email-inbound/index.ts:108"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-531a30b7dd64193d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-inbound/index.ts:306", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-inbound/index.ts:306"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-176b33364be0d37c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/meta-event/index.ts:202", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/meta-event/index.ts:202"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cf0ec54bd74099a5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-ad-copy/index.ts:36", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-ad-copy/index.ts:36"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a9c0c1311538822e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/fakturownia-backfill-tokens/index.ts:44", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/fakturownia-backfill-tokens/index.ts:44"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d9d91a5c9aa741fe", "name": "Commented-code block (5 lines) in supabase/functions/send-sms/index.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/send-sms/index.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-59d7a2c727ab088b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-whatsapp-reply/index.ts:193", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-whatsapp-reply/index.ts:193"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ef25752fb79aebf4", "name": "Commented-code block (5 lines) in supabase/functions/spar-plan/index.ts:11", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/spar-plan/index.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a8c25f3f0709839b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-plan/index.ts:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-plan/index.ts:97"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-06e30df46910bb95", "name": "Commented-code block (6 lines) in supabase/functions/spar-prototype/index.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/spar-prototype/index.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f90368048d80b61f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/slack-notify/index.ts:106", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/slack-notify/index.ts:106"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-12645d24c12278da", "name": "Commented-code block (5 lines) in supabase/functions/spar-drip/index.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/spar-drip/index.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-98f8b4f966202b0d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-debug/index.ts:25", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-debug/index.ts:25"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7d5d2159e7ad41ec", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/workflow-stage-completed/index.ts:292", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/workflow-stage-completed/index.ts:292"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dd3874bef5e84549", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/revolut-create-order/index.ts:81", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/revolut-create-order/index.ts:81"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-048d37109f601b2f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/offer-emails-cron/index.ts:293", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/offer-emails-cron/index.ts:293"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-503d2e3cdbc01c55", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-setup-webhook/index.ts:27", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-setup-webhook/index.ts:27"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8575c922d23ca997", "name": "Commented-code block (5 lines) in supabase/functions/spar-followups/index.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/spar-followups/index.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3543e91917f6de75", "name": "Commented-code block (6 lines) in supabase/functions/tpay-webhook/index.ts:783", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/tpay-webhook/index.ts:783"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ef4c71f765238ab2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/tpay-webhook/index.ts:119", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/tpay-webhook/index.ts:119"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bd87f9e72c7a731e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-image/index.ts:69", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-image/index.ts:69"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ce911406129280d8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/tiktok-event/index.ts:179", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/tiktok-event/index.ts:179"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e348452b705e0061", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-campaign-batch/index.ts:163", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-campaign-batch/index.ts:163"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea92731c3198b95a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/outreach-followup/index.ts:222", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/outreach-followup/index.ts:222"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5d71bb25d2b85fba", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/password-reset/index.ts:149", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/password-reset/index.ts:149"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2dd7831c8398d4f8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-list-connectors/index.ts:23", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-list-connectors/index.ts:23"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b26880bbe7bcfdeb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/scrape-product-image/index.ts:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/scrape-product-image/index.ts:31"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-575cc88679fed15e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/outreach-send/index.ts:244", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/outreach-send/index.ts:244"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nclaude-config/skills/senior-frontend/scripts/bundle_analyzer.py:run, claude-config/skills/senior-frontend/scripts/frontend_scaffolder.py:run, claude-config/skills/senior-frontend/scripts/component_generator.py:run\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/21474"}, "properties": {"repository": "tomekniedzwiecki/tn-crm", "repoUrl": "https://github.com/tomekniedzwiecki/tn-crm", "branch": "main"}, "results": [{"ruleId": "scanner-fe7c77400420c1fa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 landing-pages/shared/conversion-toolkit.js:55"}, "properties": {"repobilityId": "096e00e0263dbaf8", "scanner": "scanner-primary", "fingerprint": "fe7c77400420c1fa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f8ca3cc7c108a844", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 landing-pages/shared/tracking.js:62"}, "properties": {"repobilityId": "8e2a22856c0a6e0a", "scanner": "scanner-primary", "fingerprint": "f8ca3cc7c108a844", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-03ab94fac79d14c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tests/unit/email.test.ts:100"}, "properties": {"repobilityId": "fb2391da17e999fd", "scanner": "scanner-primary", "fingerprint": "03ab94fac79d14c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-301a681b1459d3c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze-conversations.js:6"}, "properties": {"repobilityId": "8931fca594e21139", "scanner": "scanner-primary", "fingerprint": "301a681b1459d3c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0971f18d433deabb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/run-kb-migration.js:17"}, "properties": {"repobilityId": "bdda73a7f0e607ca", "scanner": "scanner-primary", "fingerprint": "0971f18d433deabb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-44224a698cde06d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze-whatsapp.js:12"}, "properties": {"repobilityId": "d98bcfdb1d8232ec", "scanner": "scanner-primary", "fingerprint": "44224a698cde06d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e6be9696999cbbc0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-contacts.js:90"}, "properties": {"repobilityId": "2706c74683f96862", "scanner": "scanner-primary", "fingerprint": "e6be9696999cbbc0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d5221b7b67d6ca2f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/analyze-all-whatsapp.js:18"}, "properties": {"repobilityId": "015c2d8a5e488fdf", "scanner": "scanner-primary", "fingerprint": "d5221b7b67d6ca2f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73fe8be8c6b54e75", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tn-biznes/shared-costs.js:9"}, "properties": {"repobilityId": "c24f10c53a8f7f6c", "scanner": "scanner-primary", "fingerprint": "73fe8be8c6b54e75", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1997a2f528ca0b16", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 chrome-extensions/whatsapp-sync/background.js:20"}, "properties": {"repobilityId": "ac03e3f1e96e4be3", "scanner": "scanner-primary", "fingerprint": "1997a2f528ca0b16", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8baf5e5f39aaf558", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 chrome-extensions/whatsapp-sync/content.js:4006"}, "properties": {"repobilityId": "db7868e54e28da9b", "scanner": "scanner-primary", "fingerprint": "8baf5e5f39aaf558", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-e37b78fe9322d348", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 chrome-extensions/whatsapp-sync/content.js:95"}, "properties": {"repobilityId": "f65b54ed2a929125", "scanner": "scanner-primary", "fingerprint": "e37b78fe9322d348", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ba9a5e7bbf8bbdd9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 chrome-extensions/whatsapp-sync/popup.js:264"}, "properties": {"repobilityId": "2361a32d7153e78a", "scanner": "scanner-primary", "fingerprint": "ba9a5e7bbf8bbdd9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a761bfe279fda6a0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/tpay-create-transaction/index.ts:35"}, "properties": {"repobilityId": "ae737167fd602236", "scanner": "scanner-primary", "fingerprint": "a761bfe279fda6a0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f1e7a7250d9725da", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-landing/index.ts:381"}, "properties": {"repobilityId": "9919a8040409ec1b", "scanner": "scanner-primary", "fingerprint": "f1e7a7250d9725da", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a6bc95b11eb150f9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/resend-webhook/index.ts:65"}, "properties": {"repobilityId": "5b2040e110e825ea", "scanner": "scanner-primary", "fingerprint": "a6bc95b11eb150f9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1208c63f0dc15f25", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/payment-reminder-cron/index.ts:146"}, "properties": {"repobilityId": "8777c33d0693c44e", "scanner": "scanner-primary", "fingerprint": "1208c63f0dc15f25", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46ee71bb4892ad84", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-check-pending/index.ts:44"}, "properties": {"repobilityId": "a1bfc8cdf0a69480", "scanner": "scanner-primary", "fingerprint": "46ee71bb4892ad84", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-37cf59492c116039", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/whatsapp-lead-update/index.ts:45"}, "properties": {"repobilityId": "4d8f93cfb8e82f02", "scanner": "scanner-primary", "fingerprint": "37cf59492c116039", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c694c5fb61226eac", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/followups-cron/index.ts:89"}, "properties": {"repobilityId": "be334c1b3643a96d", "scanner": "scanner-primary", "fingerprint": "c694c5fb61226eac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e8ef81e3cd339d0d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/outreach-reply-webhook/index.ts:41"}, "properties": {"repobilityId": "2825102713ce1d96", "scanner": "scanner-primary", "fingerprint": "e8ef81e3cd339d0d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-38400ad3886af34d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/lead-upsert/index.ts:70"}, "properties": {"repobilityId": "80179d3e899d7ab4", "scanner": "scanner-primary", "fingerprint": "38400ad3886af34d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-919ed8474fd35873", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-auto-reports/index.ts:54"}, "properties": {"repobilityId": "a85917612ae455d8", "scanner": "scanner-primary", "fingerprint": "919ed8474fd35873", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e7401c6186c81389", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/generate-followups/index.ts:123"}, "properties": {"repobilityId": "63e3c3348a78598f", "scanner": "scanner-primary", "fingerprint": "e7401c6186c81389", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-71d4b5aa5d5f2d3c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/invoice-pdf/index.ts:111"}, "properties": {"repobilityId": "f66ce044b69491a0", "scanner": "scanner-primary", "fingerprint": "71d4b5aa5d5f2d3c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6c8a5d5905bb918f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/fakturownia-invoice/index.ts:79"}, "properties": {"repobilityId": "bed399ad6bde4fa1", "scanner": "scanner-primary", "fingerprint": "6c8a5d5905bb918f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f95bde782e650e12", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-chat/index.ts:1069"}, "properties": {"repobilityId": "47c35629188ec0e4", "scanner": "scanner-primary", "fingerprint": "f95bde782e650e12", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ef1d3ed9d0dc0536", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/campaign-check-progress/index.ts:100"}, "properties": {"repobilityId": "2eed369df6b78c38", "scanner": "scanner-primary", "fingerprint": "ef1d3ed9d0dc0536", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-43d0aecb62c2e62b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-image/index.ts:270"}, "properties": {"repobilityId": "27f937e45887fcda", "scanner": "scanner-primary", "fingerprint": "43d0aecb62c2e62b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c554482005b79b47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-gtm/index.ts:131"}, "properties": {"repobilityId": "10d930efedfcec15", "scanner": "scanner-primary", "fingerprint": "c554482005b79b47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-56cbbed48d6baa18", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/send-email/index.ts:237"}, "properties": {"repobilityId": "6678deaa66491fad", "scanner": "scanner-primary", "fingerprint": "56cbbed48d6baa18", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5be4c2596a16a67a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/fakturownia-proforma/index.ts:99"}, "properties": {"repobilityId": "6f2580e252edb649", "scanner": "scanner-primary", "fingerprint": "5be4c2596a16a67a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3ba906f53da53abb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/get-followups/index.ts:22"}, "properties": {"repobilityId": "3cc4329d904ac8b7", "scanner": "scanner-primary", "fingerprint": "3ba906f53da53abb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d5afb09f0e2b0ef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-fetch-ads-cron/index.ts:63"}, "properties": {"repobilityId": "dda40c24d0476e44", "scanner": "scanner-primary", "fingerprint": "2d5afb09f0e2b0ef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3509b81deb939997", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-get-result/index.ts:45"}, "properties": {"repobilityId": "8453393fdebd5c90", "scanner": "scanner-primary", "fingerprint": "3509b81deb939997", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d0b47d91486dbb7a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/resend-conversions/index.ts:208"}, "properties": {"repobilityId": "d0cd5357783615b8", "scanner": "scanner-primary", "fingerprint": "d0b47d91486dbb7a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49f36b13904e13c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-full-campaign/index.ts:66"}, "properties": {"repobilityId": "c062deaa7a3cad21", "scanner": "scanner-primary", "fingerprint": "49f36b13904e13c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d9a54b950a1b525e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/revolut-webhook/index.ts:179"}, "properties": {"repobilityId": "c5716f9ea3933581", "scanner": "scanner-primary", "fingerprint": "d9a54b950a1b525e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-825468c1a845cc11", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-webhook/index.ts:19"}, "properties": {"repobilityId": "f138c93cb4bffa7b", "scanner": "scanner-primary", "fingerprint": "825468c1a845cc11", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e047728df831393b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/google-conversion/index.ts:57"}, "properties": {"repobilityId": "ff0d443c5c79f6f1", "scanner": "scanner-primary", "fingerprint": "e047728df831393b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b1d0e233751a3688", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/regenerate-followup/index.ts:238"}, "properties": {"repobilityId": "7ed8c292f161058d", "scanner": "scanner-primary", "fingerprint": "b1d0e233751a3688", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ebd26bc7aa837b02", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/checkout-notify/index.ts:23"}, "properties": {"repobilityId": "0b488680ced8dd0f", "scanner": "scanner-primary", "fingerprint": "ebd26bc7aa837b02", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-70cc3b1eb75050cf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/automation-trigger/index.ts:27"}, "properties": {"repobilityId": "4799057a0ec271ad", "scanner": "scanner-primary", "fingerprint": "70cc3b1eb75050cf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2059849b70200354", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/email-inbound/index.ts:77"}, "properties": {"repobilityId": "5f20d99a35b9d6f7", "scanner": "scanner-primary", "fingerprint": "2059849b70200354", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cd29f05746ee3f80", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/meta-event/index.ts:61"}, "properties": {"repobilityId": "91cc29d944a46539", "scanner": "scanner-primary", "fingerprint": "cd29f05746ee3f80", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e12b2c52adbb5c5b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/spar-prototype/index.ts:386"}, "properties": {"repobilityId": "f75bc73fb6eae8f8", "scanner": "scanner-primary", "fingerprint": "e12b2c52adbb5c5b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-14647e275c3f756c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/slack-notify/index.ts:98"}, "properties": {"repobilityId": "2a93150d0813fbf1", "scanner": "scanner-primary", "fingerprint": "14647e275c3f756c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9273d27852a67012", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/workflow-stage-completed/index.ts:137"}, "properties": {"repobilityId": "279755aa236e2145", "scanner": "scanner-primary", "fingerprint": "9273d27852a67012", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ffc9d6d9d596c42e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/revolut-create-order/index.ts:100"}, "properties": {"repobilityId": "80b71a034db5ce33", "scanner": "scanner-primary", "fingerprint": "ffc9d6d9d596c42e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-58be6d5c4e3df1ff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/offer-emails-cron/index.ts:144"}, "properties": {"repobilityId": "340377fd10ae07d1", "scanner": "scanner-primary", "fingerprint": "58be6d5c4e3df1ff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7317e8f517e9738b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/manus-setup-webhook/index.ts:36"}, "properties": {"repobilityId": "c3aeaefa745656e3", "scanner": "scanner-primary", "fingerprint": "7317e8f517e9738b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9f53fca759ccc635", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/tpay-webhook/index.ts:28"}, "properties": {"repobilityId": "dc102095f0bf7e26", "scanner": "scanner-primary", "fingerprint": "9f53fca759ccc635", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d0a8474890aff5e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/generate-image/index.ts:66"}, "properties": {"repobilityId": "ed2fe753549eb9b1", "scanner": "scanner-primary", "fingerprint": "d0a8474890aff5e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dcb803233054f164", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/tiktok-event/index.ts:60"}, "properties": {"repobilityId": "fd505876a0948fbf", "scanner": "scanner-primary", "fingerprint": "dcb803233054f164", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-83de484b7b6b8977", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/generate-campaign-batch/index.ts:63"}, "properties": {"repobilityId": "4b8b9ab1090f7dc8", "scanner": "scanner-primary", "fingerprint": "83de484b7b6b8977", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ddda93f2b20191cc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/outreach-followup/index.ts:107"}, "properties": {"repobilityId": "beebc1370bec8fab", "scanner": "scanner-primary", "fingerprint": "ddda93f2b20191cc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0cf24d1765c4cbf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/password-reset/index.ts:41"}, "properties": {"repobilityId": "4d8513d7625852d8", "scanner": "scanner-primary", "fingerprint": "e0cf24d1765c4cbf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7576698400c95ff1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/whatsapp-sync/index.ts:57"}, "properties": {"repobilityId": "cd8035cd594f8269", "scanner": "scanner-primary", "fingerprint": "7576698400c95ff1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73d613c3ad7d5f78", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/whatsapp-lead-lookup/index.ts:59"}, "properties": {"repobilityId": "743a0658df1e0bc2", "scanner": "scanner-primary", "fingerprint": "73d613c3ad7d5f78", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b536ea4d22ebb314", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/scrape-product-image/index.ts:30"}, "properties": {"repobilityId": "7dc70e480cc6c327", "scanner": "scanner-primary", "fingerprint": "b536ea4d22ebb314", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5fd287bdf0463a0b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/automation-executor/index.ts:55"}, "properties": {"repobilityId": "c3213dd5043d5d68", "scanner": "scanner-primary", "fingerprint": "5fd287bdf0463a0b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a0caca5f116d2e07", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/outreach-send/index.ts:113"}, "properties": {"repobilityId": "f568010dc4d30a04", "scanner": "scanner-primary", "fingerprint": "a0caca5f116d2e07", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f28db2b82b28f8c0", "level": "warning", "message": {"text": "Privileged port 993 in use"}, "properties": {"repobilityId": "a36e56a26353e9ee", "scanner": "scanner-primary", "fingerprint": "f28db2b82b28f8c0", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/_shared/gmail-imap.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-c6970e9416fd3918", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in notes.html:294"}, "properties": {"repobilityId": "92b977a4fa7be417", "scanner": "scanner-primary", "fingerprint": "c6970e9416fd3918", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "notes.html"}, "region": {"startLine": 294}}}]}, {"ruleId": "scanner-7dd9671ffb08912c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in pipeline.html:417"}, "properties": {"repobilityId": "886c543a56bd7d15", "scanner": "scanner-primary", "fingerprint": "7dd9671ffb08912c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pipeline.html"}, "region": {"startLine": 417}}}]}, {"ruleId": "scanner-afd12e6f4de9ad49", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in outreach.html:1029"}, "properties": {"repobilityId": "fbd30b8187f832ea", "scanner": "scanner-primary", "fingerprint": "afd12e6f4de9ad49", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "outreach.html"}, "region": {"startLine": 1029}}}]}, {"ruleId": "scanner-aac965e96a685149", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in calendar.html:567"}, "properties": {"repobilityId": "b65db1c5b98a2804", "scanner": "scanner-primary", "fingerprint": "aac965e96a685149", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "calendar.html"}, "region": {"startLine": 567}}}]}, {"ruleId": "scanner-866fbe0ea1d7a71e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in client-projekt.html:5825"}, "properties": {"repobilityId": "09fee4eff3bbc952", "scanner": "scanner-primary", "fingerprint": "866fbe0ea1d7a71e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "client-projekt.html"}, "region": {"startLine": 5825}}}]}, {"ruleId": "scanner-0107d048d954eb12", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in whatsapp-settings.html:381"}, "properties": {"repobilityId": "88da916e09c7dde3", "scanner": "scanner-primary", "fingerprint": "0107d048d954eb12", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "whatsapp-settings.html"}, "region": {"startLine": 381}}}]}, {"ruleId": "scanner-38ca15088caff1bf", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in commissions.html:289"}, "properties": {"repobilityId": "5ef36c6d6c6b2612", "scanner": "scanner-primary", "fingerprint": "38ca15088caff1bf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "commissions.html"}, "region": {"startLine": 289}}}]}, {"ruleId": "scanner-eed73256e15c4e6e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in client-offer-v2.html:2710"}, "properties": {"repobilityId": "175b38e6571230bb", "scanner": "scanner-primary", "fingerprint": "eed73256e15c4e6e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "client-offer-v2.html"}, "region": {"startLine": 2710}}}]}, {"ruleId": "scanner-9e799dd20329814b", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in CLAUDE.md:222"}, "properties": {"repobilityId": "09374f0f880fc291", "scanner": "scanner-primary", "fingerprint": "9e799dd20329814b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 222}}}]}, {"ruleId": "scanner-9b70e5b1d1c56661", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboard.html:645"}, "properties": {"repobilityId": "3cddbad051d0bcc9", "scanner": "scanner-primary", "fingerprint": "9b70e5b1d1c56661", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard.html"}, "region": {"startLine": 645}}}]}, {"ruleId": "scanner-f67f17fb1a59adbc", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in logi.html:316"}, "properties": {"repobilityId": "de6cfd05549f0645", "scanner": "scanner-primary", "fingerprint": "f67f17fb1a59adbc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "logi.html"}, "region": {"startLine": 316}}}]}, {"ruleId": "scanner-a1f265bb5e39ae93", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in login.html:262"}, "properties": {"repobilityId": "617b51c994b02988", "scanner": "scanner-primary", "fingerprint": "a1f265bb5e39ae93", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "login.html"}, "region": {"startLine": 262}}}]}, {"ruleId": "scanner-819fe852dc51610b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in offer.html:574"}, "properties": {"repobilityId": "0c20f92f200e449f", "scanner": "scanner-primary", "fingerprint": "819fe852dc51610b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "offer.html"}, "region": {"startLine": 574}}}]}, {"ruleId": "scanner-1760501eaf2569e5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in offers.html:654"}, "properties": {"repobilityId": "0983584915ccc8e6", "scanner": "scanner-primary", "fingerprint": "1760501eaf2569e5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "offers.html"}, "region": {"startLine": 654}}}]}, {"ruleId": "scanner-cf21600da58b336f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in client-offer.html:938"}, "properties": {"repobilityId": "de242656e91becc2", "scanner": "scanner-primary", "fingerprint": "cf21600da58b336f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "client-offer.html"}, "region": {"startLine": 938}}}]}, {"ruleId": "scanner-da7903d2a0c5bea9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in discount-codes.html:597"}, "properties": {"repobilityId": "4261ba4ec56cb66c", "scanner": "scanner-primary", "fingerprint": "da7903d2a0c5bea9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "discount-codes.html"}, "region": {"startLine": 597}}}]}, {"ruleId": "scanner-626050a8b0a449b1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in target.html:1481"}, "properties": {"repobilityId": "c7b0114a5f4215b6", "scanner": "scanner-primary", "fingerprint": "626050a8b0a449b1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "target.html"}, "region": {"startLine": 1481}}}]}, {"ruleId": "scanner-50e27aeb199a0747", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in payment-schedule.html:594"}, "properties": {"repobilityId": "e471c9b06303e807", "scanner": "scanner-primary", "fingerprint": "50e27aeb199a0747", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "payment-schedule.html"}, "region": {"startLine": 594}}}]}, {"ruleId": "scanner-f595963c209b1af9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in whatsapp.html:456"}, "properties": {"repobilityId": "9406015b71005573", "scanner": "scanner-primary", "fingerprint": "f595963c209b1af9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "whatsapp.html"}, "region": {"startLine": 456}}}]}, {"ruleId": "scanner-7c571ec40a70d04e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in settings.html:923"}, "properties": {"repobilityId": "d8017fe9024758aa", "scanner": "scanner-primary", "fingerprint": "7c571ec40a70d04e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "settings.html"}, "region": {"startLine": 923}}}]}, {"ruleId": "scanner-7bb6a00ddf55c17c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in offer-starter.html:1305"}, "properties": {"repobilityId": "a4ab24a299d3e28f", "scanner": "scanner-primary", "fingerprint": "7bb6a00ddf55c17c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "offer-starter.html"}, "region": {"startLine": 1305}}}]}, {"ruleId": "scanner-7034cbd8cd5c18ef", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in orders.html:699"}, "properties": {"repobilityId": "633c95fde20127c3", "scanner": "scanner-primary", "fingerprint": "7034cbd8cd5c18ef", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "orders.html"}, "region": {"startLine": 699}}}]}, {"ruleId": "scanner-31bfdeb0fae00995", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in leads.html:591"}, "properties": {"repobilityId": "9112570d944da3ab", "scanner": "scanner-primary", "fingerprint": "31bfdeb0fae00995", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "leads.html"}, "region": {"startLine": 591}}}]}, {"ruleId": "scanner-6070c2c3063121ce", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in lead.html:2122"}, "properties": {"repobilityId": "5491ce909b14ad81", "scanner": "scanner-primary", "fingerprint": "6070c2c3063121ce", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lead.html"}, "region": {"startLine": 2122}}}]}, {"ruleId": "scanner-48caaff58ee253bc", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in salary-sim.html:933"}, "properties": {"repobilityId": "4f7f393b44efb2a8", "scanner": "scanner-primary", "fingerprint": "48caaff58ee253bc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "salary-sim.html"}, "region": {"startLine": 933}}}]}, {"ruleId": "scanner-d068577fe482fddb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/nomadbar/index.html:1567"}, "properties": {"repobilityId": "ddf5b6d82923b1b4", "scanner": "scanner-primary", "fingerprint": "d068577fe482fddb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/nomadbar/index.html"}, "region": {"startLine": 1567}}}]}, {"ruleId": "scanner-f0e230e36feff870", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/tomekniedzwiecki.pl/CRM/index.html:3007"}, "properties": {"repobilityId": "58285bfc6d388bac", "scanner": "scanner-primary", "fingerprint": "f0e230e36feff870", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/tomekniedzwiecki.pl/CRM/index.html"}, "region": {"startLine": 3007}}}]}, {"ruleId": "scanner-6ee64763768bc500", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/tomekniedzwiecki.pl/CRM/index-v1-backup.html:4018"}, "properties": {"repobilityId": "6a167fd34b00fc93", "scanner": "scanner-primary", "fingerprint": "6ee64763768bc500", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/tomekniedzwiecki.pl/CRM/index-v1-backup.html"}, "region": {"startLine": 4018}}}]}, {"ruleId": "scanner-bb32b9490b981d49", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/windox/index.html:1004"}, "properties": {"repobilityId": "2ef6fb8141334c39", "scanner": "scanner-primary", "fingerprint": "bb32b9490b981d49", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/windox/index.html"}, "region": {"startLine": 1004}}}]}, {"ruleId": "scanner-0c23beeaaf5985bc", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/caffora/index.html:1738"}, "properties": {"repobilityId": "5312415fa896b951", "scanner": "scanner-primary", "fingerprint": "0c23beeaaf5985bc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/caffora/index.html"}, "region": {"startLine": 1738}}}]}, {"ruleId": "scanner-359eca0ba868feca", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/parova/index.html:4360"}, "properties": {"repobilityId": "67a25aae015e6e9f", "scanner": "scanner-primary", "fingerprint": "359eca0ba868feca", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/parova/index.html"}, "region": {"startLine": 4360}}}]}, {"ruleId": "scanner-98c5fbfb6ed32d25", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/h2vital/index.html:4392"}, "properties": {"repobilityId": "f01ad64c7b42df49", "scanner": "scanner-primary", "fingerprint": "98c5fbfb6ed32d25", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/h2vital/index.html"}, "region": {"startLine": 4392}}}]}, {"ruleId": "scanner-c91a2e632abd66b7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/glassnova/index.html:1714"}, "properties": {"repobilityId": "14a234d893a55638", "scanner": "scanner-primary", "fingerprint": "c91a2e632abd66b7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/glassnova/index.html"}, "region": {"startLine": 1714}}}]}, {"ruleId": "scanner-080cbb7bffaf43fb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/shared/conversion-toolkit.js:955"}, "properties": {"repobilityId": "a64ac5f5bfc79f3e", "scanner": "scanner-primary", "fingerprint": "080cbb7bffaf43fb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/shared/conversion-toolkit.js"}, "region": {"startLine": 955}}}]}, {"ruleId": "scanner-8f9a378857e9b1f2", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in landing-pages/shared/conversion-toolkit.js:1369"}, "properties": {"repobilityId": "ac855edcd0e9990c", "scanner": "scanner-primary", "fingerprint": "8f9a378857e9b1f2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/shared/conversion-toolkit.js"}, "region": {"startLine": 1369}}}]}, {"ruleId": "scanner-2ffcbff99bc80bda", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/shared/reviews-widget.js:146"}, "properties": {"repobilityId": "e8437d17c20913a6", "scanner": "scanner-primary", "fingerprint": "2ffcbff99bc80bda", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/shared/reviews-widget.js"}, "region": {"startLine": 146}}}]}, {"ruleId": "scanner-79661987259fbd5c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/silktip/index.html:3785"}, "properties": {"repobilityId": "1da320c198d2aed9", "scanner": "scanner-primary", "fingerprint": "79661987259fbd5c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/silktip/index.html"}, "region": {"startLine": 3785}}}]}, {"ruleId": "scanner-8f2248ebf957612a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/wodorum/index.html:1143"}, "properties": {"repobilityId": "272d2f694e4b7c9a", "scanner": "scanner-primary", "fingerprint": "8f2248ebf957612a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/wodorum/index.html"}, "region": {"startLine": 1143}}}]}, {"ruleId": "scanner-54a6e84aa1d8f704", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/vitrix/index.html:3474"}, "properties": {"repobilityId": "bf1742b1705bd4fe", "scanner": "scanner-primary", "fingerprint": "54a6e84aa1d8f704", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/vitrix/index.html"}, "region": {"startLine": 3474}}}]}, {"ruleId": "scanner-39f69e11cb34eb35", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/badaczek/index.html:934"}, "properties": {"repobilityId": "9f1d5a109a9242c6", "scanner": "scanner-primary", "fingerprint": "39f69e11cb34eb35", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/badaczek/index.html"}, "region": {"startLine": 934}}}]}, {"ruleId": "scanner-8b9e0ab665bcefc0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/rysulek/index.html:1843"}, "properties": {"repobilityId": "f9054eb6841129eb", "scanner": "scanner-primary", "fingerprint": "8b9e0ab665bcefc0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/rysulek/index.html"}, "region": {"startLine": 1843}}}]}, {"ruleId": "scanner-e9575179f80344b6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/oravibe/index.html:3596"}, "properties": {"repobilityId": "6184ee6522ceee60", "scanner": "scanner-primary", "fingerprint": "e9575179f80344b6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/oravibe/index.html"}, "region": {"startLine": 3596}}}]}, {"ruleId": "scanner-6fe1525fe531320b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/lissio/index.html:1860"}, "properties": {"repobilityId": "5d905b3283a98ffc", "scanner": "scanner-primary", "fingerprint": "6fe1525fe531320b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/lissio/index.html"}, "region": {"startLine": 1860}}}]}, {"ruleId": "scanner-31c32b7b567abde0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/colorjet/index.html:2693"}, "properties": {"repobilityId": "3a4cc6f904200517", "scanner": "scanner-primary", "fingerprint": "31c32b7b567abde0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/colorjet/index.html"}, "region": {"startLine": 2693}}}]}, {"ruleId": "scanner-8069f25304fe42f7", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in landing-pages/colorjet/index.html:3107"}, "properties": {"repobilityId": "6ab7010ebdf499a9", "scanner": "scanner-primary", "fingerprint": "8069f25304fe42f7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/colorjet/index.html"}, "region": {"startLine": 3107}}}]}, {"ruleId": "scanner-966d2ab65f60bd47", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in landing-pages/tidex/index.html:1062"}, "properties": {"repobilityId": "377d8bd241a2fc5d", "scanner": "scanner-primary", "fingerprint": "966d2ab65f60bd47", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/tidex/index.html"}, "region": {"startLine": 1062}}}]}, {"ruleId": "scanner-818e6836861d701d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/hovira/index.html:1278"}, "properties": {"repobilityId": "c4bd9c53960f2396", "scanner": "scanner-primary", "fingerprint": "818e6836861d701d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/hovira/index.html"}, "region": {"startLine": 1278}}}]}, {"ruleId": "scanner-7f7e0fa54098c0f0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/oculia/index.html:1458"}, "properties": {"repobilityId": "abbc10cb7af13385", "scanner": "scanner-primary", "fingerprint": "7f7e0fa54098c0f0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/oculia/index.html"}, "region": {"startLine": 1458}}}]}, {"ruleId": "scanner-569e36f6ba99b7e3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/numerator/index.html:2055"}, "properties": {"repobilityId": "211bc1223f2d52ea", "scanner": "scanner-primary", "fingerprint": "569e36f6ba99b7e3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/numerator/index.html"}, "region": {"startLine": 2055}}}]}, {"ruleId": "scanner-94f316fb22eed77d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/kafina/index.html:3565"}, "properties": {"repobilityId": "ee7919268657becc", "scanner": "scanner-primary", "fingerprint": "94f316fb22eed77d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/kafina/index.html"}, "region": {"startLine": 3565}}}]}, {"ruleId": "scanner-71c84d3243a5ec3e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in landing-pages/kidsnap/index.html:861"}, "properties": {"repobilityId": "fa21c2ac9366ab31", "scanner": "scanner-primary", "fingerprint": "71c84d3243a5ec3e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "landing-pages/kidsnap/index.html"}, "region": {"startLine": 861}}}]}, {"ruleId": "scanner-bbec6515580181e2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/plans.html:452"}, "properties": {"repobilityId": "5442a0a68c5e2274", "scanner": "scanner-primary", "fingerprint": "bbec6515580181e2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-biznes/plans.html"}, "region": {"startLine": 452}}}]}, {"ruleId": "scanner-bce662913d86565b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/costs.html:762"}, "properties": {"repobilityId": "2b162f7bc25c2c61", "scanner": "scanner-primary", "fingerprint": "bce662913d86565b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-biznes/costs.html"}, "region": {"startLine": 762}}}]}, {"ruleId": "scanner-2a4d04e1862c147b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/revenues.html:643"}, "properties": {"repobilityId": "9bda85537a4b0b0d", "scanner": "scanner-primary", "fingerprint": "2a4d04e1862c147b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-biznes/revenues.html"}, "region": {"startLine": 643}}}]}, {"ruleId": "scanner-0735630a560388f1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/employees.html:383"}, "properties": {"repobilityId": "b7f5ae82439c29b6", "scanner": "scanner-primary", "fingerprint": "0735630a560388f1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-biznes/employees.html"}, "region": {"startLine": 383}}}]}, {"ruleId": "scanner-188c2ec95b5f8fb5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/dashboard.html:847"}, "properties": {"repobilityId": "a93a3bef5b3fceb3", "scanner": "scanner-primary", "fingerprint": "188c2ec95b5f8fb5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-biznes/dashboard.html"}, "region": {"startLine": 847}}}]}, {"ruleId": "scanner-0971272562b100d1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/optymalizacja.html:1609"}, "properties": {"repobilityId": "ace2ff09ca4faeeb", "scanner": "scanner-primary", "fingerprint": "0971272562b100d1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-biznes/optymalizacja.html"}, "region": {"startLine": 1609}}}]}, {"ruleId": "scanner-c5e0648d3a54e2c1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-biznes/analytics.html:1106"}, "properties": {"repobilityId": "51196abcb2645044", "scanner": "scanner-primary", "fingerprint": "c5e0648d3a54e2c1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-biznes/analytics.html"}, "region": {"startLine": 1106}}}]}, {"ruleId": "scanner-2d94208472983693", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in components/shared-sidebar.js:566"}, "properties": {"repobilityId": "705f3dc4aba892e5", "scanner": "scanner-primary", "fingerprint": "2d94208472983693", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "components/shared-sidebar.js"}, "region": {"startLine": 566}}}]}, {"ruleId": "scanner-0da568f10d17b28a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-aplikacje/index.html:675"}, "properties": {"repobilityId": "af954985058dbb9c", "scanner": "scanner-primary", "fingerprint": "0da568f10d17b28a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-aplikacje/index.html"}, "region": {"startLine": 675}}}]}, {"ruleId": "scanner-60eb1741f84a5240", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in chrome-extensions/whatsapp-sync/content.js:789"}, "properties": {"repobilityId": "40da494d6f8d44f9", "scanner": "scanner-primary", "fingerprint": "60eb1741f84a5240", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chrome-extensions/whatsapp-sync/content.js"}, "region": {"startLine": 789}}}]}, {"ruleId": "scanner-05f742287da85e1b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in chrome-extensions/whatsapp-sync/popup.js:345"}, "properties": {"repobilityId": "4991b392525021a6", "scanner": "scanner-primary", "fingerprint": "05f742287da85e1b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chrome-extensions/whatsapp-sync/popup.js"}, "region": {"startLine": 345}}}]}, {"ruleId": "scanner-3e87ba4756fbaef5", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-fetch-ads/index.ts:5"}, "properties": {"repobilityId": "3cf5c5d8594ad28d", "scanner": "scanner-primary", "fingerprint": "3e87ba4756fbaef5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-fetch-ads/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-8a81530fb504835b", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-research-ads/index.ts:5"}, "properties": {"repobilityId": "941095a01a0c96e8", "scanner": "scanner-primary", "fingerprint": "8a81530fb504835b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-research-ads/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-1582f8c0c29d7d81", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-get-messages/index.ts:4"}, "properties": {"repobilityId": "d3393cbe010d1719", "scanner": "scanner-primary", "fingerprint": "1582f8c0c29d7d81", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-get-messages/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-af53456196dee809", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-check-pending/index.ts:5"}, "properties": {"repobilityId": "8df266afb3c103b1", "scanner": "scanner-primary", "fingerprint": "af53456196dee809", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-check-pending/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-1dd048fb1e300ee8", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-research-result/index.ts:5"}, "properties": {"repobilityId": "776ab528f6951319", "scanner": "scanner-primary", "fingerprint": "1dd048fb1e300ee8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-research-result/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-624651522bb1305b", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-lead-update/index.ts:4"}, "properties": {"repobilityId": "925ac0cbece0a478", "scanner": "scanner-primary", "fingerprint": "624651522bb1305b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/whatsapp-lead-update/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-326d06019ad2bbc3", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/followups-cron/index.ts:5"}, "properties": {"repobilityId": "052e28b699e48903", "scanner": "scanner-primary", "fingerprint": "326d06019ad2bbc3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/followups-cron/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-05f8ec3b25c088b7", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/outreach-reply-webhook/index.ts:5"}, "properties": {"repobilityId": "aa2cf488a764e265", "scanner": "scanner-primary", "fingerprint": "05f8ec3b25c088b7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/outreach-reply-webhook/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-0c344803d5cd1699", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/lead-upsert/index.ts:5"}, "properties": {"repobilityId": "a40a85da5aeb000e", "scanner": "scanner-primary", "fingerprint": "0c344803d5cd1699", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/lead-upsert/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-f7ead4346110036e", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-auto-reports/index.ts:5"}, "properties": {"repobilityId": "912b82636cf16b92", "scanner": "scanner-primary", "fingerprint": "f7ead4346110036e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-auto-reports/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-b2c4cea7e3a416ae", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-followups/index.ts:5"}, "properties": {"repobilityId": "cc1c2a25d64a6177", "scanner": "scanner-primary", "fingerprint": "b2c4cea7e3a416ae", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/generate-followups/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-1d2398d091b9fa3a", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-sync-status/index.ts:4"}, "properties": {"repobilityId": "c943c50348e5cf62", "scanner": "scanner-primary", "fingerprint": "1d2398d091b9fa3a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/whatsapp-sync-status/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-474647a1a4330207", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-fetch-campaign-spec/index.ts:6"}, "properties": {"repobilityId": "c13f8ad58b851dcd", "scanner": "scanner-primary", "fingerprint": "474647a1a4330207", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-fetch-campaign-spec/index.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-ab2afc1077174fc5", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/campaign-check-progress/index.ts:17"}, "properties": {"repobilityId": "ac60af625275a3ac", "scanner": "scanner-primary", "fingerprint": "ab2afc1077174fc5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/campaign-check-progress/index.ts"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-0010aeb6e80a3913", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-follow-up/index.ts:4"}, "properties": {"repobilityId": "9edb612e807dc157", "scanner": "scanner-primary", "fingerprint": "0010aeb6e80a3913", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-follow-up/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-88e711ab6e551c0c", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-ask-campaign/index.ts:5"}, "properties": {"repobilityId": "67265e17e953b6cd", "scanner": "scanner-primary", "fingerprint": "88e711ab6e551c0c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-ask-campaign/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-2beb48592d2c1f5a", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/nip-lookup/index.ts:4"}, "properties": {"repobilityId": "502be4bcb3981651", "scanner": "scanner-primary", "fingerprint": "2beb48592d2c1f5a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/nip-lookup/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-e9c8f5b0ea68e239", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/update-followup/index.ts:5"}, "properties": {"repobilityId": "64654494156aa5f4", "scanner": "scanner-primary", "fingerprint": "e9c8f5b0ea68e239", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/update-followup/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-61bfd6d94d658e1b", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-notes/index.ts:4"}, "properties": {"repobilityId": "c51d79a56a4e8895", "scanner": "scanner-primary", "fingerprint": "61bfd6d94d658e1b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/whatsapp-notes/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-f8c96fd574017512", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/get-followups/index.ts:5"}, "properties": {"repobilityId": "80db780d59e4f4c5", "scanner": "scanner-primary", "fingerprint": "f8c96fd574017512", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/get-followups/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-c8c1f8e0341ca6f4", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-ask/index.ts:4"}, "properties": {"repobilityId": "6d8be6ac7133216b", "scanner": "scanner-primary", "fingerprint": "c8c1f8e0341ca6f4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-ask/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-e5578a4f98515c7f", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-fetch-ads-cron/index.ts:5"}, "properties": {"repobilityId": "e8a7f22ae76638ce", "scanner": "scanner-primary", "fingerprint": "e5578a4f98515c7f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-fetch-ads-cron/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-c4db9961cdcea651", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-get-result/index.ts:5"}, "properties": {"repobilityId": "386b641b45f37c97", "scanner": "scanner-primary", "fingerprint": "c4db9961cdcea651", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-get-result/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-31a8e54c7922b831", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/resend-conversions/index.ts:5"}, "properties": {"repobilityId": "7507c42523701b8e", "scanner": "scanner-primary", "fingerprint": "31a8e54c7922b831", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/resend-conversions/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-5c3144340cfc9ab0", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-full-campaign/index.ts:5"}, "properties": {"repobilityId": "1c81aaea45ba6e4d", "scanner": "scanner-primary", "fingerprint": "5c3144340cfc9ab0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-full-campaign/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-486f3a042d4216db", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-probe/index.ts:4"}, "properties": {"repobilityId": "61d1dabb1f0ffeae", "scanner": "scanner-primary", "fingerprint": "486f3a042d4216db", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-probe/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-1f6336514f8c426e", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-webhook/index.ts:5"}, "properties": {"repobilityId": "4d87ae3e185a3bf9", "scanner": "scanner-primary", "fingerprint": "1f6336514f8c426e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-webhook/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-72ee56e5301af186", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/google-conversion/index.ts:5"}, "properties": {"repobilityId": "95f20fe999de61ad", "scanner": "scanner-primary", "fingerprint": "72ee56e5301af186", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/google-conversion/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-0c1c7012b8c30c1c", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/regenerate-followup/index.ts:5"}, "properties": {"repobilityId": "4bb9458a3b2478dc", "scanner": "scanner-primary", "fingerprint": "0c1c7012b8c30c1c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/regenerate-followup/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-a15f8cc185ef5d0f", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-create-offer/index.ts:4"}, "properties": {"repobilityId": "4590bee85848be06", "scanner": "scanner-primary", "fingerprint": "a15f8cc185ef5d0f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/whatsapp-create-offer/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-724c599eef575eef", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/automation-trigger/index.ts:4"}, "properties": {"repobilityId": "c8f5e4ef2b5ad035", "scanner": "scanner-primary", "fingerprint": "724c599eef575eef", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/automation-trigger/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-62f07cff0df4ba2c", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/email-inbound/index.ts:6"}, "properties": {"repobilityId": "4ac247c81a35122b", "scanner": "scanner-primary", "fingerprint": "62f07cff0df4ba2c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/email-inbound/index.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-e0c233aacc35ebd0", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/meta-event/index.ts:6"}, "properties": {"repobilityId": "951f0dbb1a07097b", "scanner": "scanner-primary", "fingerprint": "e0c233aacc35ebd0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/meta-event/index.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-e4afc96681d70708", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-ad-copy/index.ts:5"}, "properties": {"repobilityId": "554ff0ac8bcdabab", "scanner": "scanner-primary", "fingerprint": "e4afc96681d70708", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/generate-ad-copy/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-2abc57f15db610ad", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/send-sms/index.ts:23"}, "properties": {"repobilityId": "178f92d0ca5f403c", "scanner": "scanner-primary", "fingerprint": "2abc57f15db610ad", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/send-sms/index.ts"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-8240ba651e2541e2", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-whatsapp-reply/index.ts:5"}, "properties": {"repobilityId": "e278ddcae2dd1233", "scanner": "scanner-primary", "fingerprint": "8240ba651e2541e2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/generate-whatsapp-reply/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-f401262e18ef7fc9", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-offers/index.ts:4"}, "properties": {"repobilityId": "cea537f2ed119a70", "scanner": "scanner-primary", "fingerprint": "f401262e18ef7fc9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/whatsapp-offers/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-fc5a9694155a0286", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/spar-drip/index.ts:58"}, "properties": {"repobilityId": "eab6b59693d01933", "scanner": "scanner-primary", "fingerprint": "fc5a9694155a0286", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/spar-drip/index.ts"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-ddf8d6d25b5fc173", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-debug/index.ts:4"}, "properties": {"repobilityId": "bb05de8b2aa500c3", "scanner": "scanner-primary", "fingerprint": "ddf8d6d25b5fc173", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-debug/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-19285817849207de", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-setup-webhook/index.ts:4"}, "properties": {"repobilityId": "71ed0ac5ab8a9285", "scanner": "scanner-primary", "fingerprint": "19285817849207de", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-setup-webhook/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-b070a70a28b6f7f4", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/spar-followups/index.ts:38"}, "properties": {"repobilityId": "c43b249cb541638d", "scanner": "scanner-primary", "fingerprint": "b070a70a28b6f7f4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/spar-followups/index.ts"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-570f569d29b972ce", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/tiktok-event/index.ts:6"}, "properties": {"repobilityId": "7f02093ce8549732", "scanner": "scanner-primary", "fingerprint": "570f569d29b972ce", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/tiktok-event/index.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-1be2244774afb1d6", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/share-content/index.ts:5"}, "properties": {"repobilityId": "a2e71705168d48d9", "scanner": "scanner-primary", "fingerprint": "1be2244774afb1d6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/share-content/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-92d8a0829b9f8dda", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-campaign-batch/index.ts:5"}, "properties": {"repobilityId": "a2e82190e09d3c0c", "scanner": "scanner-primary", "fingerprint": "92d8a0829b9f8dda", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/generate-campaign-batch/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-315549030c0fc5d1", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/password-reset/index.ts:4"}, "properties": {"repobilityId": "b9d555eb88e88c13", "scanner": "scanner-primary", "fingerprint": "315549030c0fc5d1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/password-reset/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-620b7cb0607b5488", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in supabase/functions/whatsapp-sync/index.ts:19"}, "properties": {"repobilityId": "a6222cacb6377593", "scanner": "scanner-primary", "fingerprint": "620b7cb0607b5488", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/whatsapp-sync/index.ts"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-c2d24ae53cfa5e7f", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-sync/index.ts:5"}, "properties": {"repobilityId": "5e33498c505c6ecb", "scanner": "scanner-primary", "fingerprint": "c2d24ae53cfa5e7f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/whatsapp-sync/index.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-81c616a5af793d41", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-lead-lookup/index.ts:4"}, "properties": {"repobilityId": "f2120f769888e055", "scanner": "scanner-primary", "fingerprint": "81c616a5af793d41", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/whatsapp-lead-lookup/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-faf25d45a7b279a5", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/whatsapp-client-offer/index.ts:4"}, "properties": {"repobilityId": "cbc55d27756e404e", "scanner": "scanner-primary", "fingerprint": "faf25d45a7b279a5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/whatsapp-client-offer/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-bee05e7c99d8d1d9", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/manus-list-connectors/index.ts:4"}, "properties": {"repobilityId": "499239fbdf43dec1", "scanner": "scanner-primary", "fingerprint": "bee05e7c99d8d1d9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/manus-list-connectors/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-fd936215aba65c31", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/scrape-product-image/index.ts:4"}, "properties": {"repobilityId": "d54088302d95d185", "scanner": "scanner-primary", "fingerprint": "fd936215aba65c31", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/scrape-product-image/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-20a3ffc7048d77e3", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/automation-executor/index.ts:4"}, "properties": {"repobilityId": "66109f64e4fdf11d", "scanner": "scanner-primary", "fingerprint": "20a3ffc7048d77e3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/automation-executor/index.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-24d30e7c390ff99f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/automations.html:405"}, "properties": {"repobilityId": "2b67d7779a84c5be", "scanner": "scanner-primary", "fingerprint": "24d30e7c390ff99f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-workflow/automations.html"}, "region": {"startLine": 405}}}]}, {"ruleId": "scanner-c2aeda1305d7b699", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/automation-builder.html:655"}, "properties": {"repobilityId": "1b50dfd3d13a626b", "scanner": "scanner-primary", "fingerprint": "c2aeda1305d7b699", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-workflow/automation-builder.html"}, "region": {"startLine": 655}}}]}, {"ruleId": "scanner-21e09245532e3c63", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/email-log.html:504"}, "properties": {"repobilityId": "37e4e1b1243945b3", "scanner": "scanner-primary", "fingerprint": "21e09245532e3c63", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-workflow/email-log.html"}, "region": {"startLine": 504}}}]}, {"ruleId": "scanner-dba33afd60076ff6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/products.html:347"}, "properties": {"repobilityId": "c033cef765fcc686", "scanner": "scanner-primary", "fingerprint": "dba33afd60076ff6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-workflow/products.html"}, "region": {"startLine": 347}}}]}, {"ruleId": "scanner-7db5df3f649155fa", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/workflows.html:628"}, "properties": {"repobilityId": "c5831f8653736a21", "scanner": "scanner-primary", "fingerprint": "7db5df3f649155fa", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-workflow/workflows.html"}, "region": {"startLine": 628}}}]}, {"ruleId": "scanner-a0e2ac8801d56ae6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-workflow/kampanie.html:561"}, "properties": {"repobilityId": "667b98863881fc92", "scanner": "scanner-primary", "fingerprint": "a0e2ac8801d56ae6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-workflow/kampanie.html"}, "region": {"startLine": 561}}}]}, {"ruleId": "scanner-4c06ef29a236a208", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in checkout/old.html:1220"}, "properties": {"repobilityId": "955f58b77a3a3884", "scanner": "scanner-primary", "fingerprint": "4c06ef29a236a208", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "checkout/old.html"}, "region": {"startLine": 1220}}}]}, {"ruleId": "scanner-8d5f71ec9207a35f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in checkout/v2/index.html:2226"}, "properties": {"repobilityId": "95fbf8446e16d3ea", "scanner": "scanner-primary", "fingerprint": "8d5f71ec9207a35f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "checkout/v2/index.html"}, "region": {"startLine": 2226}}}]}, {"ruleId": "scanner-1c500239a65a8bad", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-todo/notes.html:519"}, "properties": {"repobilityId": "e95b66cf4c04dee4", "scanner": "scanner-primary", "fingerprint": "1c500239a65a8bad", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-todo/notes.html"}, "region": {"startLine": 519}}}]}, {"ruleId": "scanner-baee0e7b13b6b58b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-todo/boards.html:355"}, "properties": {"repobilityId": "213c3adc55c0bb7d", "scanner": "scanner-primary", "fingerprint": "baee0e7b13b6b58b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-todo/boards.html"}, "region": {"startLine": 355}}}]}, {"ruleId": "scanner-fb21daeca6036df2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-todo/board.html:582"}, "properties": {"repobilityId": "3c24112e040d783d", "scanner": "scanner-primary", "fingerprint": "fb21daeca6036df2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-todo/board.html"}, "region": {"startLine": 582}}}]}, {"ruleId": "scanner-bc02b08591d233c8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tn-todo/my-tasks.html:283"}, "properties": {"repobilityId": "fba15fd5ba4c2453", "scanner": "scanner-primary", "fingerprint": "bc02b08591d233c8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tn-todo/my-tasks.html"}, "region": {"startLine": 283}}}]}, {"ruleId": "scanner-5e9d4a7e1b0eabc1", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e6c3a7843406f079", "scanner": "scanner-primary", "fingerprint": "5e9d4a7e1b0eabc1", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/backup.yml"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-912749afb8ee7a31", "level": "note", "message": {"text": "Very large file: landing-pages/shared/conversion-toolkit.js (1785 lines)"}, "properties": {"repobilityId": "2cd8a64714d67882", "scanner": "scanner-primary", "fingerprint": "912749afb8ee7a31", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3b4dc3c79baa0746", "level": "note", "message": {"text": "Very large file: chrome-extensions/whatsapp-sync/content.js (4430 lines)"}, "properties": {"repobilityId": "9e4d5d875843b2fe", "scanner": "scanner-primary", "fingerprint": "3b4dc3c79baa0746", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-499da64bfb8e6451", "level": "note", "message": {"text": "Very large file: supabase/functions/spar-chat/index.ts (1178 lines)"}, "properties": {"repobilityId": "5a5391eea73606ee", "scanner": "scanner-primary", "fingerprint": "499da64bfb8e6451", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-b3ed68815bca2f8c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: package.json"}, "properties": {"repobilityId": "7edae0550c126386", "scanner": "scanner-primary", "fingerprint": "b3ed68815bca2f8c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "918fa569f3b6fc22", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "f2b0a3b28b5b6050", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "e95dcc8034f67af8", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "c7fb3c60a612ea3c", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "ae1f0b8e792da0ca", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "c0e50410660049f3", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "f9b12c6f3d17c1aa", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-078278ae663fedbb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 landing-pages/shared/conversion-toolkit.js:1512"}, "properties": {"repobilityId": "f139645a30bde1d3", "scanner": "scanner-primary", "fingerprint": "078278ae663fedbb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-de6948bf9fbad5f8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 landing-pages/shared/reviews-widget.js:68"}, "properties": {"repobilityId": "1a67566d90fb6f8e", "scanner": "scanner-primary", "fingerprint": "de6948bf9fbad5f8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e866ea29530ec02f", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/optimize-landing-images.mjs:7"}, "properties": {"repobilityId": "65bb4229189c95d1", "scanner": "scanner-primary", "fingerprint": "e866ea29530ec02f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f77190d1bc46381a", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/migrate-to-render-image.mjs:4"}, "properties": {"repobilityId": "7d807b2ece46dab3", "scanner": "scanner-primary", "fingerprint": "f77190d1bc46381a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d88379bfce8cd59", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/generate-pmax-images.mjs:63"}, "properties": {"repobilityId": "c69ab61fc861c159", "scanner": "scanner-primary", "fingerprint": "2d88379bfce8cd59", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9affd388a7937f16", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/generate-reels.py:219"}, "properties": {"repobilityId": "18c3a6b8bf6f845c", "scanner": "scanner-primary", "fingerprint": "9affd388a7937f16", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4e03f8ae8ff9ea4", "level": "none", "message": {"text": "Commented-code block (7 lines) in components/source-classifier.js:6"}, "properties": {"repobilityId": "007d045880eed9b6", "scanner": "scanner-primary", "fingerprint": "c4e03f8ae8ff9ea4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c4bd8ddab277bba", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 chrome-extensions/whatsapp-sync/popup.js:305"}, "properties": {"repobilityId": "c9622c6d7647cb15", "scanner": "scanner-primary", "fingerprint": "0c4bd8ddab277bba", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b7a48d75379190cc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-fetch-ads/index.ts:97"}, "properties": {"repobilityId": "c78707bdaaa9efb7", "scanner": "scanner-primary", "fingerprint": "b7a48d75379190cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4f30e1c4dea87c69", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/tpay-create-transaction/index.ts:136"}, "properties": {"repobilityId": "a3ca4120ab905096", "scanner": "scanner-primary", "fingerprint": "4f30e1c4dea87c69", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2366b0e21e0fdcf5", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/spar-landing/index.ts:1"}, "properties": {"repobilityId": "c8955916779dee52", "scanner": "scanner-primary", "fingerprint": "2366b0e21e0fdcf5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e91b48fc83ead212", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-research-ads/index.ts:97"}, "properties": {"repobilityId": "e8cea6b53b2eb966", "scanner": "scanner-primary", "fingerprint": "e91b48fc83ead212", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7e2d8d8e7b668c14", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-test/index.ts:24"}, "properties": {"repobilityId": "bcce1faeb95faec1", "scanner": "scanner-primary", "fingerprint": "7e2d8d8e7b668c14", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-66c8f6eb5fa44edb", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/payment-reminder-cron/index.ts:234"}, "properties": {"repobilityId": "baea2055171739f8", "scanner": "scanner-primary", "fingerprint": "66c8f6eb5fa44edb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e31f963710b402f4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/payment-reminder-cron/index.ts:282"}, "properties": {"repobilityId": "1368beef54f23e81", "scanner": "scanner-primary", "fingerprint": "e31f963710b402f4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ea78554185778179", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-economics/index.ts:100"}, "properties": {"repobilityId": "b45de9b3b2a7b4c4", "scanner": "scanner-primary", "fingerprint": "ea78554185778179", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a1401ac6518f1b92", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-get-messages/index.ts:20"}, "properties": {"repobilityId": "b02373f7530831f9", "scanner": "scanner-primary", "fingerprint": "a1401ac6518f1b92", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5e8946e99750f409", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-research-result/index.ts:36"}, "properties": {"repobilityId": "09c85d21806a8f57", "scanner": "scanner-primary", "fingerprint": "5e8946e99750f409", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-87f8945a228dcd08", "level": "none", "message": {"text": "Commented-code block (8 lines) in supabase/functions/followups-cron/index.ts:9"}, "properties": {"repobilityId": "1e181c3572ad72c4", "scanner": "scanner-primary", "fingerprint": "87f8945a228dcd08", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-18bfbfc3a4ffb0be", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/followups-cron/index.ts:143"}, "properties": {"repobilityId": "b1428e5f4c7b3eac", "scanner": "scanner-primary", "fingerprint": "18bfbfc3a4ffb0be", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b0a2c38b6fe70a8d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/outreach-reply-webhook/index.ts:140"}, "properties": {"repobilityId": "856cf9804f16df80", "scanner": "scanner-primary", "fingerprint": "b0a2c38b6fe70a8d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-22f8818982272f8c", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/lead-upsert/index.ts:227"}, "properties": {"repobilityId": "4a869a33ba441687", "scanner": "scanner-primary", "fingerprint": "22f8818982272f8c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2bcbe87aa89da009", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-followups/index.ts:99"}, "properties": {"repobilityId": "d78ce266ea7c10a6", "scanner": "scanner-primary", "fingerprint": "2bcbe87aa89da009", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5cfde07974f6d10a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/invoice-pdf/index.ts:50"}, "properties": {"repobilityId": "037eb03dc72db72a", "scanner": "scanner-primary", "fingerprint": "5cfde07974f6d10a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-73a5e187ea19d266", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/spar-go/index.ts:1"}, "properties": {"repobilityId": "f66eb3315db161c3", "scanner": "scanner-primary", "fingerprint": "73a5e187ea19d266", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7be20b8f377ad0e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/fakturownia-invoice/index.ts:188"}, "properties": {"repobilityId": "f7f1330d9974caec", "scanner": "scanner-primary", "fingerprint": "d7be20b8f377ad0e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-62f92de0d72829ac", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-fetch-campaign-spec/index.ts:42"}, "properties": {"repobilityId": "b91a9e7670df22fe", "scanner": "scanner-primary", "fingerprint": "62f92de0d72829ac", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f9d421e40c16eefc", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/spar-public-feed/index.ts:6"}, "properties": {"repobilityId": "133447a47b7b1283", "scanner": "scanner-primary", "fingerprint": "f9d421e40c16eefc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e4760e53f0b4263", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/spar-chat/index.ts:7"}, "properties": {"repobilityId": "5a9d63fc85605f4a", "scanner": "scanner-primary", "fingerprint": "3e4760e53f0b4263", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc6a4df39821447e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-chat/index.ts:940"}, "properties": {"repobilityId": "48cd90805958ed27", "scanner": "scanner-primary", "fingerprint": "fc6a4df39821447e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9afa60d1c4e479df", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/campaign-check-progress/index.ts:116"}, "properties": {"repobilityId": "08cd55b376fa7571", "scanner": "scanner-primary", "fingerprint": "9afa60d1c4e479df", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e86eca2f2ba7eed8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-follow-up/index.ts:23"}, "properties": {"repobilityId": "cbda6505d282e2fb", "scanner": "scanner-primary", "fingerprint": "e86eca2f2ba7eed8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b9c2c0f781bb91d6", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/spar-image/index.ts:6"}, "properties": {"repobilityId": "3bc7625e08a3b6d9", "scanner": "scanner-primary", "fingerprint": "b9c2c0f781bb91d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5fc87d1f8882938", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-image/index.ts:248"}, "properties": {"repobilityId": "37c7aa3c0022a276", "scanner": "scanner-primary", "fingerprint": "e5fc87d1f8882938", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5c1b07736d2d4586", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-gtm/index.ts:249"}, "properties": {"repobilityId": "1a93fc51b4d884e5", "scanner": "scanner-primary", "fingerprint": "5c1b07736d2d4586", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5590cfe7265277b3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-ask-campaign/index.ts:88"}, "properties": {"repobilityId": "d411d841c01b8a44", "scanner": "scanner-primary", "fingerprint": "5590cfe7265277b3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ada07b38af4628d5", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/gads-agent/index.ts:6"}, "properties": {"repobilityId": "1d5f0518157bdb4e", "scanner": "scanner-primary", "fingerprint": "ada07b38af4628d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9663693be430c451", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/nip-lookup/index.ts:24"}, "properties": {"repobilityId": "a3376c539cbc091c", "scanner": "scanner-primary", "fingerprint": "9663693be430c451", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-11c011ef9fa0d993", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/send-email/index.ts:540"}, "properties": {"repobilityId": "3279e5160f2bec4c", "scanner": "scanner-primary", "fingerprint": "11c011ef9fa0d993", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e24f10506c2d05b0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/fakturownia-proforma/index.ts:77"}, "properties": {"repobilityId": "87cd1e29b264c5d5", "scanner": "scanner-primary", "fingerprint": "e24f10506c2d05b0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7815260c50210274", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-fetch-ads-cron/index.ts:113"}, "properties": {"repobilityId": "e5213c7e12a39fed", "scanner": "scanner-primary", "fingerprint": "7815260c50210274", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-46c609d8759d473b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-get-result/index.ts:36"}, "properties": {"repobilityId": "c2e2dc76cbe63cc5", "scanner": "scanner-primary", "fingerprint": "46c609d8759d473b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-40029271f29a7877", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/resend-conversions/index.ts:107"}, "properties": {"repobilityId": "7f01933525a0c127", "scanner": "scanner-primary", "fingerprint": "40029271f29a7877", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-507b29d8f9d9752c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-full-campaign/index.ts:46"}, "properties": {"repobilityId": "e0bed40f4567a801", "scanner": "scanner-primary", "fingerprint": "507b29d8f9d9752c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-86fcc302fed28a77", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/revolut-webhook/index.ts:78"}, "properties": {"repobilityId": "aa0e81253a458888", "scanner": "scanner-primary", "fingerprint": "86fcc302fed28a77", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ef31a065c06699b4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-probe/index.ts:21"}, "properties": {"repobilityId": "ae7cd336c19afa07", "scanner": "scanner-primary", "fingerprint": "ef31a065c06699b4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-54eebf527da93975", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/spar-raport/index.ts:7"}, "properties": {"repobilityId": "dd7f6063fb2928eb", "scanner": "scanner-primary", "fingerprint": "54eebf527da93975", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a640353e9695a16", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-raport/index.ts:206"}, "properties": {"repobilityId": "12bb86cb09ebb515", "scanner": "scanner-primary", "fingerprint": "8a640353e9695a16", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e4ccc1bb5d6266b2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/google-conversion/index.ts:164"}, "properties": {"repobilityId": "6ea58a6c1dfb4212", "scanner": "scanner-primary", "fingerprint": "e4ccc1bb5d6266b2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-31363e890d2e54ef", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/regenerate-followup/index.ts:94"}, "properties": {"repobilityId": "b32f36be7218c18c", "scanner": "scanner-primary", "fingerprint": "31363e890d2e54ef", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-135c5a7f8534f660", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/checkout-notify/index.ts:122"}, "properties": {"repobilityId": "6bbf75210f4f58b6", "scanner": "scanner-primary", "fingerprint": "135c5a7f8534f660", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-325a0e6096a54f10", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/spar-project/index.ts:6"}, "properties": {"repobilityId": "e4f2c975a9d8357e", "scanner": "scanner-primary", "fingerprint": "325a0e6096a54f10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0abcb2cdd6e56308", "level": "none", "message": {"text": "Commented-code block (8 lines) in supabase/functions/automation-trigger/index.ts:91"}, "properties": {"repobilityId": "88498af56940cca6", "scanner": "scanner-primary", "fingerprint": "0abcb2cdd6e56308", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92243e4078f50668", "level": "none", "message": {"text": "Commented-code block (10 lines) in supabase/functions/email-inbound/index.ts:108"}, "properties": {"repobilityId": "3f43554c080b3eb3", "scanner": "scanner-primary", "fingerprint": "92243e4078f50668", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-531a30b7dd64193d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-inbound/index.ts:306"}, "properties": {"repobilityId": "782876afe8e07874", "scanner": "scanner-primary", "fingerprint": "531a30b7dd64193d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-176b33364be0d37c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/meta-event/index.ts:202"}, "properties": {"repobilityId": "931229aa59dfe33e", "scanner": "scanner-primary", "fingerprint": "176b33364be0d37c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cf0ec54bd74099a5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-ad-copy/index.ts:36"}, "properties": {"repobilityId": "143118c9e7882a29", "scanner": "scanner-primary", "fingerprint": "cf0ec54bd74099a5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a9c0c1311538822e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/fakturownia-backfill-tokens/index.ts:44"}, "properties": {"repobilityId": "f737a836251a41ad", "scanner": "scanner-primary", "fingerprint": "a9c0c1311538822e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d9d91a5c9aa741fe", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/send-sms/index.ts:8"}, "properties": {"repobilityId": "b6491d0f8be560b9", "scanner": "scanner-primary", "fingerprint": "d9d91a5c9aa741fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59d7a2c727ab088b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-whatsapp-reply/index.ts:193"}, "properties": {"repobilityId": "71158d4fda94d251", "scanner": "scanner-primary", "fingerprint": "59d7a2c727ab088b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ef25752fb79aebf4", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/spar-plan/index.ts:11"}, "properties": {"repobilityId": "271d3410752fd19f", "scanner": "scanner-primary", "fingerprint": "ef25752fb79aebf4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8c25f3f0709839b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/spar-plan/index.ts:97"}, "properties": {"repobilityId": "664700d37e3da049", "scanner": "scanner-primary", "fingerprint": "a8c25f3f0709839b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-06e30df46910bb95", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/spar-prototype/index.ts:1"}, "properties": {"repobilityId": "5810c3f06d3e58be", "scanner": "scanner-primary", "fingerprint": "06e30df46910bb95", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f90368048d80b61f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/slack-notify/index.ts:106"}, "properties": {"repobilityId": "3d0ce982a377f296", "scanner": "scanner-primary", "fingerprint": "f90368048d80b61f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-12645d24c12278da", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/spar-drip/index.ts:1"}, "properties": {"repobilityId": "eae6a97f4e93c6a3", "scanner": "scanner-primary", "fingerprint": "12645d24c12278da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98f8b4f966202b0d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-debug/index.ts:25"}, "properties": {"repobilityId": "6a60980defbc651a", "scanner": "scanner-primary", "fingerprint": "98f8b4f966202b0d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7d5d2159e7ad41ec", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/workflow-stage-completed/index.ts:292"}, "properties": {"repobilityId": "e8224ea35bfddac0", "scanner": "scanner-primary", "fingerprint": "7d5d2159e7ad41ec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dd3874bef5e84549", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/revolut-create-order/index.ts:81"}, "properties": {"repobilityId": "c9e00a8eb30a4bf4", "scanner": "scanner-primary", "fingerprint": "dd3874bef5e84549", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-048d37109f601b2f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/offer-emails-cron/index.ts:293"}, "properties": {"repobilityId": "2a25dbf62ea1fbe1", "scanner": "scanner-primary", "fingerprint": "048d37109f601b2f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-503d2e3cdbc01c55", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-setup-webhook/index.ts:27"}, "properties": {"repobilityId": "120141776cbbcc2e", "scanner": "scanner-primary", "fingerprint": "503d2e3cdbc01c55", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8575c922d23ca997", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/spar-followups/index.ts:6"}, "properties": {"repobilityId": "4ea73b55b159d6f1", "scanner": "scanner-primary", "fingerprint": "8575c922d23ca997", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3543e91917f6de75", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/tpay-webhook/index.ts:783"}, "properties": {"repobilityId": "111cebd8fc9ea8f5", "scanner": "scanner-primary", "fingerprint": "3543e91917f6de75", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef4c71f765238ab2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/tpay-webhook/index.ts:119"}, "properties": {"repobilityId": "0c64559aa687d09a", "scanner": "scanner-primary", "fingerprint": "ef4c71f765238ab2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bd87f9e72c7a731e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-image/index.ts:69"}, "properties": {"repobilityId": "716b35139bc85fdd", "scanner": "scanner-primary", "fingerprint": "bd87f9e72c7a731e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ce911406129280d8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/tiktok-event/index.ts:179"}, "properties": {"repobilityId": "017d7193441569e2", "scanner": "scanner-primary", "fingerprint": "ce911406129280d8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e348452b705e0061", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/generate-campaign-batch/index.ts:163"}, "properties": {"repobilityId": "5e087aeaf8e0c626", "scanner": "scanner-primary", "fingerprint": "e348452b705e0061", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ea92731c3198b95a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/outreach-followup/index.ts:222"}, "properties": {"repobilityId": "94972c50723e7d54", "scanner": "scanner-primary", "fingerprint": "ea92731c3198b95a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5d71bb25d2b85fba", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/password-reset/index.ts:149"}, "properties": {"repobilityId": "82816ddc080124e2", "scanner": "scanner-primary", "fingerprint": "5d71bb25d2b85fba", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2dd7831c8398d4f8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/manus-list-connectors/index.ts:23"}, "properties": {"repobilityId": "192101cb16e1b88a", "scanner": "scanner-primary", "fingerprint": "2dd7831c8398d4f8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b26880bbe7bcfdeb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/scrape-product-image/index.ts:31"}, "properties": {"repobilityId": "1bc0bb2db946f7f7", "scanner": "scanner-primary", "fingerprint": "b26880bbe7bcfdeb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-575cc88679fed15e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/outreach-send/index.ts:244"}, "properties": {"repobilityId": "3ab335152409e5d2", "scanner": "scanner-primary", "fingerprint": "575cc88679fed15e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "773a820fe43788fc", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "37bfe28291bdb87c", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "b34a94d68ff6a1b6", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "2d7bc0a5c45e4df6", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}