{"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-dd24847e7910d8bf", "name": "Stray `console.log` in TS/JS \u2014 server.js:109", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 server.js:109"}, "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-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-971ea742753399e2", "name": "Very large file: server.js (1754 lines)", "shortDescription": {"text": "Very large file: server.js (1754 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-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-faccb9061e9b52a0", "name": "No README detected", "shortDescription": {"text": "No README detected"}, "fullDescription": {"text": "No README file was found. Generated repos without README context are hard to operate, validate, or safely hand off."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, operator-readme. 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": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci, operator-readme. 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-cfff6c62583059c9", "name": "Commented-code block (6 lines) in server.js:35", "shortDescription": {"text": "Commented-code block (6 lines) in server.js:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af022f937dd5b7fd", "name": "9 env vars used in code but missing from .env.example", "shortDescription": {"text": "9 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `CLARITY_PROJECT_ID`, `GTM_ID`, `HEALTH_SECRET`, `IMS_CLIENT_PASS`, `IMS_DEMO_DIR`, `IMS_OFFER_PATH`, `IMS_OFFER_USER`, `IMS_OPERATOR_PASS` + 1 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e44ccc9227e92004", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (server.js:581)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (server.js:581)"}, "fullDescription": {"text": "`server.js:581` calls `POST https://api.anthropic.com/v1/messages` 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.anthropic.com/v1/messages`\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-4756b4c4da7d2088", "name": "Unused endpoint: GET /api/health", "shortDescription": {"text": "Unused endpoint: GET /api/health"}, "fullDescription": {"text": "`server.js` declares `GET /api/health` 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}}, {"id": "scanner-65cee402d3bd7b42", "name": "Unused endpoint: GET /lektor/:slug/", "shortDescription": {"text": "Unused endpoint: GET /lektor/:slug/"}, "fullDescription": {"text": "`server.js` declares `GET /lektor/:slug/` 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}}, {"id": "scanner-0fd0e5db40a610b3", "name": "Unused endpoint: GET /dodawanie-lektora/", "shortDescription": {"text": "Unused endpoint: GET /dodawanie-lektora/"}, "fullDescription": {"text": "`server.js` declares `GET /dodawanie-lektora/` 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}}, {"id": "scanner-102df4f3ac44a3c4", "name": "Unused endpoint: GET /lektorzy/dorota-3/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/dorota-3/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/dorota-3/` 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}}, {"id": "scanner-244bb3fac619fd87", "name": "Unused endpoint: GET /lektorzy/michal-5/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/michal-5/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/michal-5/` 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}}, {"id": "scanner-fcdc86bcdd51d550", "name": "Unused endpoint: GET /lektorzy/patryk-2-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/patryk-2-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/patryk-2-2/` 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}}, {"id": "scanner-53e9b9da8900a668", "name": "Unused endpoint: GET /lektorzy/patryk-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/patryk-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/patryk-2/` 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}}, {"id": "scanner-63b3837debef343b", "name": "Unused endpoint: GET /lektorzy/anna-2-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/anna-2-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/anna-2-2/` 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}}, {"id": "scanner-64a15a99c600919b", "name": "Unused endpoint: GET /lektorzy/anna-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/anna-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/anna-2/` 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}}, {"id": "scanner-3a2a8e39d63d4dc2", "name": "Unused endpoint: GET /lektorzy/marcin-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/marcin-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/marcin-2/` 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}}, {"id": "scanner-3e52280de9b41156", "name": "Unused endpoint: GET /lektorzy/krzysztof-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/krzysztof-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/krzysztof-2/` 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}}, {"id": "scanner-607a47f98e319c44", "name": "Unused endpoint: GET /lektorzy/maciej-3/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/maciej-3/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/maciej-3/` 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}}, {"id": "scanner-f921104717219f68", "name": "Unused endpoint: GET /lektorzy/krzysztof_4/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/krzysztof_4/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/krzysztof_4/` 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}}, {"id": "scanner-2f6d6d7cebae6a81", "name": "Unused endpoint: GET /lektorzy/michal-4/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/michal-4/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/michal-4/` 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}}, {"id": "scanner-96c934ba0d757fe7", "name": "Unused endpoint: GET /lektorzy/marcin-5/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/marcin-5/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/marcin-5/` 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}}, {"id": "scanner-ea17c38e709ac0da", "name": "Unused endpoint: GET /lektorzy/alicja-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/alicja-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/alicja-2/` 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}}, {"id": "scanner-8e9b147086ba9141", "name": "Unused endpoint: GET /lektorzy/daniel-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/daniel-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/daniel-2/` 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}}, {"id": "scanner-f300cc5d955d23da", "name": "Unused endpoint: GET /lektorzy/agnieszka-3/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/agnieszka-3/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/agnieszka-3/` 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}}, {"id": "scanner-e939f436b5694f15", "name": "Unused endpoint: GET /lektorzy/kim-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/kim-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/kim-2/` 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}}, {"id": "scanner-76b5985d89c5b20c", "name": "Unused endpoint: GET /lektorzy/natalia_2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/natalia_2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/natalia_2/` 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}}, {"id": "scanner-5d312eab22b9a9df", "name": "Unused endpoint: GET /lektorzy/marek-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/marek-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/marek-2/` 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}}, {"id": "scanner-2e76ea2a012bfb5e", "name": "Unused endpoint: GET /lektorzy/lukasz-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/lukasz-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/lukasz-2/` 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}}, {"id": "scanner-50bde4e7dd898611", "name": "Unused endpoint: GET /lektorzy/mateusz-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/mateusz-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/mateusz-2/` 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}}, {"id": "scanner-a00d33ed00c859b2", "name": "Unused endpoint: GET /lektorzy/maciej-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/maciej-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/maciej-2/` 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}}, {"id": "scanner-2fca827b873c0e99", "name": "Unused endpoint: GET /lektorzy/michal-3/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/michal-3/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/michal-3/` 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}}, {"id": "scanner-d0afede1b3dad0a8", "name": "Unused endpoint: GET /lektorzy/katarzyna-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/katarzyna-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/katarzyna-2/` 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}}, {"id": "scanner-64b605ffe847097a", "name": "Unused endpoint: GET /lektorzy/krzysztof-3/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/krzysztof-3/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/krzysztof-3/` 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}}, {"id": "scanner-8d14f50dfd53e997", "name": "Unused endpoint: GET /lektorzy/mateusz-3/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/mateusz-3/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/mateusz-3/` 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}}, {"id": "scanner-2be873195e3008ee", "name": "Unused endpoint: GET /lektorzy/piotr-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/piotr-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/piotr-2/` 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}}, {"id": "scanner-983870a28dc666c8", "name": "Unused endpoint: GET /lektorzy/agnieszka-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/agnieszka-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/agnieszka-2/` 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}}, {"id": "scanner-d7b72711d61761aa", "name": "Unused endpoint: GET /lektorzy/kuba-bielak.webp", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/kuba-bielak.webp"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/kuba-bielak.webp` 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}}, {"id": "scanner-f51bdd81ba659fcc", "name": "Unused endpoint: GET /lektorzy/lukasz-nowicki.webp", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/lukasz-nowicki.webp"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/lukasz-nowicki.webp` 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}}, {"id": "scanner-599267b2448fa68d", "name": "Unused endpoint: GET /lektorzy/przemyslaw-skowron.webp", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/przemyslaw-skowron.webp"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/przemyslaw-skowron.webp` 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}}, {"id": "scanner-fc6950d80c150d62", "name": "Unused endpoint: GET /lektorzy/maciej-jablonski.webp", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/maciej-jablonski.webp"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/maciej-jablonski.webp` 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}}, {"id": "scanner-d506f98c8b839f31", "name": "Unused endpoint: GET /lektorzy/jacek-brzostynski.webp", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/jacek-brzostynski.webp"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/jacek-brzostynski.webp` 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}}, {"id": "scanner-42c0eeeb25d719e4", "name": "Unused endpoint: GET /lektorzy/stanislaw-olejniczak.webp", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/stanislaw-olejniczak.webp"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/stanislaw-olejniczak.webp` 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}}, {"id": "scanner-da7330c0590f38cb", "name": "Unused endpoint: GET /lektorzy/slawek-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/slawek-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/slawek-2/` 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}}, {"id": "scanner-8cd604d345d1f6fa", "name": "Unused endpoint: GET /lektorzy/zosia/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/zosia/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/zosia/` 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}}, {"id": "scanner-8aaa53b13a4c2e8c", "name": "Unused endpoint: GET /lektorzy/barbara/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/barbara/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/barbara/` 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}}, {"id": "scanner-c7956e37280fe88e", "name": "Unused endpoint: GET /lektorzy/mikolaj/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/mikolaj/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/mikolaj/` 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}}, {"id": "scanner-c799db3ad76075ab", "name": "Unused endpoint: GET /lektorzy/barbara-2/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/barbara-2/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/barbara-2/` 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}}, {"id": "scanner-943a4dee4fa5057d", "name": "Unused endpoint: GET /lektorzy/gabriela/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/gabriela/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/gabriela/` 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}}, {"id": "scanner-d0d6c745aeefa910", "name": "Unused endpoint: GET /lektorzy/krystyna-loska/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/krystyna-loska/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/krystyna-loska/` 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}}, {"id": "scanner-338e529387f79bd5", "name": "Unused endpoint: GET /lektorzy/tomasz-knapik/", "shortDescription": {"text": "Unused endpoint: GET /lektorzy/tomasz-knapik/"}, "fullDescription": {"text": "`server.js` declares `GET /lektorzy/tomasz-knapik/` 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}}, {"id": "scanner-7df31774c63e0f0f", "name": "Unused endpoint: GET /en/voice-artists/marcin-2/", "shortDescription": {"text": "Unused endpoint: GET /en/voice-artists/marcin-2/"}, "fullDescription": {"text": "`server.js` declares `GET /en/voice-artists/marcin-2/` 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}}, {"id": "scanner-2d81c9b643b3e6d4", "name": "Unused endpoint: GET /marcin-2/", "shortDescription": {"text": "Unused endpoint: GET /marcin-2/"}, "fullDescription": {"text": "`server.js` declares `GET /marcin-2/` 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}}, {"id": "scanner-26e0ffdd2ec515c8", "name": "Unused endpoint: GET /contact/", "shortDescription": {"text": "Unused endpoint: GET /contact/"}, "fullDescription": {"text": "`server.js` declares `GET /contact/` 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}}, {"id": "scanner-e6b36170f5d20be9", "name": "Unused endpoint: GET /category/glosy-meskie/", "shortDescription": {"text": "Unused endpoint: GET /category/glosy-meskie/"}, "fullDescription": {"text": "`server.js` declares `GET /category/glosy-meskie/` 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}}, {"id": "scanner-d47cbbca7f9677d3", "name": "Unused endpoint: GET /category/glosy-zenskie/", "shortDescription": {"text": "Unused endpoint: GET /category/glosy-zenskie/"}, "fullDescription": {"text": "`server.js` declares `GET /category/glosy-zenskie/` 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}}, {"id": "scanner-b45ee0f38181274a", "name": "Unused endpoint: GET /bank-glosow/page/:page/", "shortDescription": {"text": "Unused endpoint: GET /bank-glosow/page/:page/"}, "fullDescription": {"text": "`server.js` declares `GET /bank-glosow/page/:page/` 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/27260"}, "properties": {"repository": "koval33/powitania-app", "repoUrl": "https://github.com/koval33/powitania-app", "branch": "main"}, "results": [{"ruleId": "scanner-dd24847e7910d8bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 server.js:109"}, "properties": {"repobilityId": "a9deebb5fdc93edc", "scanner": "scanner-primary", "fingerprint": "dd24847e7910d8bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "b86179956da3a4a8", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-971ea742753399e2", "level": "note", "message": {"text": "Very large file: server.js (1754 lines)"}, "properties": {"repobilityId": "1479ba50e708c5c1", "scanner": "scanner-primary", "fingerprint": "971ea742753399e2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "74594579eaf81513", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-faccb9061e9b52a0", "level": "note", "message": {"text": "No README detected"}, "properties": {"repobilityId": "d8d36f0923724a94", "scanner": "scanner-primary", "fingerprint": "faccb9061e9b52a0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["docs", "readme", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "ad55ec8e64c4cea5", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "76c539bfeeca5152", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "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": "b983b7a241a323a1", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-cfff6c62583059c9", "level": "none", "message": {"text": "Commented-code block (6 lines) in server.js:35"}, "properties": {"repobilityId": "c91c190728114718", "scanner": "scanner-primary", "fingerprint": "cfff6c62583059c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af022f937dd5b7fd", "level": "note", "message": {"text": "9 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "5597384795dea7a4", "scanner": "scanner-primary", "fingerprint": "af022f937dd5b7fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-e44ccc9227e92004", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (server.js:581)"}, "properties": {"repobilityId": "71ba8a9979042bad", "scanner": "scanner-primary", "fingerprint": "e44ccc9227e92004", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4756b4c4da7d2088", "level": "note", "message": {"text": "Unused endpoint: GET /api/health"}, "properties": {"repobilityId": "98e09bb8fcd7909b", "scanner": "scanner-primary", "fingerprint": "4756b4c4da7d2088", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-65cee402d3bd7b42", "level": "note", "message": {"text": "Unused endpoint: GET /lektor/:slug/"}, "properties": {"repobilityId": "22153c7dc3f03b17", "scanner": "scanner-primary", "fingerprint": "65cee402d3bd7b42", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0fd0e5db40a610b3", "level": "note", "message": {"text": "Unused endpoint: GET /dodawanie-lektora/"}, "properties": {"repobilityId": "99b81efbffa8e8ea", "scanner": "scanner-primary", "fingerprint": "0fd0e5db40a610b3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-102df4f3ac44a3c4", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/dorota-3/"}, "properties": {"repobilityId": "09d331a1743c426c", "scanner": "scanner-primary", "fingerprint": "102df4f3ac44a3c4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-244bb3fac619fd87", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/michal-5/"}, "properties": {"repobilityId": "fdf923e455e1511b", "scanner": "scanner-primary", "fingerprint": "244bb3fac619fd87", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fcdc86bcdd51d550", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/patryk-2-2/"}, "properties": {"repobilityId": "4ee6ad4c17938ca4", "scanner": "scanner-primary", "fingerprint": "fcdc86bcdd51d550", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-53e9b9da8900a668", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/patryk-2/"}, "properties": {"repobilityId": "bd48f525b4182700", "scanner": "scanner-primary", "fingerprint": "53e9b9da8900a668", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-63b3837debef343b", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/anna-2-2/"}, "properties": {"repobilityId": "057fd45b95299d86", "scanner": "scanner-primary", "fingerprint": "63b3837debef343b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-64a15a99c600919b", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/anna-2/"}, "properties": {"repobilityId": "1831d6b95ca175de", "scanner": "scanner-primary", "fingerprint": "64a15a99c600919b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3a2a8e39d63d4dc2", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/marcin-2/"}, "properties": {"repobilityId": "ee232a8352a33292", "scanner": "scanner-primary", "fingerprint": "3a2a8e39d63d4dc2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3e52280de9b41156", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/krzysztof-2/"}, "properties": {"repobilityId": "612fa0dba41eec5b", "scanner": "scanner-primary", "fingerprint": "3e52280de9b41156", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-607a47f98e319c44", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/maciej-3/"}, "properties": {"repobilityId": "09a1dd07e7efa663", "scanner": "scanner-primary", "fingerprint": "607a47f98e319c44", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f921104717219f68", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/krzysztof_4/"}, "properties": {"repobilityId": "27cac329997694a7", "scanner": "scanner-primary", "fingerprint": "f921104717219f68", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2f6d6d7cebae6a81", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/michal-4/"}, "properties": {"repobilityId": "e2bce276b1abafdc", "scanner": "scanner-primary", "fingerprint": "2f6d6d7cebae6a81", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-96c934ba0d757fe7", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/marcin-5/"}, "properties": {"repobilityId": "548e7b00b488f3b1", "scanner": "scanner-primary", "fingerprint": "96c934ba0d757fe7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ea17c38e709ac0da", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/alicja-2/"}, "properties": {"repobilityId": "91323079f6dc3bed", "scanner": "scanner-primary", "fingerprint": "ea17c38e709ac0da", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8e9b147086ba9141", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/daniel-2/"}, "properties": {"repobilityId": "24a3567e4dc342e6", "scanner": "scanner-primary", "fingerprint": "8e9b147086ba9141", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f300cc5d955d23da", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/agnieszka-3/"}, "properties": {"repobilityId": "bbf8e00adc31efb5", "scanner": "scanner-primary", "fingerprint": "f300cc5d955d23da", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e939f436b5694f15", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/kim-2/"}, "properties": {"repobilityId": "60564e8e1cdd382e", "scanner": "scanner-primary", "fingerprint": "e939f436b5694f15", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-76b5985d89c5b20c", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/natalia_2/"}, "properties": {"repobilityId": "e8448541ed6f3de0", "scanner": "scanner-primary", "fingerprint": "76b5985d89c5b20c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5d312eab22b9a9df", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/marek-2/"}, "properties": {"repobilityId": "bd345a0e3f515a83", "scanner": "scanner-primary", "fingerprint": "5d312eab22b9a9df", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2e76ea2a012bfb5e", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/lukasz-2/"}, "properties": {"repobilityId": "bc1803ec294e10a1", "scanner": "scanner-primary", "fingerprint": "2e76ea2a012bfb5e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-50bde4e7dd898611", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/mateusz-2/"}, "properties": {"repobilityId": "26628ed95caaa724", "scanner": "scanner-primary", "fingerprint": "50bde4e7dd898611", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a00d33ed00c859b2", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/maciej-2/"}, "properties": {"repobilityId": "affe334ed88e99c8", "scanner": "scanner-primary", "fingerprint": "a00d33ed00c859b2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2fca827b873c0e99", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/michal-3/"}, "properties": {"repobilityId": "e313ea50ffdf5296", "scanner": "scanner-primary", "fingerprint": "2fca827b873c0e99", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d0afede1b3dad0a8", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/katarzyna-2/"}, "properties": {"repobilityId": "7c7d51237c88b232", "scanner": "scanner-primary", "fingerprint": "d0afede1b3dad0a8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-64b605ffe847097a", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/krzysztof-3/"}, "properties": {"repobilityId": "cad79e5867e4dced", "scanner": "scanner-primary", "fingerprint": "64b605ffe847097a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8d14f50dfd53e997", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/mateusz-3/"}, "properties": {"repobilityId": "819780aa528c9a63", "scanner": "scanner-primary", "fingerprint": "8d14f50dfd53e997", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2be873195e3008ee", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/piotr-2/"}, "properties": {"repobilityId": "acc43921d1a803b3", "scanner": "scanner-primary", "fingerprint": "2be873195e3008ee", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-983870a28dc666c8", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/agnieszka-2/"}, "properties": {"repobilityId": "b0b7c100fd1019a5", "scanner": "scanner-primary", "fingerprint": "983870a28dc666c8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d7b72711d61761aa", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/kuba-bielak.webp"}, "properties": {"repobilityId": "f02a69ee0d3fa4a6", "scanner": "scanner-primary", "fingerprint": "d7b72711d61761aa", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f51bdd81ba659fcc", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/lukasz-nowicki.webp"}, "properties": {"repobilityId": "9c557f9ed55f8007", "scanner": "scanner-primary", "fingerprint": "f51bdd81ba659fcc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-599267b2448fa68d", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/przemyslaw-skowron.webp"}, "properties": {"repobilityId": "0931547715183c3d", "scanner": "scanner-primary", "fingerprint": "599267b2448fa68d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fc6950d80c150d62", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/maciej-jablonski.webp"}, "properties": {"repobilityId": "8042b995085bef05", "scanner": "scanner-primary", "fingerprint": "fc6950d80c150d62", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d506f98c8b839f31", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/jacek-brzostynski.webp"}, "properties": {"repobilityId": "667ee69f0ae52ff6", "scanner": "scanner-primary", "fingerprint": "d506f98c8b839f31", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-42c0eeeb25d719e4", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/stanislaw-olejniczak.webp"}, "properties": {"repobilityId": "a423424250bf990d", "scanner": "scanner-primary", "fingerprint": "42c0eeeb25d719e4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-da7330c0590f38cb", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/slawek-2/"}, "properties": {"repobilityId": "b1cdab9d57a71c43", "scanner": "scanner-primary", "fingerprint": "da7330c0590f38cb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8cd604d345d1f6fa", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/zosia/"}, "properties": {"repobilityId": "f23c5bd78e3a8e91", "scanner": "scanner-primary", "fingerprint": "8cd604d345d1f6fa", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8aaa53b13a4c2e8c", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/barbara/"}, "properties": {"repobilityId": "858510cdc2c835ba", "scanner": "scanner-primary", "fingerprint": "8aaa53b13a4c2e8c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c7956e37280fe88e", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/mikolaj/"}, "properties": {"repobilityId": "0e1c128aab348c99", "scanner": "scanner-primary", "fingerprint": "c7956e37280fe88e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c799db3ad76075ab", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/barbara-2/"}, "properties": {"repobilityId": "29d0d5333dfad20c", "scanner": "scanner-primary", "fingerprint": "c799db3ad76075ab", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-943a4dee4fa5057d", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/gabriela/"}, "properties": {"repobilityId": "318261f84b633a00", "scanner": "scanner-primary", "fingerprint": "943a4dee4fa5057d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d0d6c745aeefa910", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/krystyna-loska/"}, "properties": {"repobilityId": "9dffed623f4a8144", "scanner": "scanner-primary", "fingerprint": "d0d6c745aeefa910", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-338e529387f79bd5", "level": "note", "message": {"text": "Unused endpoint: GET /lektorzy/tomasz-knapik/"}, "properties": {"repobilityId": "ff7dcbed566935ea", "scanner": "scanner-primary", "fingerprint": "338e529387f79bd5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7df31774c63e0f0f", "level": "note", "message": {"text": "Unused endpoint: GET /en/voice-artists/marcin-2/"}, "properties": {"repobilityId": "e70502ccf999f614", "scanner": "scanner-primary", "fingerprint": "7df31774c63e0f0f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2d81c9b643b3e6d4", "level": "note", "message": {"text": "Unused endpoint: GET /marcin-2/"}, "properties": {"repobilityId": "01ddc1343891942c", "scanner": "scanner-primary", "fingerprint": "2d81c9b643b3e6d4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-26e0ffdd2ec515c8", "level": "note", "message": {"text": "Unused endpoint: GET /contact/"}, "properties": {"repobilityId": "9923bd241f100508", "scanner": "scanner-primary", "fingerprint": "26e0ffdd2ec515c8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e6b36170f5d20be9", "level": "note", "message": {"text": "Unused endpoint: GET /category/glosy-meskie/"}, "properties": {"repobilityId": "89ef858e58810955", "scanner": "scanner-primary", "fingerprint": "e6b36170f5d20be9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d47cbbca7f9677d3", "level": "note", "message": {"text": "Unused endpoint: GET /category/glosy-zenskie/"}, "properties": {"repobilityId": "fef20d7a5afe429f", "scanner": "scanner-primary", "fingerprint": "d47cbbca7f9677d3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b45ee0f38181274a", "level": "note", "message": {"text": "Unused endpoint: GET /bank-glosow/page/:page/"}, "properties": {"repobilityId": "a9e1bf0d3b0f8dc4", "scanner": "scanner-primary", "fingerprint": "b45ee0f38181274a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}