{"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-18f0590bf575be3e", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-web-stories.ts:200", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-web-stories.ts:200"}, "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-9c838efef7343e00", "name": "Stray `console.log` in TS/JS \u2014 scripts/submit-indexnow.js:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/submit-indexnow.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-6b44681b1d1d2095", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-spike-pages.js:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-spike-pages.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-35a73da8db2e8cd8", "name": "Stray `console.log` in TS/JS \u2014 scripts/notify-linkedin.js:140", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/notify-linkedin.js:140"}, "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-ded81ef74f1612fa", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-scheme-guides.js:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-scheme-guides.js: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-5d5dd16131eff34a", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-district-courts.ts:911", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-district-courts.ts:911"}, "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-13d7a8f133b4b0f0", "name": "Stray `console.log` in TS/JS \u2014 scripts/gsc-page-queries.js:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gsc-page-queries.js:56"}, "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-feecc79b657335af", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-ecourts-codes.ts:100", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-ecourts-codes.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-88f77807d289970d", "name": "Stray `console.log` in TS/JS \u2014 scripts/notify-telegram.js:134", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/notify-telegram.js:134"}, "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-568fcd1e9bbe1e2a", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-sitemap.ts:297", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-sitemap.ts:297"}, "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-77fdbc85cd9844cc", "name": "Stray `console.log` in TS/JS \u2014 scripts/notify-facebook.js:139", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/notify-facebook.js:139"}, "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-86953d066d939ae2", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-gsc-indexing.js:125", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-gsc-indexing.js:125"}, "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-af01c4aa26bd9770", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-updates-gemini.js:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-updates-gemini.js:76"}, "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-fd849d080f9b828c", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-court-data.ts:911", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-court-data.ts:911"}, "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-67645b0715fe2e0e", "name": "Stray `console.log` in TS/JS \u2014 scripts/notify-reddit.js:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/notify-reddit.js:51"}, "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-a994100fb41a250c", "name": "Stray `console.log` in TS/JS \u2014 scripts/pinterest-post.js:96", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/pinterest-post.js:96"}, "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-6586a81938536bf4", "name": "Stray `console.log` in TS/JS \u2014 scripts/daily-index-submit.js:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/daily-index-submit.js:37"}, "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-6b35ac91812fe717", "name": "Stray `console.log` in TS/JS \u2014 scripts/apply-evergreen-updates.js:229", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-evergreen-updates.js:229"}, "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-c3a599b30c927cf7", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-hsn-data.ts:406", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-hsn-data.ts:406"}, "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-72fef52050386810", "name": "Stray `console.log` in TS/JS \u2014 scripts/google-index-submit.js:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/google-index-submit.js:37"}, "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-6176b09cb43bea66", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-scheme-guide.js:219", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-scheme-guide.js:219"}, "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-4acb6709786a4d84", "name": "Stray `console.log` in TS/JS \u2014 scripts/fetch-ifsc-data.ts:174", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch-ifsc-data.ts:174"}, "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-269a01812ee66ddf", "name": "Stray `console.log` in TS/JS \u2014 scripts/gsc-stats.js:99", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gsc-stats.js: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-368b3ecf46a84383", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-rto-data.ts:766", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-rto-data.ts:766"}, "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-96c7c36da92dee5e", "name": "Stray `console.log` in TS/JS \u2014 scripts/notify-whatsapp.js:129", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/notify-whatsapp.js:129"}, "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-e1e468ea6bc1ddf0", "name": "Stray `console.log` in TS/JS \u2014 scripts/process-pincode-data.ts:97", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/process-pincode-data.ts:97"}, "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-6249552693a684fb", "name": "Stray `console.log` in TS/JS \u2014 scripts/gen-50-stories.js:476", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-50-stories.js:476"}, "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-3c37811e83585f87", "name": "Stray `console.log` in TS/JS \u2014 scripts/add-internal-links.js:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add-internal-links.js: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-d838ba9f45da5612", "name": "Stray `console.log` in TS/JS \u2014 agents/check-external-links.js:103", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/check-external-links.js:103"}, "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-8e971cdeeb117dd2", "name": "Stray `console.log` in TS/JS \u2014 agents/gsc-report.js:149", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/gsc-report.js:149"}, "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-ee8b33fe8e673aaa", "name": "Stray `console.log` in TS/JS \u2014 agents/trending-scan.js:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/trending-scan.js: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-24aa156bb6b59952", "name": "Stray `console.log` in TS/JS \u2014 agents/pib-scanner.js:202", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/pib-scanner.js:202"}, "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-03e45aabcc19bdaf", "name": "Stray `console.log` in TS/JS \u2014 agents/exam-site-monitor.js:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/exam-site-monitor.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-79399e9c106e743b", "name": "Stray `console.log` in TS/JS \u2014 agents/check-internal-links.js:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/check-internal-links.js:56"}, "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-9500b75ec628f7a2", "name": "Stray `console.log` in TS/JS \u2014 agents/qa-validate.js:278", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/qa-validate.js:278"}, "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-4b8f932ac6fb5412", "name": "Stray `console.log` in TS/JS \u2014 agents/add-crosslinks.js:762", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/add-crosslinks.js:762"}, "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-89dbfd0a7cc63dba", "name": "Stray `console.log` in TS/JS \u2014 agents/qa-validate-update.js:170", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/qa-validate-update.js:170"}, "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-d0af961b98fca838", "name": "Stray `console.log` in TS/JS \u2014 agents/post-tweet.js:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/post-tweet.js:88"}, "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-c6cb3b384fa89629", "name": "Stray `console.log` in TS/JS \u2014 agents/qa-validate-calculators.js:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 agents/qa-validate-calculators.js:21"}, "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-e16f8143b05af800", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/IFSCSearchWidget.tsx:101", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/IFSCSearchWidget.tsx:101"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b6538583e0889e32", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/layout.tsx:109", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/layout.tsx:109"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b3098c2017dd8a18", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/ifsc/[bank]/page.tsx:114", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/ifsc/[bank]/page.tsx:114"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d9548802ef199f2", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/ifsc/[bank]/page.tsx:69", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/ifsc/[bank]/page.tsx:69"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-05bd013ad9f7af40", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/ifsc/[bank]/[branch]/page.tsx:118", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/ifsc/[bank]/[branch]/page.tsx:118"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d589976f2fd7764d", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/hsn/page.tsx:83", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/hsn/page.tsx:83"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6e3e9aa553b9d0bd", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hsn/page.tsx:51", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hsn/page.tsx:51"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-12785deefbcc6829", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hsn/[code]/page.tsx:80", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hsn/[code]/page.tsx:80"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c8cdcf0c8cc89cbf", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/state/[state]/page.tsx:57", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/state/[state]/page.tsx:57"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7b68788373caa226", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/updates/page.tsx:53", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/updates/page.tsx:53"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4cd18c81af6c37d1", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/pincode/[state]/page.tsx:141", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/pincode/[state]/page.tsx:141"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1c227a8bf1c0513a", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/pincode/[state]/page.tsx:69", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/pincode/[state]/page.tsx:69"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cf91241fe6ff56bf", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/pincode/[state]/[district]/page.tsx:58", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/pincode/[state]/[district]/page.tsx:58"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e84bcfdf76d7fc6", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/pincode/[state]/[district]/[slug]/page.tsx:270", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/pincode/[state]/[district]/[slug]/page.tsx:270"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7997bdf8f3ad9966", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/pincode/[state]/[district]/[slug]/page.tsx:138", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/pincode/[state]/[district]/[slug]/page.tsx:138"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-56a308ce289d34a7", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/kn/guide/[slug]/page.tsx:105", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/kn/guide/[slug]/page.tsx:105"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1d0318ac929ed7e7", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/bank-holidays/page.tsx:357", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/bank-holidays/page.tsx:357"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-42cd07a16f52ace1", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/te/guide/[slug]/page.tsx:102", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/te/guide/[slug]/page.tsx:102"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3fe867c45f041caf", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/bn/guide/[slug]/page.tsx:105", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/bn/guide/[slug]/page.tsx:105"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-10b7866148f3a964", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/ml/guide/[slug]/page.tsx:102", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/ml/guide/[slug]/page.tsx:102"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3a6b0dfe63ca965a", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/gu/guide/[slug]/page.tsx:105", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/gu/guide/[slug]/page.tsx:105"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eaea6c31b7b05a2a", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/page.tsx:235", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/page.tsx:235"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1967ebdf0077eadb", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/mudra-loan-eligibility/page.tsx:74", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/mudra-loan-eligibility/page.tsx:74"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0bb7c992799d029d", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/retirement/page.tsx:127", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/retirement/page.tsx:127"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eea755e9958ea1bf", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/senior-citizen-pension-eligibility/page.tsx:76", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/senior-citizen-pension-eligibility/page.tsx:76"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-136b877fa442b820", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/old-vs-new-regime/page.tsx:142", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/old-vs-new-regime/page.tsx:142"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9f2340bd715ba9b5", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/ujjwala-yojana-eligibility/page.tsx:65", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/ujjwala-yojana-eligibility/page.tsx:65"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cec5f02e8f2a007a", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/atal-pension-yojana-eligibility/page.tsx:62", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/atal-pension-yojana-eligibility/page.tsx:62"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bce82f7e51169195", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/epf/page.tsx:45", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/epf/page.tsx:45"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-09595c110ee5ac8b", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/emi/page.tsx:109", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/emi/page.tsx:109"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-da386c4cccfb8879", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/pm-awas-yojana-eligibility/page.tsx:81", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/pm-awas-yojana-eligibility/page.tsx:81"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2f34739fdedff9e0", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/sukanya-samriddhi-eligibility/page.tsx:62", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/sukanya-samriddhi-eligibility/page.tsx:62"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d7b1736adb6bb401", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/car-loan/page.tsx:106", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/car-loan/page.tsx:106"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-be78521e59c0dea5", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/home-loan-eligibility/page.tsx:77", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/home-loan-eligibility/page.tsx:77"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d7256aed40a06bd6", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/fd/page.tsx:84", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/fd/page.tsx:84"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7e6107dde2817fbf", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/education-cost/page.tsx:102", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/education-cost/page.tsx:102"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d377ad8ae52f60c5", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/scheme-finder/page.tsx:340", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/scheme-finder/page.tsx:340"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3eeeaa4704b8b18d", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/ayushman-bharat-eligibility/page.tsx:58", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/ayushman-bharat-eligibility/page.tsx:58"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-23b846ff7ad82c44", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/age-eligibility/page.tsx:234", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/age-eligibility/page.tsx:234"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-846c7558b23438fa", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/ppf/page.tsx:79", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/ppf/page.tsx:79"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fa26613c78c0bacb", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/sip/page.tsx:82", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/sip/page.tsx:82"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f89f168dc1b9e18f", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/sukanya-samriddhi/page.tsx:73", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/sukanya-samriddhi/page.tsx:73"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3b9281d46cae7b38", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/nps/page.tsx:84", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/nps/page.tsx:84"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-26fc9ad08d87431c", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/gst/page.tsx:84", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/gst/page.tsx:84"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6590ea843381d7ec", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/job-eligibility/page.tsx:309", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/job-eligibility/page.tsx:309"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bc2e3554df10dcc2", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/stamp-duty/page.tsx:41", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/stamp-duty/page.tsx:41"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d6df51eaee25e5e1", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/rent-receipt/page.tsx:87", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/rent-receipt/page.tsx:87"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d40d513f6801161c", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/lumpsum/page.tsx:89", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/lumpsum/page.tsx:89"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea47e7bb347b7709", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/salary/page.tsx:135", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/salary/page.tsx:135"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2db9226d9219018c", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/income-tax/page.tsx:157", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/income-tax/page.tsx:157"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f748cd00ef0a689f", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/hra-exemption/page.tsx:33", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/hra-exemption/page.tsx:33"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5cd373abec7ffb6e", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/gratuity/page.tsx:29", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/gratuity/page.tsx:29"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4ed9c22012f29087", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/pm-kisan-eligibility/page.tsx:76", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/pm-kisan-eligibility/page.tsx:76"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f7f2538d1a4d19fc", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/interest/page.tsx:92", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/interest/page.tsx:92"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3b193855f1c59695", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hi/scheme/[slug]/page.tsx:171", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hi/scheme/[slug]/page.tsx:171"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ef4d8be3db4ee309", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hi/update/[slug]/page.tsx:96", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hi/update/[slug]/page.tsx:96"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-23176aa586e3ebe5", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hi/guide/[slug]/page.tsx:115", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hi/guide/[slug]/page.tsx:115"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-45106a1f46db63f0", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/mr/guide/[slug]/page.tsx:105", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/mr/guide/[slug]/page.tsx:105"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dc9ef855a84725cd", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/eligibility/page.tsx:59", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/eligibility/page.tsx:59"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a44c031be64134f0", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/ta/guide/[slug]/page.tsx:103", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/ta/guide/[slug]/page.tsx:103"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-56d0bbb4acec3c53", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/or/guide/[slug]/page.tsx:105", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/or/guide/[slug]/page.tsx:105"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-96ff5349cebdd475", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/scheme/[slug]/page.tsx:190", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/scheme/[slug]/page.tsx:190"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8235a01c97674fd7", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/update/[slug]/page.tsx:249", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/update/[slug]/page.tsx:249"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b96de1e2e5fcd615", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/guide/[slug]/page.tsx:390", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/guide/[slug]/page.tsx:390"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-92869fa95b2f32f9", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/guide/[slug]/page.tsx:176", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/guide/[slug]/page.tsx:176"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-13caf647601ee60c", "name": "Insecure pattern 'node_child_process' in scripts/generate-scheme-guides.js:20", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/generate-scheme-guides.js:20"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-234082168a4a668d", "name": "Insecure pattern 'node_child_process' in scripts/audit-generated-content.mjs:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/audit-generated-content.mjs:4"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b04ae0d9c0076ded", "name": "Insecure pattern 'node_child_process' in scripts/daily-index-submit.js:13", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/daily-index-submit.js:13"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d78c8ca1552e3db7", "name": "Insecure pattern 'node_child_process' in scripts/google-index-submit.js:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/google-index-submit.js:17"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e8615f2830335d43", "name": "Insecure pattern 'node_child_process' in scripts/fetch-ifsc-data.ts:16", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/fetch-ifsc-data.ts:16"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fc46315461f62611", "name": "Insecure pattern 'node_child_process' in scripts/index-recent-content.mjs:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/index-recent-content.mjs:17"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c75c02d21010508b", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/layout.tsx:109", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/layout.tsx:109"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-306a71a0d646099e", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/ifsc/[bank]/page.tsx:69", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/ifsc/[bank]/page.tsx:69"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-23592baacf6ad8b1", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/ifsc/[bank]/[branch]/page.tsx:118", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/ifsc/[bank]/[branch]/page.tsx:118"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8e74d9c1c9bd3d36", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/hsn/page.tsx:51", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/hsn/page.tsx:51"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ccd2efd36b9c566b", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/hsn/[code]/page.tsx:80", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/hsn/[code]/page.tsx:80"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b1ff8c50924227a9", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/state/[state]/page.tsx:57", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/state/[state]/page.tsx:57"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eba0a04c15116679", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/updates/page.tsx:53", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/updates/page.tsx:53"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fab7463d68d87ae0", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/pincode/[state]/page.tsx:69", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/pincode/[state]/page.tsx:69"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cc4b26c27382b58b", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/pincode/[state]/[district]/page.tsx:58", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/pincode/[state]/[district]/page.tsx:58"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea2d6a9fac4028e5", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/pincode/[state]/[district]/[slug]/page.tsx:138", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/pincode/[state]/[district]/[slug]/page.tsx:138"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-68831fe37a5dbf25", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/kn/guide/[slug]/page.tsx:105", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/kn/guide/[slug]/page.tsx:105"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e90d90ab5a8fa33a", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/bank-holidays/page.tsx:357", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/bank-holidays/page.tsx:357"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bbbfbf8721325846", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/te/guide/[slug]/page.tsx:102", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/te/guide/[slug]/page.tsx:102"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-583c5f485fe014d7", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/bn/guide/[slug]/page.tsx:105", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/bn/guide/[slug]/page.tsx:105"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d74166309479b133", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/ml/guide/[slug]/page.tsx:102", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/ml/guide/[slug]/page.tsx:102"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3712d894f45beae4", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/gu/guide/[slug]/page.tsx:105", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/gu/guide/[slug]/page.tsx:105"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-47f2e0a8b608656b", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/page.tsx:235", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/page.tsx:235"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3ab21613de79c72a", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/mudra-loan-eligibility/page.tsx:74", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/mudra-loan-eligibility/page.tsx:74"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4f6dc89c36309d49", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/retirement/page.tsx:127", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/retirement/page.tsx:127"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5232f28c880e2aea", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/senior-citizen-pension-eligibility/page.tsx:76", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/senior-citizen-pension-eligibility/page.tsx:76"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b492a07ae7371cc8", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/old-vs-new-regime/page.tsx:142", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/old-vs-new-regime/page.tsx:142"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7af187b710ff65d5", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/ujjwala-yojana-eligibility/page.tsx:65", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/ujjwala-yojana-eligibility/page.tsx:65"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-60d2056ae4e067bc", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/atal-pension-yojana-eligibility/page.tsx:62", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/atal-pension-yojana-eligibility/page.tsx:62"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a1505aaaf306c374", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/epf/page.tsx:45", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/epf/page.tsx:45"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b45c10513e5bbade", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/emi/page.tsx:109", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/emi/page.tsx:109"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4c4ea378ed7ba51b", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/pm-awas-yojana-eligibility/page.tsx:81", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/pm-awas-yojana-eligibility/page.tsx:81"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-49a6048c72e6eddd", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/sukanya-samriddhi-eligibility/page.tsx:62", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/sukanya-samriddhi-eligibility/page.tsx:62"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-110898e2c6068bcc", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/car-loan/page.tsx:106", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/car-loan/page.tsx:106"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-38d69ab56e10d01f", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/home-loan-eligibility/page.tsx:77", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/home-loan-eligibility/page.tsx:77"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-db031e55c98bce7a", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/fd/page.tsx:84", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/fd/page.tsx:84"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b8abb19860cd755c", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/education-cost/page.tsx:102", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/education-cost/page.tsx:102"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-25c2765dcf6ce569", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/scheme-finder/page.tsx:340", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/scheme-finder/page.tsx:340"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c436a5379e0b0985", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/ayushman-bharat-eligibility/page.tsx:58", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/ayushman-bharat-eligibility/page.tsx:58"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d11fd168fb090d1", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/age-eligibility/page.tsx:234", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/age-eligibility/page.tsx:234"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-71ad21831f8ee403", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/ppf/page.tsx:79", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/ppf/page.tsx:79"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a0e03d1d1f87f381", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/sip/page.tsx:82", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/sip/page.tsx:82"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-913c4cfea313490e", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/sukanya-samriddhi/page.tsx:73", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/sukanya-samriddhi/page.tsx:73"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d98184b27d139147", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/nps/page.tsx:84", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/nps/page.tsx:84"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e3372de7a8fc5d1", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/gst/page.tsx:84", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/gst/page.tsx:84"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-67728a60d9f8ad13", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/job-eligibility/page.tsx:309", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/job-eligibility/page.tsx:309"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-56ec817a93f909e7", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/stamp-duty/page.tsx:41", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/stamp-duty/page.tsx:41"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ff52a9f97a0c7841", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/rent-receipt/page.tsx:87", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/rent-receipt/page.tsx:87"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c728aff16ef429c7", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/lumpsum/page.tsx:89", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/lumpsum/page.tsx:89"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6afa274acd7c58a4", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/salary/page.tsx:135", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/salary/page.tsx:135"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5c109f54c43d664a", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/income-tax/page.tsx:157", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/income-tax/page.tsx:157"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c4a70f20caf06c82", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/hra-exemption/page.tsx:33", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/hra-exemption/page.tsx:33"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8af3797463c197b7", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/gratuity/page.tsx:29", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/gratuity/page.tsx:29"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e7c7084620df71ed", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/pm-kisan-eligibility/page.tsx:76", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/pm-kisan-eligibility/page.tsx:76"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1ecb17ea6e360e3f", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/interest/page.tsx:92", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/interest/page.tsx:92"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1a5b975d7a630e47", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/hi/scheme/[slug]/page.tsx:171", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/hi/scheme/[slug]/page.tsx:171"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7a849f28ee5a521b", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/hi/update/[slug]/page.tsx:96", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/hi/update/[slug]/page.tsx:96"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1d604d4cb8c5f5e0", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/hi/guide/[slug]/page.tsx:115", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/hi/guide/[slug]/page.tsx:115"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b479cb22ad62e3d1", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/mr/guide/[slug]/page.tsx:105", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/mr/guide/[slug]/page.tsx:105"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-71c18218ccd101e5", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/eligibility/page.tsx:59", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/eligibility/page.tsx:59"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ed84ae569d20aa0c", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/ta/guide/[slug]/page.tsx:103", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/ta/guide/[slug]/page.tsx:103"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c1566911c58b3d3a", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/or/guide/[slug]/page.tsx:105", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/or/guide/[slug]/page.tsx:105"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-84c2c6e83fde47db", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/scheme/[slug]/page.tsx:190", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/scheme/[slug]/page.tsx:190"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8aa9481b4efbab1a", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/update/[slug]/page.tsx:249", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/update/[slug]/page.tsx:249"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7f5bc0968a36ce95", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/guide/[slug]/page.tsx:176", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/guide/[slug]/page.tsx:176"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-340d5f5fe5d51b02", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4.2.2 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-b7f4db92243e7fe7", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-49e69c9cb216bb6b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4.2.2 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-d7f7ce51ee77dcc4", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af212cc9be598099", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4.2.2 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-b6ab991f114d879f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a10951fd2b95af9c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4.2.2 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-193be32c3ad69262", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8c0579f3f70fecd7", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4.2.2 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-8a11a44759df6507", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-505d470b4d1b125b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4.2.2 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-7f56b37108fa4118", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-25350e3e29d9dfa2", "name": "Very large file: scripts/generate-updates-gemini.js (1612 lines)", "shortDescription": {"text": "Very large file: scripts/generate-updates-gemini.js (1612 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-8b57c617b26d4ecf", "name": "Very large file: workers/detection/index.mjs (2584 lines)", "shortDescription": {"text": "Very large file: workers/detection/index.mjs (2584 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-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "2 test file(s) for 227 source file(s) (ratio 0.01). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "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 416 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 67 placeholder/mock markers across 33 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-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-11825279136b53a3", "name": "CI is configured but no tests are detected", "shortDescription": {"text": "CI is configured but no tests are detected"}, "fullDescription": {"text": "A CI pipeline exists, but the scan found no test files to gate. Opus labeled this generated-code pattern as config theater: release machinery exists, but it has little behavioral signal."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, tests. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "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 license, tests. 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-2c5f98b152cddb6d", "name": "Agent authority lacks a verifier contract: .claude/launch.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/launch.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f0fa3e072b37ca7e", "name": "Commented-code block (8 lines) in open-next.config.ts:6", "shortDescription": {"text": "Commented-code block (8 lines) in open-next.config.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-0d226ec369eb0375", "name": "Commented-code block (7 lines) in next.config.ts:9", "shortDescription": {"text": "Commented-code block (7 lines) in next.config.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-6caa491567addec8", "name": "Commented-code block (5 lines) in scripts/generate-spike-pages.js:131", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/generate-spike-pages.js:131"}, "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-d49d9c47fe1ba653", "name": "Commented-code block (6 lines) in scripts/generate-sitemap.ts:163", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/generate-sitemap.ts:163"}, "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-cdda63c7e9a79b4a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/pinterest-post.js:85", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/pinterest-post.js:85"}, "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-fc7aae2e79b0f546", "name": "Commented-code block (6 lines) in scripts/scheme-dispatch-extract.mjs:2", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/scheme-dispatch-extract.mjs:2"}, "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-f0e68f0445a569e7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/generate-exam-cluster.mjs:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/generate-exam-cluster.mjs:34"}, "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-5aa6b70b7f3e9854", "name": "`fetch()` without try/.catch or AbortSignal \u2014 workers/detection/local-test.mjs:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workers/detection/local-test.mjs:28"}, "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-b20ac5b15fa96b16", "name": "`fetch()` without try/.catch or AbortSignal \u2014 workers/detection/deterministic-test.mjs:246", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workers/detection/deterministic-test.mjs:246"}, "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-874a3dcf855e518a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 workers/detection/index.mjs:136", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workers/detection/index.mjs: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-a9ba4376aaa98145", "name": "`fetch()` without try/.catch or AbortSignal \u2014 agents/trending-scan.js:74", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/trending-scan.js:74"}, "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-a96bb80f027574d6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 agents/pib-scanner.js:111", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/pib-scanner.js:111"}, "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-61d9543cc2a79b35", "name": "Legacy-named symbol `setOld` in src/app/calculator/old-vs-new-regime/page.tsx:131", "shortDescription": {"text": "Legacy-named symbol `setOld` in src/app/calculator/old-vs-new-regime/page.tsx:131"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4981ad49bb68f46", "name": "Legacy-named symbol `marginalCapOld` in src/app/calculator/income-tax/page.tsx:128", "shortDescription": {"text": "Legacy-named symbol `marginalCapOld` in src/app/calculator/income-tax/page.tsx:128"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-285dbfd092e8a612", "name": "Commented-code block (5 lines) in src/app/guide/[slug]/page.tsx:25", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/guide/[slug]/page.tsx:25"}, "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-7f7b6e831f88e202", "name": "Commented-code block (5 lines) in src/lib/affiliate.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/affiliate.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-aae56802fffc816e", "name": "Commented-code block (6 lines) in src/lib/schemes-data.ts:9", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/schemes-data.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}}]}}, "automationDetails": {"id": "repobility/18267"}, "properties": {"repository": "rmunna/sarkar-sahay", "repoUrl": "https://github.com/rmunna/sarkar-sahay", "branch": "main"}, "results": [{"ruleId": "scanner-18f0590bf575be3e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-web-stories.ts:200"}, "properties": {"repobilityId": "b6bb2e5a60069dba", "scanner": "scanner-primary", "fingerprint": "18f0590bf575be3e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9c838efef7343e00", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/submit-indexnow.js:55"}, "properties": {"repobilityId": "712bc0d2657c5e62", "scanner": "scanner-primary", "fingerprint": "9c838efef7343e00", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b44681b1d1d2095", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-spike-pages.js:55"}, "properties": {"repobilityId": "6d1618072329c82e", "scanner": "scanner-primary", "fingerprint": "6b44681b1d1d2095", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-35a73da8db2e8cd8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/notify-linkedin.js:140"}, "properties": {"repobilityId": "e528291f593a9173", "scanner": "scanner-primary", "fingerprint": "35a73da8db2e8cd8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ded81ef74f1612fa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-scheme-guides.js:70"}, "properties": {"repobilityId": "f2f2eecb2b586659", "scanner": "scanner-primary", "fingerprint": "ded81ef74f1612fa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5d5dd16131eff34a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-district-courts.ts:911"}, "properties": {"repobilityId": "851941cad4b95fb3", "scanner": "scanner-primary", "fingerprint": "5d5dd16131eff34a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-13d7a8f133b4b0f0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gsc-page-queries.js:56"}, "properties": {"repobilityId": "e10a5010d1b05bbe", "scanner": "scanner-primary", "fingerprint": "13d7a8f133b4b0f0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-feecc79b657335af", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-ecourts-codes.ts:100"}, "properties": {"repobilityId": "350bfaa1b5af8be6", "scanner": "scanner-primary", "fingerprint": "feecc79b657335af", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-88f77807d289970d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/notify-telegram.js:134"}, "properties": {"repobilityId": "d1003cfa551ef6c4", "scanner": "scanner-primary", "fingerprint": "88f77807d289970d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-568fcd1e9bbe1e2a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-sitemap.ts:297"}, "properties": {"repobilityId": "85d520a55de93028", "scanner": "scanner-primary", "fingerprint": "568fcd1e9bbe1e2a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-77fdbc85cd9844cc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/notify-facebook.js:139"}, "properties": {"repobilityId": "45a0afe46779a79a", "scanner": "scanner-primary", "fingerprint": "77fdbc85cd9844cc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-86953d066d939ae2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-gsc-indexing.js:125"}, "properties": {"repobilityId": "eacb64f2970cd8f2", "scanner": "scanner-primary", "fingerprint": "86953d066d939ae2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-af01c4aa26bd9770", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-updates-gemini.js:76"}, "properties": {"repobilityId": "d4d3cfa8aefee5a7", "scanner": "scanner-primary", "fingerprint": "af01c4aa26bd9770", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fd849d080f9b828c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-court-data.ts:911"}, "properties": {"repobilityId": "01eaae1b73b4e4e8", "scanner": "scanner-primary", "fingerprint": "fd849d080f9b828c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-67645b0715fe2e0e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/notify-reddit.js:51"}, "properties": {"repobilityId": "731b0f14731f807f", "scanner": "scanner-primary", "fingerprint": "67645b0715fe2e0e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a994100fb41a250c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/pinterest-post.js:96"}, "properties": {"repobilityId": "84820f4fe42dfbc5", "scanner": "scanner-primary", "fingerprint": "a994100fb41a250c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6586a81938536bf4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/daily-index-submit.js:37"}, "properties": {"repobilityId": "bf1b6c0608a871e1", "scanner": "scanner-primary", "fingerprint": "6586a81938536bf4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b35ac91812fe717", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/apply-evergreen-updates.js:229"}, "properties": {"repobilityId": "2181bad8c99ee9d2", "scanner": "scanner-primary", "fingerprint": "6b35ac91812fe717", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c3a599b30c927cf7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-hsn-data.ts:406"}, "properties": {"repobilityId": "dc0b7fdd530e2e26", "scanner": "scanner-primary", "fingerprint": "c3a599b30c927cf7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-72fef52050386810", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/google-index-submit.js:37"}, "properties": {"repobilityId": "68207848885decc1", "scanner": "scanner-primary", "fingerprint": "72fef52050386810", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6176b09cb43bea66", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-scheme-guide.js:219"}, "properties": {"repobilityId": "5d601ddd4000db85", "scanner": "scanner-primary", "fingerprint": "6176b09cb43bea66", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4acb6709786a4d84", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fetch-ifsc-data.ts:174"}, "properties": {"repobilityId": "57b79832ee07a465", "scanner": "scanner-primary", "fingerprint": "4acb6709786a4d84", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-269a01812ee66ddf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gsc-stats.js:99"}, "properties": {"repobilityId": "ca18762191d08df9", "scanner": "scanner-primary", "fingerprint": "269a01812ee66ddf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-368b3ecf46a84383", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-rto-data.ts:766"}, "properties": {"repobilityId": "a2e88f5a46cd487d", "scanner": "scanner-primary", "fingerprint": "368b3ecf46a84383", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-96c7c36da92dee5e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/notify-whatsapp.js:129"}, "properties": {"repobilityId": "29f595dc2b6343bf", "scanner": "scanner-primary", "fingerprint": "96c7c36da92dee5e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e1e468ea6bc1ddf0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/process-pincode-data.ts:97"}, "properties": {"repobilityId": "01d195c027de4133", "scanner": "scanner-primary", "fingerprint": "e1e468ea6bc1ddf0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6249552693a684fb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-50-stories.js:476"}, "properties": {"repobilityId": "69f855228f91947a", "scanner": "scanner-primary", "fingerprint": "6249552693a684fb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3c37811e83585f87", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/add-internal-links.js:36"}, "properties": {"repobilityId": "d3c1208b57288865", "scanner": "scanner-primary", "fingerprint": "3c37811e83585f87", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d838ba9f45da5612", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/check-external-links.js:103"}, "properties": {"repobilityId": "c298c23d369d8c5f", "scanner": "scanner-primary", "fingerprint": "d838ba9f45da5612", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8e971cdeeb117dd2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/gsc-report.js:149"}, "properties": {"repobilityId": "a8d6f192050a732f", "scanner": "scanner-primary", "fingerprint": "8e971cdeeb117dd2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ee8b33fe8e673aaa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/trending-scan.js:89"}, "properties": {"repobilityId": "be4239b878a9f136", "scanner": "scanner-primary", "fingerprint": "ee8b33fe8e673aaa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-24aa156bb6b59952", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/pib-scanner.js:202"}, "properties": {"repobilityId": "32442b1e0b1e2f0a", "scanner": "scanner-primary", "fingerprint": "24aa156bb6b59952", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-03e45aabcc19bdaf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/exam-site-monitor.js:90"}, "properties": {"repobilityId": "eedfd63edfdc7680", "scanner": "scanner-primary", "fingerprint": "03e45aabcc19bdaf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-79399e9c106e743b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/check-internal-links.js:56"}, "properties": {"repobilityId": "c68a0f4a3d1c3e40", "scanner": "scanner-primary", "fingerprint": "79399e9c106e743b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9500b75ec628f7a2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/qa-validate.js:278"}, "properties": {"repobilityId": "26ca3e561a3e6d8a", "scanner": "scanner-primary", "fingerprint": "9500b75ec628f7a2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4b8f932ac6fb5412", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/add-crosslinks.js:762"}, "properties": {"repobilityId": "c0ebd558c4abeb99", "scanner": "scanner-primary", "fingerprint": "4b8f932ac6fb5412", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-89dbfd0a7cc63dba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/qa-validate-update.js:170"}, "properties": {"repobilityId": "38ea2a6470562cb6", "scanner": "scanner-primary", "fingerprint": "89dbfd0a7cc63dba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d0af961b98fca838", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/post-tweet.js:88"}, "properties": {"repobilityId": "835e00fcf7ba732e", "scanner": "scanner-primary", "fingerprint": "d0af961b98fca838", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c6cb3b384fa89629", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 agents/qa-validate-calculators.js:21"}, "properties": {"repobilityId": "4ac565f68a8e0d18", "scanner": "scanner-primary", "fingerprint": "c6cb3b384fa89629", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e16f8143b05af800", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/IFSCSearchWidget.tsx:101"}, "properties": {"repobilityId": "105b0871d6d92fd1", "scanner": "scanner-primary", "fingerprint": "e16f8143b05af800", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b6538583e0889e32", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/layout.tsx:109"}, "properties": {"repobilityId": "0d72350965068f5b", "scanner": "scanner-primary", "fingerprint": "b6538583e0889e32", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-b3098c2017dd8a18", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/ifsc/[bank]/page.tsx:114"}, "properties": {"repobilityId": "357fb75d432a781b", "scanner": "scanner-primary", "fingerprint": "b3098c2017dd8a18", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4d9548802ef199f2", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/ifsc/[bank]/page.tsx:69"}, "properties": {"repobilityId": "f1d4bf7b02a64a6a", "scanner": "scanner-primary", "fingerprint": "4d9548802ef199f2", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-05bd013ad9f7af40", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/ifsc/[bank]/[branch]/page.tsx:118"}, "properties": {"repobilityId": "59f666cedc46c150", "scanner": "scanner-primary", "fingerprint": "05bd013ad9f7af40", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-d589976f2fd7764d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/hsn/page.tsx:83"}, "properties": {"repobilityId": "46937d30e10c4ca0", "scanner": "scanner-primary", "fingerprint": "d589976f2fd7764d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6e3e9aa553b9d0bd", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hsn/page.tsx:51"}, "properties": {"repobilityId": "ac244a7ba8b4153d", "scanner": "scanner-primary", "fingerprint": "6e3e9aa553b9d0bd", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-12785deefbcc6829", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hsn/[code]/page.tsx:80"}, "properties": {"repobilityId": "b3649319606eaa4c", "scanner": "scanner-primary", "fingerprint": "12785deefbcc6829", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-c8cdcf0c8cc89cbf", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/state/[state]/page.tsx:57"}, "properties": {"repobilityId": "cf8c427950636a4b", "scanner": "scanner-primary", "fingerprint": "c8cdcf0c8cc89cbf", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-7b68788373caa226", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/updates/page.tsx:53"}, "properties": {"repobilityId": "4814649ac2d00be0", "scanner": "scanner-primary", "fingerprint": "7b68788373caa226", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-4cd18c81af6c37d1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/pincode/[state]/page.tsx:141"}, "properties": {"repobilityId": "f99d29b244dce61e", "scanner": "scanner-primary", "fingerprint": "4cd18c81af6c37d1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1c227a8bf1c0513a", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/pincode/[state]/page.tsx:69"}, "properties": {"repobilityId": "fb7b7ad22a83bc64", "scanner": "scanner-primary", "fingerprint": "1c227a8bf1c0513a", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-cf91241fe6ff56bf", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/pincode/[state]/[district]/page.tsx:58"}, "properties": {"repobilityId": "21c78cdf2b440048", "scanner": "scanner-primary", "fingerprint": "cf91241fe6ff56bf", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-3e84bcfdf76d7fc6", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/pincode/[state]/[district]/[slug]/page.tsx:270"}, "properties": {"repobilityId": "d5ba3421a4f0f66f", "scanner": "scanner-primary", "fingerprint": "3e84bcfdf76d7fc6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7997bdf8f3ad9966", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/pincode/[state]/[district]/[slug]/page.tsx:138"}, "properties": {"repobilityId": "f98e5bcf746725fd", "scanner": "scanner-primary", "fingerprint": "7997bdf8f3ad9966", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-56a308ce289d34a7", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/kn/guide/[slug]/page.tsx:105"}, "properties": {"repobilityId": "58b0a2f64cec4ab4", "scanner": "scanner-primary", "fingerprint": "56a308ce289d34a7", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-1d0318ac929ed7e7", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/bank-holidays/page.tsx:357"}, "properties": {"repobilityId": "fec3b919813d4734", "scanner": "scanner-primary", "fingerprint": "1d0318ac929ed7e7", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-42cd07a16f52ace1", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/te/guide/[slug]/page.tsx:102"}, "properties": {"repobilityId": "aa4f882bddedadd6", "scanner": "scanner-primary", "fingerprint": "42cd07a16f52ace1", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-3fe867c45f041caf", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/bn/guide/[slug]/page.tsx:105"}, "properties": {"repobilityId": "f8bc29a17150bcf4", "scanner": "scanner-primary", "fingerprint": "3fe867c45f041caf", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-10b7866148f3a964", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/ml/guide/[slug]/page.tsx:102"}, "properties": {"repobilityId": "daa7cc2b8115a8b0", "scanner": "scanner-primary", "fingerprint": "10b7866148f3a964", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-3a6b0dfe63ca965a", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/gu/guide/[slug]/page.tsx:105"}, "properties": {"repobilityId": "43b302fd5d4103e0", "scanner": "scanner-primary", "fingerprint": "3a6b0dfe63ca965a", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-eaea6c31b7b05a2a", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/page.tsx:235"}, "properties": {"repobilityId": "a9ba971b02122f7c", "scanner": "scanner-primary", "fingerprint": "eaea6c31b7b05a2a", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-1967ebdf0077eadb", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/mudra-loan-eligibility/page.tsx:74"}, "properties": {"repobilityId": "7e6b04c7b0ae0475", "scanner": "scanner-primary", "fingerprint": "1967ebdf0077eadb", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-0bb7c992799d029d", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/retirement/page.tsx:127"}, "properties": {"repobilityId": "b3a412ca2ad259b8", "scanner": "scanner-primary", "fingerprint": "0bb7c992799d029d", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-eea755e9958ea1bf", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/senior-citizen-pension-eligibility/page.tsx:76"}, "properties": {"repobilityId": "f2f17a97c38315e2", "scanner": "scanner-primary", "fingerprint": "eea755e9958ea1bf", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-136b877fa442b820", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/old-vs-new-regime/page.tsx:142"}, "properties": {"repobilityId": "a90c5db7e2167dde", "scanner": "scanner-primary", "fingerprint": "136b877fa442b820", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-9f2340bd715ba9b5", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/ujjwala-yojana-eligibility/page.tsx:65"}, "properties": {"repobilityId": "4fbc1eade4249f39", "scanner": "scanner-primary", "fingerprint": "9f2340bd715ba9b5", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-cec5f02e8f2a007a", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/atal-pension-yojana-eligibility/page.tsx:62"}, "properties": {"repobilityId": "71544b25a404b047", "scanner": "scanner-primary", "fingerprint": "cec5f02e8f2a007a", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-bce82f7e51169195", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/epf/page.tsx:45"}, "properties": {"repobilityId": "793e33ec98595220", "scanner": "scanner-primary", "fingerprint": "bce82f7e51169195", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-09595c110ee5ac8b", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/emi/page.tsx:109"}, "properties": {"repobilityId": "637b9257e4db21d0", "scanner": "scanner-primary", "fingerprint": "09595c110ee5ac8b", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-da386c4cccfb8879", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/pm-awas-yojana-eligibility/page.tsx:81"}, "properties": {"repobilityId": "c28f68b86f4a37fc", "scanner": "scanner-primary", "fingerprint": "da386c4cccfb8879", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-2f34739fdedff9e0", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/sukanya-samriddhi-eligibility/page.tsx:62"}, "properties": {"repobilityId": "0f25fca2ff872e2f", "scanner": "scanner-primary", "fingerprint": "2f34739fdedff9e0", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-d7b1736adb6bb401", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/car-loan/page.tsx:106"}, "properties": {"repobilityId": "f0503e24c41e87a4", "scanner": "scanner-primary", "fingerprint": "d7b1736adb6bb401", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-be78521e59c0dea5", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/home-loan-eligibility/page.tsx:77"}, "properties": {"repobilityId": "8cfacb4cdff57822", "scanner": "scanner-primary", "fingerprint": "be78521e59c0dea5", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-d7256aed40a06bd6", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/fd/page.tsx:84"}, "properties": {"repobilityId": "445bf1211ddc3a8b", "scanner": "scanner-primary", "fingerprint": "d7256aed40a06bd6", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-7e6107dde2817fbf", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/education-cost/page.tsx:102"}, "properties": {"repobilityId": "6bf43be9f1ae2b28", "scanner": "scanner-primary", "fingerprint": "7e6107dde2817fbf", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-d377ad8ae52f60c5", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/scheme-finder/page.tsx:340"}, "properties": {"repobilityId": "bd8badd7ce052926", "scanner": "scanner-primary", "fingerprint": "d377ad8ae52f60c5", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-3eeeaa4704b8b18d", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/ayushman-bharat-eligibility/page.tsx:58"}, "properties": {"repobilityId": "2d53c2f121bb63ce", "scanner": "scanner-primary", "fingerprint": "3eeeaa4704b8b18d", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-23b846ff7ad82c44", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/age-eligibility/page.tsx:234"}, "properties": {"repobilityId": "24e74ebc31fa0b68", "scanner": "scanner-primary", "fingerprint": "23b846ff7ad82c44", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-846c7558b23438fa", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/ppf/page.tsx:79"}, "properties": {"repobilityId": "41dd5114d99dcf6b", "scanner": "scanner-primary", "fingerprint": "846c7558b23438fa", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-fa26613c78c0bacb", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/sip/page.tsx:82"}, "properties": {"repobilityId": "db649938a7985354", "scanner": "scanner-primary", "fingerprint": "fa26613c78c0bacb", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-f89f168dc1b9e18f", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/sukanya-samriddhi/page.tsx:73"}, "properties": {"repobilityId": "dd6df39489ec2cc8", "scanner": "scanner-primary", "fingerprint": "f89f168dc1b9e18f", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-3b9281d46cae7b38", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/nps/page.tsx:84"}, "properties": {"repobilityId": "0aa764e8096cf305", "scanner": "scanner-primary", "fingerprint": "3b9281d46cae7b38", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-26fc9ad08d87431c", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/gst/page.tsx:84"}, "properties": {"repobilityId": "b204107852147129", "scanner": "scanner-primary", "fingerprint": "26fc9ad08d87431c", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-6590ea843381d7ec", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/job-eligibility/page.tsx:309"}, "properties": {"repobilityId": "c408d71bf3a616b9", "scanner": "scanner-primary", "fingerprint": "6590ea843381d7ec", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-bc2e3554df10dcc2", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/stamp-duty/page.tsx:41"}, "properties": {"repobilityId": "6fbfd5273a6518a5", "scanner": "scanner-primary", "fingerprint": "bc2e3554df10dcc2", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-d6df51eaee25e5e1", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/rent-receipt/page.tsx:87"}, "properties": {"repobilityId": "3e93f5e321985543", "scanner": "scanner-primary", "fingerprint": "d6df51eaee25e5e1", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-d40d513f6801161c", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/lumpsum/page.tsx:89"}, "properties": {"repobilityId": "a44cd59193ed47e7", "scanner": "scanner-primary", "fingerprint": "d40d513f6801161c", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-ea47e7bb347b7709", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/salary/page.tsx:135"}, "properties": {"repobilityId": "0798096a4964a4ef", "scanner": "scanner-primary", "fingerprint": "ea47e7bb347b7709", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-2db9226d9219018c", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/income-tax/page.tsx:157"}, "properties": {"repobilityId": "cbd74ee4b0fab520", "scanner": "scanner-primary", "fingerprint": "2db9226d9219018c", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-f748cd00ef0a689f", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/hra-exemption/page.tsx:33"}, "properties": {"repobilityId": "3ce1aa002af2f251", "scanner": "scanner-primary", "fingerprint": "f748cd00ef0a689f", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-5cd373abec7ffb6e", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/gratuity/page.tsx:29"}, "properties": {"repobilityId": "55eb2da9281f87e4", "scanner": "scanner-primary", "fingerprint": "5cd373abec7ffb6e", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-4ed9c22012f29087", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/pm-kisan-eligibility/page.tsx:76"}, "properties": {"repobilityId": "622df5a11c0378a7", "scanner": "scanner-primary", "fingerprint": "4ed9c22012f29087", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-f7f2538d1a4d19fc", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/calculator/interest/page.tsx:92"}, "properties": {"repobilityId": "b86106b079ff570d", "scanner": "scanner-primary", "fingerprint": "f7f2538d1a4d19fc", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-3b193855f1c59695", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hi/scheme/[slug]/page.tsx:171"}, "properties": {"repobilityId": "c4dc327d544d729f", "scanner": "scanner-primary", "fingerprint": "3b193855f1c59695", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-ef4d8be3db4ee309", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hi/update/[slug]/page.tsx:96"}, "properties": {"repobilityId": "29c44ea3442c7cb7", "scanner": "scanner-primary", "fingerprint": "ef4d8be3db4ee309", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-23176aa586e3ebe5", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/hi/guide/[slug]/page.tsx:115"}, "properties": {"repobilityId": "299e63f917b09660", "scanner": "scanner-primary", "fingerprint": "23176aa586e3ebe5", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-45106a1f46db63f0", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/mr/guide/[slug]/page.tsx:105"}, "properties": {"repobilityId": "4fa739af6a1a7abd", "scanner": "scanner-primary", "fingerprint": "45106a1f46db63f0", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-dc9ef855a84725cd", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/eligibility/page.tsx:59"}, "properties": {"repobilityId": "bcc74032e7839fd0", "scanner": "scanner-primary", "fingerprint": "dc9ef855a84725cd", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-a44c031be64134f0", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/ta/guide/[slug]/page.tsx:103"}, "properties": {"repobilityId": "106bad356c9dd2c7", "scanner": "scanner-primary", "fingerprint": "a44c031be64134f0", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-56d0bbb4acec3c53", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/or/guide/[slug]/page.tsx:105"}, "properties": {"repobilityId": "d1c3686c5b22709b", "scanner": "scanner-primary", "fingerprint": "56d0bbb4acec3c53", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-96ff5349cebdd475", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/scheme/[slug]/page.tsx:190"}, "properties": {"repobilityId": "fb5b016d21808bd6", "scanner": "scanner-primary", "fingerprint": "96ff5349cebdd475", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-8235a01c97674fd7", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/update/[slug]/page.tsx:249"}, "properties": {"repobilityId": "74a28a1ec1f5de58", "scanner": "scanner-primary", "fingerprint": "8235a01c97674fd7", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-b96de1e2e5fcd615", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/guide/[slug]/page.tsx:390"}, "properties": {"repobilityId": "6b477a743e148bcd", "scanner": "scanner-primary", "fingerprint": "b96de1e2e5fcd615", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-92869fa95b2f32f9", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/guide/[slug]/page.tsx:176"}, "properties": {"repobilityId": "cf0a997e7fda6a11", "scanner": "scanner-primary", "fingerprint": "92869fa95b2f32f9", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-13caf647601ee60c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/generate-scheme-guides.js:20"}, "properties": {"repobilityId": "66646879817a6fed", "scanner": "scanner-primary", "fingerprint": "13caf647601ee60c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/generate-scheme-guides.js"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-234082168a4a668d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/audit-generated-content.mjs:4"}, "properties": {"repobilityId": "aef67abdc7ce286e", "scanner": "scanner-primary", "fingerprint": "234082168a4a668d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/audit-generated-content.mjs"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-b04ae0d9c0076ded", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/daily-index-submit.js:13"}, "properties": {"repobilityId": "bf5f335792166475", "scanner": "scanner-primary", "fingerprint": "b04ae0d9c0076ded", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/daily-index-submit.js"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-d78c8ca1552e3db7", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/google-index-submit.js:17"}, "properties": {"repobilityId": "4391070638040b95", "scanner": "scanner-primary", "fingerprint": "d78c8ca1552e3db7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/google-index-submit.js"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-e8615f2830335d43", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/fetch-ifsc-data.ts:16"}, "properties": {"repobilityId": "cf77f67cc8966a8e", "scanner": "scanner-primary", "fingerprint": "e8615f2830335d43", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fetch-ifsc-data.ts"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-fc46315461f62611", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/index-recent-content.mjs:17"}, "properties": {"repobilityId": "aa918df7267ad6b8", "scanner": "scanner-primary", "fingerprint": "fc46315461f62611", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/index-recent-content.mjs"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-c75c02d21010508b", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/layout.tsx:109"}, "properties": {"repobilityId": "0bca654fa2052eb0", "scanner": "scanner-primary", "fingerprint": "c75c02d21010508b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/layout.tsx"}, "region": {"startLine": 109}}}]}, {"ruleId": "scanner-306a71a0d646099e", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/ifsc/[bank]/page.tsx:69"}, "properties": {"repobilityId": "e061b30654334112", "scanner": "scanner-primary", "fingerprint": "306a71a0d646099e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/ifsc/[bank]/page.tsx"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-23592baacf6ad8b1", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/ifsc/[bank]/[branch]/page.tsx:118"}, "properties": {"repobilityId": "e2d6926612f82737", "scanner": "scanner-primary", "fingerprint": "23592baacf6ad8b1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/ifsc/[bank]/[branch]/page.tsx"}, "region": {"startLine": 118}}}]}, {"ruleId": "scanner-8e74d9c1c9bd3d36", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/hsn/page.tsx:51"}, "properties": {"repobilityId": "13a9f9e91e2fbfb3", "scanner": "scanner-primary", "fingerprint": "8e74d9c1c9bd3d36", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/hsn/page.tsx"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-ccd2efd36b9c566b", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/hsn/[code]/page.tsx:80"}, "properties": {"repobilityId": "0244590a8ac1aff9", "scanner": "scanner-primary", "fingerprint": "ccd2efd36b9c566b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/hsn/[code]/page.tsx"}, "region": {"startLine": 80}}}]}, {"ruleId": "scanner-b1ff8c50924227a9", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/state/[state]/page.tsx:57"}, "properties": {"repobilityId": "be946847e070c111", "scanner": "scanner-primary", "fingerprint": "b1ff8c50924227a9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/state/[state]/page.tsx"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-eba0a04c15116679", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/updates/page.tsx:53"}, "properties": {"repobilityId": "441154db1f8f7a5d", "scanner": "scanner-primary", "fingerprint": "eba0a04c15116679", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/updates/page.tsx"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-fab7463d68d87ae0", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/pincode/[state]/page.tsx:69"}, "properties": {"repobilityId": "5f558b6fc921c5af", "scanner": "scanner-primary", "fingerprint": "fab7463d68d87ae0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/pincode/[state]/page.tsx"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-cc4b26c27382b58b", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/pincode/[state]/[district]/page.tsx:58"}, "properties": {"repobilityId": "6c61fa9b55b9adb2", "scanner": "scanner-primary", "fingerprint": "cc4b26c27382b58b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/pincode/[state]/[district]/page.tsx"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-ea2d6a9fac4028e5", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/pincode/[state]/[district]/[slug]/page.tsx:138"}, "properties": {"repobilityId": "3e74c539e438a68d", "scanner": "scanner-primary", "fingerprint": "ea2d6a9fac4028e5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/pincode/[state]/[district]/[slug]/page.tsx"}, "region": {"startLine": 138}}}]}, {"ruleId": "scanner-68831fe37a5dbf25", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/kn/guide/[slug]/page.tsx:105"}, "properties": {"repobilityId": "f05ae7ede60f015b", "scanner": "scanner-primary", "fingerprint": "68831fe37a5dbf25", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/kn/guide/[slug]/page.tsx"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-e90d90ab5a8fa33a", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/bank-holidays/page.tsx:357"}, "properties": {"repobilityId": "20f62a1557b9c9c3", "scanner": "scanner-primary", "fingerprint": "e90d90ab5a8fa33a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/bank-holidays/page.tsx"}, "region": {"startLine": 357}}}]}, {"ruleId": "scanner-bbbfbf8721325846", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/te/guide/[slug]/page.tsx:102"}, "properties": {"repobilityId": "cd9cfc330bc636a6", "scanner": "scanner-primary", "fingerprint": "bbbfbf8721325846", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/te/guide/[slug]/page.tsx"}, "region": {"startLine": 102}}}]}, {"ruleId": "scanner-583c5f485fe014d7", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/bn/guide/[slug]/page.tsx:105"}, "properties": {"repobilityId": "2f15d97845a1e8f2", "scanner": "scanner-primary", "fingerprint": "583c5f485fe014d7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/bn/guide/[slug]/page.tsx"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-d74166309479b133", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/ml/guide/[slug]/page.tsx:102"}, "properties": {"repobilityId": "2ec9537bf11df777", "scanner": "scanner-primary", "fingerprint": "d74166309479b133", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/ml/guide/[slug]/page.tsx"}, "region": {"startLine": 102}}}]}, {"ruleId": "scanner-3712d894f45beae4", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/gu/guide/[slug]/page.tsx:105"}, "properties": {"repobilityId": "8d49c68293a5def4", "scanner": "scanner-primary", "fingerprint": "3712d894f45beae4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/gu/guide/[slug]/page.tsx"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-47f2e0a8b608656b", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/page.tsx:235"}, "properties": {"repobilityId": "06cc16819244a3b2", "scanner": "scanner-primary", "fingerprint": "47f2e0a8b608656b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/page.tsx"}, "region": {"startLine": 235}}}]}, {"ruleId": "scanner-3ab21613de79c72a", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/mudra-loan-eligibility/page.tsx:74"}, "properties": {"repobilityId": "86404c879c2fbd06", "scanner": "scanner-primary", "fingerprint": "3ab21613de79c72a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/mudra-loan-eligibility/page.tsx"}, "region": {"startLine": 74}}}]}, {"ruleId": "scanner-4f6dc89c36309d49", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/retirement/page.tsx:127"}, "properties": {"repobilityId": "06249036e2150173", "scanner": "scanner-primary", "fingerprint": "4f6dc89c36309d49", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/retirement/page.tsx"}, "region": {"startLine": 127}}}]}, {"ruleId": "scanner-5232f28c880e2aea", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/senior-citizen-pension-eligibility/page.tsx:76"}, "properties": {"repobilityId": "922268f17b275d22", "scanner": "scanner-primary", "fingerprint": "5232f28c880e2aea", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/senior-citizen-pension-eligibility/page.tsx"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-b492a07ae7371cc8", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/old-vs-new-regime/page.tsx:142"}, "properties": {"repobilityId": "cc653b8facb74e74", "scanner": "scanner-primary", "fingerprint": "b492a07ae7371cc8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/old-vs-new-regime/page.tsx"}, "region": {"startLine": 142}}}]}, {"ruleId": "scanner-7af187b710ff65d5", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/ujjwala-yojana-eligibility/page.tsx:65"}, "properties": {"repobilityId": "bb4d543f511d3d3d", "scanner": "scanner-primary", "fingerprint": "7af187b710ff65d5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/ujjwala-yojana-eligibility/page.tsx"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-60d2056ae4e067bc", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/atal-pension-yojana-eligibility/page.tsx:62"}, "properties": {"repobilityId": "15cfba0144369a45", "scanner": "scanner-primary", "fingerprint": "60d2056ae4e067bc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/atal-pension-yojana-eligibility/page.tsx"}, "region": {"startLine": 62}}}]}, {"ruleId": "scanner-a1505aaaf306c374", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/epf/page.tsx:45"}, "properties": {"repobilityId": "9598e82bdcd8d67c", "scanner": "scanner-primary", "fingerprint": "a1505aaaf306c374", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/epf/page.tsx"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-b45c10513e5bbade", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/emi/page.tsx:109"}, "properties": {"repobilityId": "e64a05050690f717", "scanner": "scanner-primary", "fingerprint": "b45c10513e5bbade", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/emi/page.tsx"}, "region": {"startLine": 109}}}]}, {"ruleId": "scanner-4c4ea378ed7ba51b", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/pm-awas-yojana-eligibility/page.tsx:81"}, "properties": {"repobilityId": "da66cb4e18c8b7b7", "scanner": "scanner-primary", "fingerprint": "4c4ea378ed7ba51b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/pm-awas-yojana-eligibility/page.tsx"}, "region": {"startLine": 81}}}]}, {"ruleId": "scanner-49a6048c72e6eddd", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/sukanya-samriddhi-eligibility/page.tsx:62"}, "properties": {"repobilityId": "c007b18c7dec38d7", "scanner": "scanner-primary", "fingerprint": "49a6048c72e6eddd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/sukanya-samriddhi-eligibility/page.tsx"}, "region": {"startLine": 62}}}]}, {"ruleId": "scanner-110898e2c6068bcc", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/car-loan/page.tsx:106"}, "properties": {"repobilityId": "228c3ac8d2547b8f", "scanner": "scanner-primary", "fingerprint": "110898e2c6068bcc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/car-loan/page.tsx"}, "region": {"startLine": 106}}}]}, {"ruleId": "scanner-38d69ab56e10d01f", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/home-loan-eligibility/page.tsx:77"}, "properties": {"repobilityId": "38815f6f530b7401", "scanner": "scanner-primary", "fingerprint": "38d69ab56e10d01f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/home-loan-eligibility/page.tsx"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-db031e55c98bce7a", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/fd/page.tsx:84"}, "properties": {"repobilityId": "34ab0b2d5949a7d4", "scanner": "scanner-primary", "fingerprint": "db031e55c98bce7a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/fd/page.tsx"}, "region": {"startLine": 84}}}]}, {"ruleId": "scanner-b8abb19860cd755c", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/education-cost/page.tsx:102"}, "properties": {"repobilityId": "1e341103a58b3ef6", "scanner": "scanner-primary", "fingerprint": "b8abb19860cd755c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/education-cost/page.tsx"}, "region": {"startLine": 102}}}]}, {"ruleId": "scanner-25c2765dcf6ce569", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/scheme-finder/page.tsx:340"}, "properties": {"repobilityId": "00d89803bf99353b", "scanner": "scanner-primary", "fingerprint": "25c2765dcf6ce569", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/scheme-finder/page.tsx"}, "region": {"startLine": 340}}}]}, {"ruleId": "scanner-c436a5379e0b0985", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/ayushman-bharat-eligibility/page.tsx:58"}, "properties": {"repobilityId": "501fbbe66be7b093", "scanner": "scanner-primary", "fingerprint": "c436a5379e0b0985", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/ayushman-bharat-eligibility/page.tsx"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-4d11fd168fb090d1", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/age-eligibility/page.tsx:234"}, "properties": {"repobilityId": "650adcc5c02c07fe", "scanner": "scanner-primary", "fingerprint": "4d11fd168fb090d1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/age-eligibility/page.tsx"}, "region": {"startLine": 234}}}]}, {"ruleId": "scanner-71ad21831f8ee403", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/ppf/page.tsx:79"}, "properties": {"repobilityId": "1829f1b9f93875fa", "scanner": "scanner-primary", "fingerprint": "71ad21831f8ee403", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/ppf/page.tsx"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-a0e03d1d1f87f381", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/sip/page.tsx:82"}, "properties": {"repobilityId": "9da0a369d1a72d40", "scanner": "scanner-primary", "fingerprint": "a0e03d1d1f87f381", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/sip/page.tsx"}, "region": {"startLine": 82}}}]}, {"ruleId": "scanner-913c4cfea313490e", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/sukanya-samriddhi/page.tsx:73"}, "properties": {"repobilityId": "b3f138dfff661975", "scanner": "scanner-primary", "fingerprint": "913c4cfea313490e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/sukanya-samriddhi/page.tsx"}, "region": {"startLine": 73}}}]}, {"ruleId": "scanner-d98184b27d139147", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/nps/page.tsx:84"}, "properties": {"repobilityId": "6a8416bc507ec1b9", "scanner": "scanner-primary", "fingerprint": "d98184b27d139147", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/nps/page.tsx"}, "region": {"startLine": 84}}}]}, {"ruleId": "scanner-3e3372de7a8fc5d1", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/gst/page.tsx:84"}, "properties": {"repobilityId": "8b34ec2d4bf8bbff", "scanner": "scanner-primary", "fingerprint": "3e3372de7a8fc5d1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/gst/page.tsx"}, "region": {"startLine": 84}}}]}, {"ruleId": "scanner-67728a60d9f8ad13", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/job-eligibility/page.tsx:309"}, "properties": {"repobilityId": "4d844bb649ce7104", "scanner": "scanner-primary", "fingerprint": "67728a60d9f8ad13", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/job-eligibility/page.tsx"}, "region": {"startLine": 309}}}]}, {"ruleId": "scanner-56ec817a93f909e7", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/stamp-duty/page.tsx:41"}, "properties": {"repobilityId": "8643a7f697c590c1", "scanner": "scanner-primary", "fingerprint": "56ec817a93f909e7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/stamp-duty/page.tsx"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-ff52a9f97a0c7841", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/rent-receipt/page.tsx:87"}, "properties": {"repobilityId": "c0baa8e2ddf2ff03", "scanner": "scanner-primary", "fingerprint": "ff52a9f97a0c7841", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/rent-receipt/page.tsx"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-c728aff16ef429c7", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/lumpsum/page.tsx:89"}, "properties": {"repobilityId": "7dbbb82af662e094", "scanner": "scanner-primary", "fingerprint": "c728aff16ef429c7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/lumpsum/page.tsx"}, "region": {"startLine": 89}}}]}, {"ruleId": "scanner-6afa274acd7c58a4", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/salary/page.tsx:135"}, "properties": {"repobilityId": "288f5e2ff4e9d44c", "scanner": "scanner-primary", "fingerprint": "6afa274acd7c58a4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/salary/page.tsx"}, "region": {"startLine": 135}}}]}, {"ruleId": "scanner-5c109f54c43d664a", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/income-tax/page.tsx:157"}, "properties": {"repobilityId": "6687655c1d96763f", "scanner": "scanner-primary", "fingerprint": "5c109f54c43d664a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/income-tax/page.tsx"}, "region": {"startLine": 157}}}]}, {"ruleId": "scanner-c4a70f20caf06c82", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/hra-exemption/page.tsx:33"}, "properties": {"repobilityId": "f89a3037488c663a", "scanner": "scanner-primary", "fingerprint": "c4a70f20caf06c82", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/hra-exemption/page.tsx"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-8af3797463c197b7", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/gratuity/page.tsx:29"}, "properties": {"repobilityId": "926da849a3978ed2", "scanner": "scanner-primary", "fingerprint": "8af3797463c197b7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/gratuity/page.tsx"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-e7c7084620df71ed", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/pm-kisan-eligibility/page.tsx:76"}, "properties": {"repobilityId": "d84f14f99ccf401e", "scanner": "scanner-primary", "fingerprint": "e7c7084620df71ed", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/pm-kisan-eligibility/page.tsx"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-1ecb17ea6e360e3f", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/calculator/interest/page.tsx:92"}, "properties": {"repobilityId": "b41b3aa50a1048f2", "scanner": "scanner-primary", "fingerprint": "1ecb17ea6e360e3f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/calculator/interest/page.tsx"}, "region": {"startLine": 92}}}]}, {"ruleId": "scanner-1a5b975d7a630e47", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/hi/scheme/[slug]/page.tsx:171"}, "properties": {"repobilityId": "ac67334e78216b8d", "scanner": "scanner-primary", "fingerprint": "1a5b975d7a630e47", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/hi/scheme/[slug]/page.tsx"}, "region": {"startLine": 171}}}]}, {"ruleId": "scanner-7a849f28ee5a521b", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/hi/update/[slug]/page.tsx:96"}, "properties": {"repobilityId": "f0d9e5b99e0c828c", "scanner": "scanner-primary", "fingerprint": "7a849f28ee5a521b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/hi/update/[slug]/page.tsx"}, "region": {"startLine": 96}}}]}, {"ruleId": "scanner-1d604d4cb8c5f5e0", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/hi/guide/[slug]/page.tsx:115"}, "properties": {"repobilityId": "ffeb8c8025e6e6ea", "scanner": "scanner-primary", "fingerprint": "1d604d4cb8c5f5e0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/hi/guide/[slug]/page.tsx"}, "region": {"startLine": 115}}}]}, {"ruleId": "scanner-b479cb22ad62e3d1", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/mr/guide/[slug]/page.tsx:105"}, "properties": {"repobilityId": "36ac06f5a1050a19", "scanner": "scanner-primary", "fingerprint": "b479cb22ad62e3d1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/mr/guide/[slug]/page.tsx"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-71c18218ccd101e5", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/eligibility/page.tsx:59"}, "properties": {"repobilityId": "b0e833e4efe83cc8", "scanner": "scanner-primary", "fingerprint": "71c18218ccd101e5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/eligibility/page.tsx"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-ed84ae569d20aa0c", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/ta/guide/[slug]/page.tsx:103"}, "properties": {"repobilityId": "238900a9c3f6b789", "scanner": "scanner-primary", "fingerprint": "ed84ae569d20aa0c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/ta/guide/[slug]/page.tsx"}, "region": {"startLine": 103}}}]}, {"ruleId": "scanner-c1566911c58b3d3a", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/or/guide/[slug]/page.tsx:105"}, "properties": {"repobilityId": "b29df129ea518b0d", "scanner": "scanner-primary", "fingerprint": "c1566911c58b3d3a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/or/guide/[slug]/page.tsx"}, "region": {"startLine": 105}}}]}, {"ruleId": "scanner-84c2c6e83fde47db", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/scheme/[slug]/page.tsx:190"}, "properties": {"repobilityId": "05320e63ba206339", "scanner": "scanner-primary", "fingerprint": "84c2c6e83fde47db", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/scheme/[slug]/page.tsx"}, "region": {"startLine": 190}}}]}, {"ruleId": "scanner-8aa9481b4efbab1a", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/update/[slug]/page.tsx:249"}, "properties": {"repobilityId": "7219c4e00d1c8648", "scanner": "scanner-primary", "fingerprint": "8aa9481b4efbab1a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/update/[slug]/page.tsx"}, "region": {"startLine": 249}}}]}, {"ruleId": "scanner-7f5bc0968a36ce95", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/guide/[slug]/page.tsx:176"}, "properties": {"repobilityId": "dcdbeedc799eda57", "scanner": "scanner-primary", "fingerprint": "7f5bc0968a36ce95", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/guide/[slug]/page.tsx"}, "region": {"startLine": 176}}}]}, {"ruleId": "scanner-340d5f5fe5d51b02", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1741d7aed3e0eab9", "scanner": "scanner-primary", "fingerprint": "340d5f5fe5d51b02", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/spike-detector.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-340d5f5fe5d51b02", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e0395d109f7ac31c", "scanner": "scanner-primary", "fingerprint": "340d5f5fe5d51b02", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/spike-detector.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-b7f4db92243e7fe7", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3b34fd7fb16f6821", "scanner": "scanner-primary", "fingerprint": "b7f4db92243e7fe7", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/spike-detector.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-49e69c9cb216bb6b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0c6eacd601cbc2e3", "scanner": "scanner-primary", "fingerprint": "49e69c9cb216bb6b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/evergreen-update-publisher.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-49e69c9cb216bb6b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8023f95010c22575", "scanner": "scanner-primary", "fingerprint": "49e69c9cb216bb6b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/evergreen-update-publisher.yml"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-d7f7ce51ee77dcc4", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "36b7d7bde37e369c", "scanner": "scanner-primary", "fingerprint": "d7f7ce51ee77dcc4", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/evergreen-update-publisher.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-af212cc9be598099", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "abd74911d24e2f58", "scanner": "scanner-primary", "fingerprint": "af212cc9be598099", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/scheme-detector.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-af212cc9be598099", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9c23f4e7bc20f916", "scanner": "scanner-primary", "fingerprint": "af212cc9be598099", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/scheme-detector.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-b6ab991f114d879f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "97e4ccc4eff996e1", "scanner": "scanner-primary", "fingerprint": "b6ab991f114d879f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/scheme-detector.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a10951fd2b95af9c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "eb09dafd07f6447f", "scanner": "scanner-primary", "fingerprint": "a10951fd2b95af9c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/exam-monitor.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-a10951fd2b95af9c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7507f0d51dc20cd3", "scanner": "scanner-primary", "fingerprint": "a10951fd2b95af9c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/exam-monitor.yml"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-193be32c3ad69262", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "051803beeae2e603", "scanner": "scanner-primary", "fingerprint": "193be32c3ad69262", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/exam-monitor.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8c0579f3f70fecd7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2f5594e4d1916092", "scanner": "scanner-primary", "fingerprint": "8c0579f3f70fecd7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cloudflare-detection-publisher.yml"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-8c0579f3f70fecd7", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "22e11cbe0b57edb9", "scanner": "scanner-primary", "fingerprint": "8c0579f3f70fecd7", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cloudflare-detection-publisher.yml"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-8a11a44759df6507", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "755b465d109adbe0", "scanner": "scanner-primary", "fingerprint": "8a11a44759df6507", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cloudflare-detection-publisher.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-505d470b4d1b125b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ed237aab5009eb45", "scanner": "scanner-primary", "fingerprint": "505d470b4d1b125b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/index-on-push.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-505d470b4d1b125b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e087613077972245", "scanner": "scanner-primary", "fingerprint": "505d470b4d1b125b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/index-on-push.yml"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-7f56b37108fa4118", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3a8217c20eb4d33c", "scanner": "scanner-primary", "fingerprint": "7f56b37108fa4118", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/index-on-push.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-25350e3e29d9dfa2", "level": "note", "message": {"text": "Very large file: scripts/generate-updates-gemini.js (1612 lines)"}, "properties": {"repobilityId": "83a70dd489d3142e", "scanner": "scanner-primary", "fingerprint": "25350e3e29d9dfa2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8b57c617b26d4ecf", "level": "note", "message": {"text": "Very large file: workers/detection/index.mjs (2584 lines)"}, "properties": {"repobilityId": "a8e30227260d9e19", "scanner": "scanner-primary", "fingerprint": "8b57c617b26d4ecf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "ff17f12a36184bf5", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "d22afb36486f092d", "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": "837ac2c3a717d4a7", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "a782ffd5d762be24", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-11825279136b53a3", "level": "warning", "message": {"text": "CI is configured but no tests are detected"}, "properties": {"repobilityId": "f98cd5dc0177f001", "scanner": "scanner-primary", "fingerprint": "11825279136b53a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "ci", "config-theater", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "d117ecaf05189cd3", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "7f9a6e17b864b061", "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": "446d2b4d49c61f84", "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": "48ba06434e1b1818", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-2c5f98b152cddb6d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/launch.json"}, "properties": {"repobilityId": "0de48c0f4ab303d8", "scanner": "scanner-primary", "fingerprint": "2c5f98b152cddb6d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/launch.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f0fa3e072b37ca7e", "level": "none", "message": {"text": "Commented-code block (8 lines) in open-next.config.ts:6"}, "properties": {"repobilityId": "ddb15924aff2bbe6", "scanner": "scanner-primary", "fingerprint": "f0fa3e072b37ca7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d226ec369eb0375", "level": "none", "message": {"text": "Commented-code block (7 lines) in next.config.ts:9"}, "properties": {"repobilityId": "a78b5a8f31a4364b", "scanner": "scanner-primary", "fingerprint": "0d226ec369eb0375", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6caa491567addec8", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/generate-spike-pages.js:131"}, "properties": {"repobilityId": "f900cc61d4c22dd2", "scanner": "scanner-primary", "fingerprint": "6caa491567addec8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d49d9c47fe1ba653", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/generate-sitemap.ts:163"}, "properties": {"repobilityId": "01be2ddad0eff359", "scanner": "scanner-primary", "fingerprint": "d49d9c47fe1ba653", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cdda63c7e9a79b4a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/pinterest-post.js:85"}, "properties": {"repobilityId": "70235faa478386cb", "scanner": "scanner-primary", "fingerprint": "cdda63c7e9a79b4a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fc7aae2e79b0f546", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/scheme-dispatch-extract.mjs:2"}, "properties": {"repobilityId": "4bb5d4acd3f0173e", "scanner": "scanner-primary", "fingerprint": "fc7aae2e79b0f546", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0e68f0445a569e7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/generate-exam-cluster.mjs:34"}, "properties": {"repobilityId": "4282fa2576fe26a5", "scanner": "scanner-primary", "fingerprint": "f0e68f0445a569e7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5aa6b70b7f3e9854", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workers/detection/local-test.mjs:28"}, "properties": {"repobilityId": "e5666fe130d79d05", "scanner": "scanner-primary", "fingerprint": "5aa6b70b7f3e9854", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b20ac5b15fa96b16", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workers/detection/deterministic-test.mjs:246"}, "properties": {"repobilityId": "d6f4ba2fe4506f70", "scanner": "scanner-primary", "fingerprint": "b20ac5b15fa96b16", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-874a3dcf855e518a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 workers/detection/index.mjs:136"}, "properties": {"repobilityId": "93f82c5184f84a24", "scanner": "scanner-primary", "fingerprint": "874a3dcf855e518a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a9ba4376aaa98145", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/trending-scan.js:74"}, "properties": {"repobilityId": "bfed5054291c3b1a", "scanner": "scanner-primary", "fingerprint": "a9ba4376aaa98145", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a96bb80f027574d6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 agents/pib-scanner.js:111"}, "properties": {"repobilityId": "aaa2b3fee179f5fc", "scanner": "scanner-primary", "fingerprint": "a96bb80f027574d6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-61d9543cc2a79b35", "level": "note", "message": {"text": "Legacy-named symbol `setOld` in src/app/calculator/old-vs-new-regime/page.tsx:131"}, "properties": {"repobilityId": "46bb720c0d4a8753", "scanner": "scanner-primary", "fingerprint": "61d9543cc2a79b35", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f4981ad49bb68f46", "level": "note", "message": {"text": "Legacy-named symbol `marginalCapOld` in src/app/calculator/income-tax/page.tsx:128"}, "properties": {"repobilityId": "3572d050daefaf1c", "scanner": "scanner-primary", "fingerprint": "f4981ad49bb68f46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-285dbfd092e8a612", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/guide/[slug]/page.tsx:25"}, "properties": {"repobilityId": "2bfcd3391b2b5e55", "scanner": "scanner-primary", "fingerprint": "285dbfd092e8a612", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f7b6e831f88e202", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/affiliate.ts:8"}, "properties": {"repobilityId": "5b35e109fe6a1d4c", "scanner": "scanner-primary", "fingerprint": "7f7b6e831f88e202", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aae56802fffc816e", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/schemes-data.ts:9"}, "properties": {"repobilityId": "4a421d62bf71d962", "scanner": "scanner-primary", "fingerprint": "aae56802fffc816e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}