{"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-59c6e0084f6d6ab4", "name": "Stray `console.log` in TS/JS \u2014 scripts/prepare-c4-wordmark-morph.js:906", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/prepare-c4-wordmark-morph.js:906"}, "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-2e34d0fa29b11385", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/c4/FileUpload.jsx:142", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/c4/FileUpload.jsx:142"}, "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-cfc493da020d3e86", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/ui/chart.jsx:61", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/ui/chart.jsx:61"}, "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-53f848a9f86c4481", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SoftwareProduct.jsx:241", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SoftwareProduct.jsx:241"}, "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-923277424c54cc8f", "name": "`truncate` class without `title=` for hover reveal \u2014 src/pages/ServiceWeb.jsx:191", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/ServiceWeb.jsx:191"}, "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-61a4366e54c18642", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgei", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-d58ebe0cd8c18daa", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfo", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-4d03b23f73eef25f", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgei", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-e5866f71b8dde0ad", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-590d8bcbc6a3ea6c", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldm", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-52025e84b46eabb0", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-c45958e1dd8b6d49", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeik", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-04db75a1a5cf8b48", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfog", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-7554684955533ed5", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeik", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-437e82bb57228425", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeik", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-b01c56709bcaab3f", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfog", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-ad68d19bf55473a7", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeik", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-1b552a8475804e9a", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/f", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-ff63bae48b7dabbe", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmn", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-4fabf6898f560f8d", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/f", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-8382108deaa8fb40", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdch", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-21bfb171b7c39daa", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-d21590da3c09136f", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdch", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-293edcc6f46d1548", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeik", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-3daa6b7ab5804e60", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfog", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-e7d6dbe282d8a0c2", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeik", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-f6732b4bdd6f6de4", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcd", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-a736dafc1b3b76b1", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-70f8d7edc13ffc57", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcd", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-8d522eb2fe5266a7", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgei", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-b315fe8069c63b44", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfo", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-f2516b407bb76f38", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgei", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-24ec91029c165ba2", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgei", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-d4cbf5c797f7f980", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfo", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-48e2850f1c55dde1", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgei", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-e33da5cb8fdb98b7", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgei", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-4af6dd1756d4512d", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfo", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-aafb57659b7dd5fd", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgei", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-2616404cdc8791b4", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphg", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-4e6bfa6a28c2c73b", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfbl", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-0e924e205753afc3", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphg", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-15fe3b66e6e7873e", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcd", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "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-d891561cd95324ad", "name": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-e81c32c25633bd6a", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcd", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "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-976437785824b109", "name": "Insecure pattern 'direct_innerhtml_assignment' in C4-Lens-Landing.html:694", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in C4-Lens-Landing.html:694"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-25efa2648730992b", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/components/lens/SplitTextReveal.jsx:56", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/components/lens/SplitTextReveal.jsx:56"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-24fda2f1df3872b0", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/ui/chart.jsx:61", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/ui/chart.jsx:61"}, "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-38bed6b18a4c9374", "name": "Insecure pattern 'cors_wildcard' in functions/api/create-checkout-session.js:60", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in functions/api/create-checkout-session.js:60"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0d0c8639cdec5caf", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-final2/edge-profile/Default/Extensions/jmjflgjpcp", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-final2/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8efdcb8be49e7c08", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-final2/edge-profile-debug/Default/Extensions/jmjf", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-final2/edge-profile-debug/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0758714011b2eff5", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-final/edge-profile/Default/Extensions/jmjflgjpcpe", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-final/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-49e5f33cdb3a664d", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-valid/edge-profile/Default/Extensions/jmjflgjpcpe", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-valid/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b8178f755aa4ef3a", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/jmjfl", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5b97f0039ad03a9e", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile/Default/Extensions/jmjflgjpcpepeafmm", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f582a6b9d303ab28", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile-debug/Default/Extensions/jmjflgjpcpe", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile-debug/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6610781f76429d55", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile-2/Default/Extensions/jmjflgjpcpepeaf", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile-2/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a73bce2dc49e8847", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile-rerun2/Default/Extensions/jmjflgjpcp", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile-rerun2/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b580d6794c0099ed", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile-rerun3/Default/Extensions/jmjflgjpcp", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile-rerun3/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9df87e58f03bee0c", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-stable/edge-profile/Default/Extensions/jmjflgjpcp", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-stable/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ab9cb354640227fa", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-domclick/edge-profile/Default/Extensions/jmjflgjp", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-domclick/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-26d7fe2916fc5f58", "name": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-2/edge-profile/Default/Extensions/jmjflgjpcpepeaf", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-2/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9b37744a06523bf6", "name": "Very large file: src/components/portfolio/caseStudyData.jsx (1108 lines)", "shortDescription": {"text": "Very large file: src/components/portfolio/caseStudyData.jsx (1108 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-417de288c07eaa4e", "name": "Very large file: src/pages/Lens.jsx (1830 lines)", "shortDescription": {"text": "Very large file: src/pages/Lens.jsx (1830 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": "4 test file(s) for 458 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 90 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 306 placeholder/mock markers across 23 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-ecb0d2c55ed6875d", "name": "Agent authority lacks a verifier contract: .claude/settings.local.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/settings.local.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-ad0341ddb67f4f37", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/api/submissions.js:46", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/api/submissions.js:46"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d66ef505e135b99d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/inquiries.js:140", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/inquiries.js:140"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fb8231f2343e1a48", "name": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/create-checkout-session.js:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/create-checkout-session.js:32"}, "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-3e87dcf9276773cd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/ventures.js:153", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/ventures.js:153"}, "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-f7e14b241fdc2048", "name": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/stripe-webhook.js:22", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/stripe-webhook.js:22"}, "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-44a0b2bd3cb00bb4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/support.js:138", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/support.js:138"}, "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-a03f96a8531d2d7b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/waitlist.js:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/waitlist.js:24"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8f9c4fac11452d0b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/contact.js:48", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/contact.js:48"}, "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-e818389f8c44e33c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/footer-proof-final2.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/footer-proof-final2.mjs:3"}, "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-e5ffa8824c00c1e3", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmn", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-71fd43984bba4246", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-ea782618d603fb7d", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaoch", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-dcf279c6a770ff37", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmn", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-c53220a6405716ed", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-d4e45b1f382c8d57", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-b24bce93789eadc3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-b3e4f1899995b828", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaoch", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-317994d9618ed7dc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikp", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-da6993042c0280e2", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdc", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-0922edc8ca1bf720", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaoch", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-5cacc64b86312336", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikp", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-2aa7de5476ea2254", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikp", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-81e22aa27906005b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikp", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-bbae0f9e0b11c9e7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/footer-proof-final.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/footer-proof-final.mjs:3"}, "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-e87c6c359b21b10d", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnf", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-c56ea32b77d88a34", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdchea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-6c06ede255257354", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-1b1e5b950409dd64", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnf", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-3a2500bc473e7e15", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdchea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-15b46848a9473a1d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdchea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-6d8de7bba258524d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdchea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-769c87e2477536d6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/footer-proof-valid.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/footer-proof-valid.mjs:3"}, "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-afc950b6b16ee0f9", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnf", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-b6978dd134e1f9d6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdchea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-fc9925447d52687e", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-858292454bff72fa", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnf", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-919ac92033a5b25b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdchea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-7e9fa2bfeab50cc6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdchea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-8684f98bd074ff9d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdchea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-6813bcc47ca4d5b6", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-b5c7082841422ac7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpd", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-feaf8b0461791c96", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdch", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-c75dc17ce6c38bf6", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-1f22420d602a21a8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpd", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-822507970f0d5c2a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpd", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-d0647e656037d894", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpd", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-a25be1cd7fbe8248", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/footer-debug.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/footer-debug.mjs:3"}, "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-9d865ac59a5c59a6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/footer-proof.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/footer-proof.mjs:3"}, "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-18819b6291cddae1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/footer-sequence-proof.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/footer-sequence-proof.mjs:3"}, "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-4bb9cff0e89069de", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogl", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-f04e73f9d12a04d5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhl", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-e61455c011084d3f", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnf", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-dc138fc516981cc6", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogl", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-5031bd319bfa65ec", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhl", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-251354fbab83c0f7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhl", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-de1ae7933e5d1982", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhl", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-de6c1da73565d0bd", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnf", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-a7657a8a909248d0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdchea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-541702b7c45e9528", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-2a87d6742ebb1b23", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnf", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-4d3bcc232779dd5e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdchea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-324cce6d1db41e59", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdchea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-40ab358c54b7ded4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdchea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-ad46156fa3de8e32", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfo", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-862d61a3a36e35d7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-0849270ec17e14fe", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldm", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-ad7be07d76e80904", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfo", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-7b4ed79663d006ed", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-2bc8d6120b3a703c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-44c11f2dc334a2e4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-38334ac2b7320910", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmn", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-07a3b3451bfa51b6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-ec3b1d21addfdc60", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaoch", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-15ee62cb5613a9d9", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmn", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-602ddb4e5277b5f2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-cf18183ed4ce7e21", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-dce2d81ea07338e9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-9c41b82fa0134f4d", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmn", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-3def8a3f3f7a9d77", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-772c97fac43720f6", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaoch", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-a31188168365e728", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmn", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-a8eab4f408a1fc7b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-bdb8bc1febdbcd52", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-79abb6855c8def54", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-885ea56303c6fe62", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/footer-proof-stable.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/footer-proof-stable.mjs:3"}, "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-53c6d551336c0e26", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmn", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-48bfd7021341b63a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-9a683169df55f04b", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaoch", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-ed5495f6b5a1b1d9", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmn", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-9aa571032ca108e0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-5db357fe549ed756", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-40a3f5eb9083e7f3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdche", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-25617c4389121998", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/footer-proof-domclick.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/footer-proof-domclick.mjs:3"}, "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-b77e7c36b39d2317", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhld", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-2b976e133dfcb0d9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdc", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-77b2961d244844db", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheao", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-fef53d08d263f405", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhld", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-e6529aa4785beb4d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdc", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-a62b85fe0d0528d5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdc", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-b0a055b38494c29e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdc", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-6e656400d8ffdd48", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/footer-proof-no-reload.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/footer-proof-no-reload.mjs:3"}, "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-d08891b67bff3dae", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfo", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "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-abc7a0afa902169d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "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-fe715e257469ce13", "name": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldm", "shortDescription": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "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-3126704d58e718ba", "name": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfo", "shortDescription": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "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-6dcd764ba937067f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "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-1564dd31b31a4a40", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "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-9fe8556873654fec", "name": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochk", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "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-50e194968e13c573", "name": "Frontend route `/StartProject` has no Link/navigate to it \u2014 src/App.jsx", "shortDescription": {"text": "Frontend route `/StartProject` has no Link/navigate to it \u2014 src/App.jsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cbf02529e42c18e9", "name": "Dangling fetch: POST https://challenges.cloudflare.com/turnstile/v0/siteverify (functions/api/inquiries.js:140)", "shortDescription": {"text": "Dangling fetch: POST https://challenges.cloudflare.com/turnstile/v0/siteverify (functions/api/inquiries.js:140)"}, "fullDescription": {"text": "`functions/api/inquiries.js:140` calls `POST https://challenges.cloudflare.com/turnstile/v0/siteverify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/challenges.cloudflare.com/turnstile/v0/siteverify`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-de60f0b9fc1f539e", "name": "Dangling fetch: POST https://api.resend.com/emails (functions/api/inquiries.js:187)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/inquiries.js:187)"}, "fullDescription": {"text": "`functions/api/inquiries.js:187` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3b3befe43497e67d", "name": "Dangling fetch: POST https://api.stripe.com/v1/checkout/sessions (functions/api/create-checkout-session.js:32)", "shortDescription": {"text": "Dangling fetch: POST https://api.stripe.com/v1/checkout/sessions (functions/api/create-checkout-session.js:32)"}, "fullDescription": {"text": "`functions/api/create-checkout-session.js:32` calls `POST https://api.stripe.com/v1/checkout/sessions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.stripe.com/v1/checkout/sessions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-475d835b4484b6a9", "name": "Dangling fetch: POST https://challenges.cloudflare.com/turnstile/v0/siteverify (functions/api/ventures.js:153)", "shortDescription": {"text": "Dangling fetch: POST https://challenges.cloudflare.com/turnstile/v0/siteverify (functions/api/ventures.js:153)"}, "fullDescription": {"text": "`functions/api/ventures.js:153` calls `POST https://challenges.cloudflare.com/turnstile/v0/siteverify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/challenges.cloudflare.com/turnstile/v0/siteverify`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9dea8e22cef5de89", "name": "Dangling fetch: POST https://api.resend.com/emails (functions/api/ventures.js:200)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/ventures.js:200)"}, "fullDescription": {"text": "`functions/api/ventures.js:200` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2cfb037ebda2cf0d", "name": "Dangling fetch: POST https://api.resend.com/emails (functions/api/stripe-webhook.js:22)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/stripe-webhook.js:22)"}, "fullDescription": {"text": "`functions/api/stripe-webhook.js:22` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-90915c94cc5f7f49", "name": "Dangling fetch: POST https://challenges.cloudflare.com/turnstile/v0/siteverify (functions/api/support.js:138)", "shortDescription": {"text": "Dangling fetch: POST https://challenges.cloudflare.com/turnstile/v0/siteverify (functions/api/support.js:138)"}, "fullDescription": {"text": "`functions/api/support.js:138` calls `POST https://challenges.cloudflare.com/turnstile/v0/siteverify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/challenges.cloudflare.com/turnstile/v0/siteverify`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-83d5138df3ddbd5c", "name": "Dangling fetch: POST https://api.resend.com/emails (functions/api/support.js:185)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/support.js:185)"}, "fullDescription": {"text": "`functions/api/support.js:185` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7af21ee02ba14710", "name": "Dangling fetch: POST https://api.resend.com/emails (functions/api/waitlist.js:24)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/waitlist.js:24)"}, "fullDescription": {"text": "`functions/api/waitlist.js:24` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-62a56bce175c8918", "name": "Dangling fetch: POST https://api.resend.com/emails (functions/api/waitlist.js:45)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/waitlist.js:45)"}, "fullDescription": {"text": "`functions/api/waitlist.js:45` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8846d8c2b7eb677a", "name": "Dangling fetch: POST https://api.resend.com/emails (functions/api/contact.js:48)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/contact.js:48)"}, "fullDescription": {"text": "`functions/api/contact.js:48` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-19a1a46befe3d6a6", "name": "Unused endpoint: DELETE ", "shortDescription": {"text": "Unused endpoint: DELETE "}, "fullDescription": {"text": "`reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js` declares `DELETE ` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/24802"}, "properties": {"repository": "calebscott1892-bot/C4", "repoUrl": "https://github.com/calebscott1892-bot/C4", "branch": "main"}, "results": [{"ruleId": "scanner-59c6e0084f6d6ab4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/prepare-c4-wordmark-morph.js:906"}, "properties": {"repobilityId": "873b25f2446d2e17", "scanner": "scanner-primary", "fingerprint": "59c6e0084f6d6ab4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2e34d0fa29b11385", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/c4/FileUpload.jsx:142"}, "properties": {"repobilityId": "3fae08a4d055c723", "scanner": "scanner-primary", "fingerprint": "2e34d0fa29b11385", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-cfc493da020d3e86", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/ui/chart.jsx:61"}, "properties": {"repobilityId": "06741639d6020e8c", "scanner": "scanner-primary", "fingerprint": "cfc493da020d3e86", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-53f848a9f86c4481", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/SoftwareProduct.jsx:241"}, "properties": {"repobilityId": "db2828ddf4e7df0f", "scanner": "scanner-primary", "fingerprint": "53f848a9f86c4481", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-923277424c54cc8f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/pages/ServiceWeb.jsx:191"}, "properties": {"repobilityId": "b272a7b82a611b83", "scanner": "scanner-primary", "fingerprint": "923277424c54cc8f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-61a4366e54c18642", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "581c74d84dd5f9e9", "scanner": "scanner-primary", "fingerprint": "61a4366e54c18642", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-d58ebe0cd8c18daa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "3090e79c4ba6ef8a", "scanner": "scanner-primary", "fingerprint": "d58ebe0cd8c18daa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4d03b23f73eef25f", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "89c41e1ff9d020b2", "scanner": "scanner-primary", "fingerprint": "4d03b23f73eef25f", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-e5866f71b8dde0ad", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "c04f68d86b4588fc", "scanner": "scanner-primary", "fingerprint": "e5866f71b8dde0ad", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-590d8bcbc6a3ea6c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "7681532fb4e103d1", "scanner": "scanner-primary", "fingerprint": "590d8bcbc6a3ea6c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-52025e84b46eabb0", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "287d5cb3fce1509e", "scanner": "scanner-primary", "fingerprint": "52025e84b46eabb0", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-c45958e1dd8b6d49", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "a7066d1bcf822893", "scanner": "scanner-primary", "fingerprint": "c45958e1dd8b6d49", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-04db75a1a5cf8b48", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "88728975076b8272", "scanner": "scanner-primary", "fingerprint": "04db75a1a5cf8b48", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7554684955533ed5", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "8ffa8d2668e2515f", "scanner": "scanner-primary", "fingerprint": "7554684955533ed5", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-437e82bb57228425", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "fffcf061d2376e44", "scanner": "scanner-primary", "fingerprint": "437e82bb57228425", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-b01c56709bcaab3f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "4473a2182a11b665", "scanner": "scanner-primary", "fingerprint": "b01c56709bcaab3f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ad68d19bf55473a7", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "2a25f89fe4d7b8ae", "scanner": "scanner-primary", "fingerprint": "ad68d19bf55473a7", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-1b552a8475804e9a", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "b5f639938b7f9f4d", "scanner": "scanner-primary", "fingerprint": "1b552a8475804e9a", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-ff63bae48b7dabbe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "5b41f5abd68aeb65", "scanner": "scanner-primary", "fingerprint": "ff63bae48b7dabbe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4fabf6898f560f8d", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "01dbd7400193986b", "scanner": "scanner-primary", "fingerprint": "4fabf6898f560f8d", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-8382108deaa8fb40", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "0b647ca6e67414bc", "scanner": "scanner-primary", "fingerprint": "8382108deaa8fb40", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-21bfb171b7c39daa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "57211e2cd86bf63a", "scanner": "scanner-primary", "fingerprint": "21bfb171b7c39daa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d21590da3c09136f", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "fc8488bfb4dc5e03", "scanner": "scanner-primary", "fingerprint": "d21590da3c09136f", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-293edcc6f46d1548", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "0e70f808b1f1b796", "scanner": "scanner-primary", "fingerprint": "293edcc6f46d1548", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-3daa6b7ab5804e60", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "5178bd5a5e966e1b", "scanner": "scanner-primary", "fingerprint": "3daa6b7ab5804e60", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e7d6dbe282d8a0c2", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "3919139f723e9e66", "scanner": "scanner-primary", "fingerprint": "e7d6dbe282d8a0c2", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-f6732b4bdd6f6de4", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "085102f09b518b53", "scanner": "scanner-primary", "fingerprint": "f6732b4bdd6f6de4", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-a736dafc1b3b76b1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "548de76804b9ae5d", "scanner": "scanner-primary", "fingerprint": "a736dafc1b3b76b1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-70f8d7edc13ffc57", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "7088adecf0129328", "scanner": "scanner-primary", "fingerprint": "70f8d7edc13ffc57", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-8d522eb2fe5266a7", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "bb46f6c889d7bfb0", "scanner": "scanner-primary", "fingerprint": "8d522eb2fe5266a7", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-b315fe8069c63b44", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "c24f70142be2fb48", "scanner": "scanner-primary", "fingerprint": "b315fe8069c63b44", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f2516b407bb76f38", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "c255ef86a32202f1", "scanner": "scanner-primary", "fingerprint": "f2516b407bb76f38", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-24ec91029c165ba2", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "1c27e5007784bc95", "scanner": "scanner-primary", "fingerprint": "24ec91029c165ba2", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-d4cbf5c797f7f980", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "c3c0430b5d80c99c", "scanner": "scanner-primary", "fingerprint": "d4cbf5c797f7f980", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-48e2850f1c55dde1", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "a0e3a484a273ffe6", "scanner": "scanner-primary", "fingerprint": "48e2850f1c55dde1", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-e33da5cb8fdb98b7", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "cdf94ecee89dd48c", "scanner": "scanner-primary", "fingerprint": "e33da5cb8fdb98b7", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-4af6dd1756d4512d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "6d739de3cc13384e", "scanner": "scanner-primary", "fingerprint": "4af6dd1756d4512d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aafb57659b7dd5fd", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "71ce923ce56b6f3c", "scanner": "scanner-primary", "fingerprint": "aafb57659b7dd5fd", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-2616404cdc8791b4", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "df90cc687c80193c", "scanner": "scanner-primary", "fingerprint": "2616404cdc8791b4", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-4e6bfa6a28c2c73b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "e61b66e8353784c2", "scanner": "scanner-primary", "fingerprint": "4e6bfa6a28c2c73b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0e924e205753afc3", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "c5082e01059b0a55", "scanner": "scanner-primary", "fingerprint": "0e924e205753afc3", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-15fe3b66e6e7873e", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:9"}, "properties": {"repobilityId": "22c42fc57ccc23b5", "scanner": "scanner-primary", "fingerprint": "15fe3b66e6e7873e", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-d891561cd95324ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "9816e9464de3401f", "scanner": "scanner-primary", "fingerprint": "d891561cd95324ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e81c32c25633bd6a", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/uiMain.bundle.js:9"}, "properties": {"repobilityId": "9f168a8727e7c8eb", "scanner": "scanner-primary", "fingerprint": "e81c32c25633bd6a", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-976437785824b109", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in C4-Lens-Landing.html:694"}, "properties": {"repobilityId": "3b6767cfdcc772bd", "scanner": "scanner-primary", "fingerprint": "976437785824b109", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "C4-Lens-Landing.html"}, "region": {"startLine": 694}}}]}, {"ruleId": "scanner-25efa2648730992b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/components/lens/SplitTextReveal.jsx:56"}, "properties": {"repobilityId": "02b3f43b24d539a3", "scanner": "scanner-primary", "fingerprint": "25efa2648730992b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/lens/SplitTextReveal.jsx"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-24fda2f1df3872b0", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/ui/chart.jsx:61"}, "properties": {"repobilityId": "b0b8211549be2e15", "scanner": "scanner-primary", "fingerprint": "24fda2f1df3872b0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/ui/chart.jsx"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-38bed6b18a4c9374", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in functions/api/create-checkout-session.js:60"}, "properties": {"repobilityId": "70c5bcb33a3eb72c", "scanner": "scanner-primary", "fingerprint": "38bed6b18a4c9374", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "functions/api/create-checkout-session.js"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-0d0c8639cdec5caf", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-final2/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "9462513df3bd5961", "scanner": "scanner-primary", "fingerprint": "0d0c8639cdec5caf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof-final2/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8efdcb8be49e7c08", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-final2/edge-profile-debug/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "7b1397c523b0380f", "scanner": "scanner-primary", "fingerprint": "8efdcb8be49e7c08", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof-final2/edge-profile-debug/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0758714011b2eff5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-final/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "b19222b641850ac2", "scanner": "scanner-primary", "fingerprint": "0758714011b2eff5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof-final/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-49e5f33cdb3a664d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-valid/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "2db8af380e5dd24d", "scanner": "scanner-primary", "fingerprint": "49e5f33cdb3a664d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof-valid/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b8178f755aa4ef3a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "a3c1650e7502a986", "scanner": "scanner-primary", "fingerprint": "b8178f755aa4ef3a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5b97f0039ad03a9e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "86baad39153dc027", "scanner": "scanner-primary", "fingerprint": "5b97f0039ad03a9e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f582a6b9d303ab28", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile-debug/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "4166da126d80b3fc", "scanner": "scanner-primary", "fingerprint": "f582a6b9d303ab28", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof/edge-profile-debug/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6610781f76429d55", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile-2/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "73597851785f1819", "scanner": "scanner-primary", "fingerprint": "6610781f76429d55", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof/edge-profile-2/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a73bce2dc49e8847", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile-rerun2/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "682efd5731ad20d0", "scanner": "scanner-primary", "fingerprint": "a73bce2dc49e8847", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof/edge-profile-rerun2/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b580d6794c0099ed", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof/edge-profile-rerun3/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "b081903d331936a6", "scanner": "scanner-primary", "fingerprint": "b580d6794c0099ed", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof/edge-profile-rerun3/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9df87e58f03bee0c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-stable/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "c86133fe6f70e45f", "scanner": "scanner-primary", "fingerprint": "9df87e58f03bee0c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof-stable/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ab9cb354640227fa", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-domclick/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "732f7e1bea6c42bd", "scanner": "scanner-primary", "fingerprint": "ab9cb354640227fa", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof-domclick/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-26d7fe2916fc5f58", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in reports/footer-proof-2/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js:1"}, "properties": {"repobilityId": "58bd7f3e147ad5fe", "scanner": "scanner-primary", "fingerprint": "26d7fe2916fc5f58", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reports/footer-proof-2/edge-profile/Default/Extensions/jmjflgjpcpepeafmmgdpfkogkghcpiha/1.2.1_0/content_new.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9b37744a06523bf6", "level": "note", "message": {"text": "Very large file: src/components/portfolio/caseStudyData.jsx (1108 lines)"}, "properties": {"repobilityId": "d1143018fdbc9617", "scanner": "scanner-primary", "fingerprint": "9b37744a06523bf6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-417de288c07eaa4e", "level": "note", "message": {"text": "Very large file: src/pages/Lens.jsx (1830 lines)"}, "properties": {"repobilityId": "4f042ce4d0aebf0f", "scanner": "scanner-primary", "fingerprint": "417de288c07eaa4e", "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": "ea8c00acbb1d397e", "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": "0c7b2939069ea29b", "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": "8e1791fb23c5b4ad", "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": "bf6e8e44d5faf1f4", "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": "6a7bbbf8f2cc4b4c", "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": "5af020e347f5f1a6", "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": "bc3402b912056114", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ecb0d2c55ed6875d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/settings.local.json"}, "properties": {"repobilityId": "d8bae33a6d517bf0", "scanner": "scanner-primary", "fingerprint": "ecb0d2c55ed6875d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.local.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ad0341ddb67f4f37", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/api/submissions.js:46"}, "properties": {"repobilityId": "c2f3acc3c1016868", "scanner": "scanner-primary", "fingerprint": "ad0341ddb67f4f37", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d66ef505e135b99d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/inquiries.js:140"}, "properties": {"repobilityId": "78ef6c1c7245aa18", "scanner": "scanner-primary", "fingerprint": "d66ef505e135b99d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fb8231f2343e1a48", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/create-checkout-session.js:32"}, "properties": {"repobilityId": "0b2649405a64ab0e", "scanner": "scanner-primary", "fingerprint": "fb8231f2343e1a48", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3e87dcf9276773cd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/ventures.js:153"}, "properties": {"repobilityId": "2c2ab64d87c5e4b7", "scanner": "scanner-primary", "fingerprint": "3e87dcf9276773cd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f7e14b241fdc2048", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/stripe-webhook.js:22"}, "properties": {"repobilityId": "ae5b28f32c206b53", "scanner": "scanner-primary", "fingerprint": "f7e14b241fdc2048", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-44a0b2bd3cb00bb4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/support.js:138"}, "properties": {"repobilityId": "3c1b7670f4f35e90", "scanner": "scanner-primary", "fingerprint": "44a0b2bd3cb00bb4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a03f96a8531d2d7b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/waitlist.js:24"}, "properties": {"repobilityId": "e7c4315a5decf127", "scanner": "scanner-primary", "fingerprint": "a03f96a8531d2d7b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8f9c4fac11452d0b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 functions/api/contact.js:48"}, "properties": {"repobilityId": "a28fce1e7ec59a4f", "scanner": "scanner-primary", "fingerprint": "8f9c4fac11452d0b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e818389f8c44e33c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/footer-proof-final2.mjs:3"}, "properties": {"repobilityId": "61660df826af77cb", "scanner": "scanner-primary", "fingerprint": "e818389f8c44e33c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e5ffa8824c00c1e3", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "373bb01ab9a7b915", "scanner": "scanner-primary", "fingerprint": "e5ffa8824c00c1e3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-71fd43984bba4246", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "d2455d48cd7f6ac1", "scanner": "scanner-primary", "fingerprint": "71fd43984bba4246", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ea782618d603fb7d", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "7379a907ff683346", "scanner": "scanner-primary", "fingerprint": "ea782618d603fb7d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dcf279c6a770ff37", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "8e418bbcdc6cfbb8", "scanner": "scanner-primary", "fingerprint": "dcf279c6a770ff37", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c53220a6405716ed", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "4d5268cb26e891ef", "scanner": "scanner-primary", "fingerprint": "c53220a6405716ed", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d4e45b1f382c8d57", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "ec62571b6c6db115", "scanner": "scanner-primary", "fingerprint": "d4e45b1f382c8d57", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b24bce93789eadc3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "f87d30dfe23549be", "scanner": "scanner-primary", "fingerprint": "b24bce93789eadc3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b3e4f1899995b828", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "1bc8587bfe945452", "scanner": "scanner-primary", "fingerprint": "b3e4f1899995b828", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-317994d9618ed7dc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "968df94040151f41", "scanner": "scanner-primary", "fingerprint": "317994d9618ed7dc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-da6993042c0280e2", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "f69e51f16ac2004c", "scanner": "scanner-primary", "fingerprint": "da6993042c0280e2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0922edc8ca1bf720", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "41e034d62d668819", "scanner": "scanner-primary", "fingerprint": "0922edc8ca1bf720", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5cacc64b86312336", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "de1b785f375230b8", "scanner": "scanner-primary", "fingerprint": "5cacc64b86312336", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2aa7de5476ea2254", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "488248565089671f", "scanner": "scanner-primary", "fingerprint": "2aa7de5476ea2254", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-81e22aa27906005b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final2/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "e301035f74823eae", "scanner": "scanner-primary", "fingerprint": "81e22aa27906005b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bbae0f9e0b11c9e7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/footer-proof-final.mjs:3"}, "properties": {"repobilityId": "6ae1d41bd9a43fa7", "scanner": "scanner-primary", "fingerprint": "bbae0f9e0b11c9e7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e87c6c359b21b10d", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "f7000556d9a18ac4", "scanner": "scanner-primary", "fingerprint": "e87c6c359b21b10d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c56ea32b77d88a34", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "5942f5bfd350258b", "scanner": "scanner-primary", "fingerprint": "c56ea32b77d88a34", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6c06ede255257354", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "523cb17a4f1072b0", "scanner": "scanner-primary", "fingerprint": "6c06ede255257354", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1b1e5b950409dd64", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "0c6055f8bfd4cd6b", "scanner": "scanner-primary", "fingerprint": "1b1e5b950409dd64", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3a2500bc473e7e15", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "e1a603ec5a112336", "scanner": "scanner-primary", "fingerprint": "3a2500bc473e7e15", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-15b46848a9473a1d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "3cc46301def6e22e", "scanner": "scanner-primary", "fingerprint": "15b46848a9473a1d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6d8de7bba258524d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-final/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "e76d4290bc2e31c4", "scanner": "scanner-primary", "fingerprint": "6d8de7bba258524d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-769c87e2477536d6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/footer-proof-valid.mjs:3"}, "properties": {"repobilityId": "46616a868fb1c9f0", "scanner": "scanner-primary", "fingerprint": "769c87e2477536d6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-afc950b6b16ee0f9", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "f8a3a7c9a9c97dc8", "scanner": "scanner-primary", "fingerprint": "afc950b6b16ee0f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b6978dd134e1f9d6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "ce5910299413dc58", "scanner": "scanner-primary", "fingerprint": "b6978dd134e1f9d6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fc9925447d52687e", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "e9c46ce5f4c2606b", "scanner": "scanner-primary", "fingerprint": "fc9925447d52687e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-858292454bff72fa", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "78517fe6375f2de8", "scanner": "scanner-primary", "fingerprint": "858292454bff72fa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-919ac92033a5b25b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "6a491611e4c7b2d2", "scanner": "scanner-primary", "fingerprint": "919ac92033a5b25b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7e9fa2bfeab50cc6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "1ce9598b82859a01", "scanner": "scanner-primary", "fingerprint": "7e9fa2bfeab50cc6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8684f98bd074ff9d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "95ceecf0941bdeaf", "scanner": "scanner-primary", "fingerprint": "8684f98bd074ff9d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6813bcc47ca4d5b6", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "40dd2bbd8caa3db0", "scanner": "scanner-primary", "fingerprint": "6813bcc47ca4d5b6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b5c7082841422ac7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "9394da30615c7ff3", "scanner": "scanner-primary", "fingerprint": "b5c7082841422ac7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-feaf8b0461791c96", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "76325bc91793946f", "scanner": "scanner-primary", "fingerprint": "feaf8b0461791c96", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c75dc17ce6c38bf6", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "9f9fe7c7029f5f0a", "scanner": "scanner-primary", "fingerprint": "c75dc17ce6c38bf6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1f22420d602a21a8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "09a782684526ce0d", "scanner": "scanner-primary", "fingerprint": "1f22420d602a21a8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-822507970f0d5c2a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "385b5a939551def5", "scanner": "scanner-primary", "fingerprint": "822507970f0d5c2a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d0647e656037d894", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-valid/edge-profile-rerun/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "b666b7b9f2ea1dde", "scanner": "scanner-primary", "fingerprint": "d0647e656037d894", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a25be1cd7fbe8248", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/footer-debug.mjs:3"}, "properties": {"repobilityId": "6a9811376c4f0876", "scanner": "scanner-primary", "fingerprint": "a25be1cd7fbe8248", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9d865ac59a5c59a6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/footer-proof.mjs:3"}, "properties": {"repobilityId": "363ab8e75ae5728b", "scanner": "scanner-primary", "fingerprint": "9d865ac59a5c59a6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-18819b6291cddae1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/footer-sequence-proof.mjs:3"}, "properties": {"repobilityId": "0762b2640c5c2382", "scanner": "scanner-primary", "fingerprint": "18819b6291cddae1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4bb9cff0e89069de", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "5df1b03967cc0a0d", "scanner": "scanner-primary", "fingerprint": "4bb9cff0e89069de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f04e73f9d12a04d5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "9590c09633985ae5", "scanner": "scanner-primary", "fingerprint": "f04e73f9d12a04d5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e61455c011084d3f", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "5442df4ed2b36382", "scanner": "scanner-primary", "fingerprint": "e61455c011084d3f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dc138fc516981cc6", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "d418c6714c3cefa8", "scanner": "scanner-primary", "fingerprint": "dc138fc516981cc6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5031bd319bfa65ec", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "7d397c3177a66739", "scanner": "scanner-primary", "fingerprint": "5031bd319bfa65ec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-251354fbab83c0f7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "37d0c27bc39475d3", "scanner": "scanner-primary", "fingerprint": "251354fbab83c0f7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-de1ae7933e5d1982", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "01586915f869a960", "scanner": "scanner-primary", "fingerprint": "de1ae7933e5d1982", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-de6c1da73565d0bd", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "32c87ea191e84f1f", "scanner": "scanner-primary", "fingerprint": "de6c1da73565d0bd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a7657a8a909248d0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "e81574bf6b37e435", "scanner": "scanner-primary", "fingerprint": "a7657a8a909248d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-541702b7c45e9528", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "3071d916682afa3e", "scanner": "scanner-primary", "fingerprint": "541702b7c45e9528", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2a87d6742ebb1b23", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "15bfc0137e282bca", "scanner": "scanner-primary", "fingerprint": "2a87d6742ebb1b23", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4d3bcc232779dd5e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "51ac5681670aa953", "scanner": "scanner-primary", "fingerprint": "4d3bcc232779dd5e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-324cce6d1db41e59", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "3b63feb71f47c2b4", "scanner": "scanner-primary", "fingerprint": "324cce6d1db41e59", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-40ab358c54b7ded4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-debug/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "f8e2e2bf0c64688b", "scanner": "scanner-primary", "fingerprint": "40ab358c54b7ded4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ad46156fa3de8e32", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "e464e98c2f90c1ef", "scanner": "scanner-primary", "fingerprint": "ad46156fa3de8e32", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-862d61a3a36e35d7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "60b7e43d7dc761f3", "scanner": "scanner-primary", "fingerprint": "862d61a3a36e35d7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0849270ec17e14fe", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "a380dcf09f4ac64f", "scanner": "scanner-primary", "fingerprint": "0849270ec17e14fe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ad7be07d76e80904", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "286902365acac143", "scanner": "scanner-primary", "fingerprint": "ad7be07d76e80904", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7b4ed79663d006ed", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "a4519e033d832161", "scanner": "scanner-primary", "fingerprint": "7b4ed79663d006ed", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2bc8d6120b3a703c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "eaacedf81b2f5091", "scanner": "scanner-primary", "fingerprint": "2bc8d6120b3a703c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-44c11f2dc334a2e4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "8c9fd6206ca52b13", "scanner": "scanner-primary", "fingerprint": "44c11f2dc334a2e4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-38334ac2b7320910", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "1c2a4a03d8f568cf", "scanner": "scanner-primary", "fingerprint": "38334ac2b7320910", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-07a3b3451bfa51b6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "cc47032d15ac1981", "scanner": "scanner-primary", "fingerprint": "07a3b3451bfa51b6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ec3b1d21addfdc60", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "aa85970225f98d31", "scanner": "scanner-primary", "fingerprint": "ec3b1d21addfdc60", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-15ee62cb5613a9d9", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "61416ab2ae5c5da6", "scanner": "scanner-primary", "fingerprint": "15ee62cb5613a9d9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-602ddb4e5277b5f2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "bf27309c020b3016", "scanner": "scanner-primary", "fingerprint": "602ddb4e5277b5f2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cf18183ed4ce7e21", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "260c191413d63304", "scanner": "scanner-primary", "fingerprint": "cf18183ed4ce7e21", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dce2d81ea07338e9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun2/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "c4e3629696d902cc", "scanner": "scanner-primary", "fingerprint": "dce2d81ea07338e9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9c41b82fa0134f4d", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "ed30bacf21a29aa9", "scanner": "scanner-primary", "fingerprint": "9c41b82fa0134f4d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3def8a3f3f7a9d77", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "dbd9fbf1f2974ad8", "scanner": "scanner-primary", "fingerprint": "3def8a3f3f7a9d77", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-772c97fac43720f6", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "b81a096a33917929", "scanner": "scanner-primary", "fingerprint": "772c97fac43720f6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a31188168365e728", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "326b33b0f07d336b", "scanner": "scanner-primary", "fingerprint": "a31188168365e728", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a8eab4f408a1fc7b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "ee4fbe0d1dd991b4", "scanner": "scanner-primary", "fingerprint": "a8eab4f408a1fc7b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bdb8bc1febdbcd52", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "80ff8d2044b7e4d1", "scanner": "scanner-primary", "fingerprint": "bdb8bc1febdbcd52", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-79abb6855c8def54", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof/edge-profile-rerun3/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "270becb7c902fbd9", "scanner": "scanner-primary", "fingerprint": "79abb6855c8def54", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-885ea56303c6fe62", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/footer-proof-stable.mjs:3"}, "properties": {"repobilityId": "11655ac822334657", "scanner": "scanner-primary", "fingerprint": "885ea56303c6fe62", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-53c6d551336c0e26", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "aeb5592232724d13", "scanner": "scanner-primary", "fingerprint": "53c6d551336c0e26", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-48bfd7021341b63a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "85672cc2dd2d62bf", "scanner": "scanner-primary", "fingerprint": "48bfd7021341b63a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9a683169df55f04b", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "2b3fbd016c61a0e4", "scanner": "scanner-primary", "fingerprint": "9a683169df55f04b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ed5495f6b5a1b1d9", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "70203339aac71d15", "scanner": "scanner-primary", "fingerprint": "ed5495f6b5a1b1d9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9aa571032ca108e0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "1d58eb9dc12d50b3", "scanner": "scanner-primary", "fingerprint": "9aa571032ca108e0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5db357fe549ed756", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "7ad02973187a74f8", "scanner": "scanner-primary", "fingerprint": "5db357fe549ed756", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-40a3f5eb9083e7f3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-stable/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "b1bc6fd68c3e67c2", "scanner": "scanner-primary", "fingerprint": "40a3f5eb9083e7f3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-25617c4389121998", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/footer-proof-domclick.mjs:3"}, "properties": {"repobilityId": "589fef23714ec9ce", "scanner": "scanner-primary", "fingerprint": "25617c4389121998", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b77e7c36b39d2317", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "b7a07f57e39243f4", "scanner": "scanner-primary", "fingerprint": "b77e7c36b39d2317", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2b976e133dfcb0d9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "9108d21c936d875b", "scanner": "scanner-primary", "fingerprint": "2b976e133dfcb0d9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-77b2961d244844db", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "9b84b4a65f14ff36", "scanner": "scanner-primary", "fingerprint": "77b2961d244844db", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fef53d08d263f405", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "74e510bb799a14e4", "scanner": "scanner-primary", "fingerprint": "fef53d08d263f405", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e6529aa4785beb4d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "19644123f62da6cf", "scanner": "scanner-primary", "fingerprint": "e6529aa4785beb4d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a62b85fe0d0528d5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "198361ffc0974181", "scanner": "scanner-primary", "fingerprint": "a62b85fe0d0528d5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b0a055b38494c29e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-domclick/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "3a38b5c1f6c003a7", "scanner": "scanner-primary", "fingerprint": "b0a055b38494c29e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6e656400d8ffdd48", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/footer-proof-no-reload.mjs:3"}, "properties": {"repobilityId": "dba761ae9d274c78", "scanner": "scanner-primary", "fingerprint": "6e656400d8ffdd48", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d08891b67bff3dae", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:10"}, "properties": {"repobilityId": "52d0dfb28844fe70", "scanner": "scanner-primary", "fingerprint": "d08891b67bff3dae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-abc7a0afa902169d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pageKillSwitch.bundle.js:226"}, "properties": {"repobilityId": "13e9503099c4481a", "scanner": "scanner-primary", "fingerprint": "abc7a0afa902169d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fe715e257469ce13", "level": "note", "message": {"text": "Legacy-named symbol `remote_config_v1` in reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/pagePin.bundle.js:1"}, "properties": {"repobilityId": "daee38efbce9d406", "scanner": "scanner-primary", "fingerprint": "fe715e257469ce13", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3126704d58e718ba", "level": "note", "message": {"text": "Legacy-named symbol `NordVPN_v2` in reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:311"}, "properties": {"repobilityId": "8857b0ee2b55f12d", "scanner": "scanner-primary", "fingerprint": "3126704d58e718ba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6dcd764ba937067f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/csNotification.bundle.js:310"}, "properties": {"repobilityId": "7b2a8f2184daf38a", "scanner": "scanner-primary", "fingerprint": "6dcd764ba937067f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1564dd31b31a4a40", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenProxyAuthWorkerChromium.bundle.js:1"}, "properties": {"repobilityId": "d69e51daaa48c82f", "scanner": "scanner-primary", "fingerprint": "1564dd31b31a4a40", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9fe8556873654fec", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 reports/footer-proof-2/edge-profile/Default/Extensions/fphgeikpdcdcheaochkhldmnfblfogla/5.3.2_0/offscreenChromium.bundle.js:1"}, "properties": {"repobilityId": "e6de76ade828553d", "scanner": "scanner-primary", "fingerprint": "9fe8556873654fec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-50e194968e13c573", "level": "warning", "message": {"text": "Frontend route `/StartProject` has no Link/navigate to it \u2014 src/App.jsx"}, "properties": {"repobilityId": "856a60ddf654fe3e", "scanner": "scanner-primary", "fingerprint": "50e194968e13c573", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-cbf02529e42c18e9", "level": "error", "message": {"text": "Dangling fetch: POST https://challenges.cloudflare.com/turnstile/v0/siteverify (functions/api/inquiries.js:140)"}, "properties": {"repobilityId": "63891ccc24866eb8", "scanner": "scanner-primary", "fingerprint": "cbf02529e42c18e9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-de60f0b9fc1f539e", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/inquiries.js:187)"}, "properties": {"repobilityId": "cd17b5005a0b0917", "scanner": "scanner-primary", "fingerprint": "de60f0b9fc1f539e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3b3befe43497e67d", "level": "error", "message": {"text": "Dangling fetch: POST https://api.stripe.com/v1/checkout/sessions (functions/api/create-checkout-session.js:32)"}, "properties": {"repobilityId": "fbf69893047b6b9a", "scanner": "scanner-primary", "fingerprint": "3b3befe43497e67d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-475d835b4484b6a9", "level": "error", "message": {"text": "Dangling fetch: POST https://challenges.cloudflare.com/turnstile/v0/siteverify (functions/api/ventures.js:153)"}, "properties": {"repobilityId": "51ee2cba24b75ac7", "scanner": "scanner-primary", "fingerprint": "475d835b4484b6a9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9dea8e22cef5de89", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/ventures.js:200)"}, "properties": {"repobilityId": "a0166ed51f9f8e68", "scanner": "scanner-primary", "fingerprint": "9dea8e22cef5de89", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2cfb037ebda2cf0d", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/stripe-webhook.js:22)"}, "properties": {"repobilityId": "620cca6ab63939eb", "scanner": "scanner-primary", "fingerprint": "2cfb037ebda2cf0d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-90915c94cc5f7f49", "level": "error", "message": {"text": "Dangling fetch: POST https://challenges.cloudflare.com/turnstile/v0/siteverify (functions/api/support.js:138)"}, "properties": {"repobilityId": "b5efbb994828e7ab", "scanner": "scanner-primary", "fingerprint": "90915c94cc5f7f49", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-83d5138df3ddbd5c", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/support.js:185)"}, "properties": {"repobilityId": "f7ae2149832541be", "scanner": "scanner-primary", "fingerprint": "83d5138df3ddbd5c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7af21ee02ba14710", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/waitlist.js:24)"}, "properties": {"repobilityId": "f9b561570cab2a36", "scanner": "scanner-primary", "fingerprint": "7af21ee02ba14710", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-62a56bce175c8918", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/waitlist.js:45)"}, "properties": {"repobilityId": "7313ced70cb27989", "scanner": "scanner-primary", "fingerprint": "62a56bce175c8918", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8846d8c2b7eb677a", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (functions/api/contact.js:48)"}, "properties": {"repobilityId": "63ce975b34073bec", "scanner": "scanner-primary", "fingerprint": "8846d8c2b7eb677a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-19a1a46befe3d6a6", "level": "note", "message": {"text": "Unused endpoint: DELETE "}, "properties": {"repobilityId": "5fad5b9cf30abe18", "scanner": "scanner-primary", "fingerprint": "19a1a46befe3d6a6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}