Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.

diegoparras/escriba

https://github.com/diegoparras/escriba · scanned 2026-06-17 01:56 UTC (1 month, 1 week ago)

56 raw signals (0 security + 56 graph)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 1 month, 1 week ago · v2 · last Δ -10.0 (diff) · 48 actionable findings from 1 signal source. 8 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Severity distribution — click a segment to filter
Active filters: severity: low × excluding tests × Reset all
Corpus Intelligence Cross-corpus context (cohort percentile, top patterns, fix plan) is shown only on repositories you own. Sign up and connect your repo to view it.
Scan summary Repository scanned at 66.7/100 with 100.0% coverage. It contains 341 nodes across 17 cross-layer flows, written primarily in mixed languages. Engine surfaced 56 findings — concentrated in software (14), cicd (13), security (12). Risk profile is high: 1 critical, 9 high, 17 medium. Recommended next step: open the software layer findings first — that's where the highest-impact wins live.

Showing 26 of 48 actionable findings. 56 raw detector signals were grouped into reader-sized issues. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.

low System graph quality Integrity conf 1.00 9 env vars used in code but missing from .env.example
Drift between code and config docs. The first few: `ANONIMAL_MAX_CHARS`, `ANON_HASH_KEY`, `APP_VERSION`, `EXTRACT_TIMEOUT`, `GEMINI_API_KEY`, `OPF_CHECKPOINT`, `OPF_DEVICE`, `REDIS_URL` + 1 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break.
config drift
low System graph hardware Supply chain conf 1.00 Docker base image is tag-pinned but not digest-pinned: python:3.11-slim
Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter.
anonimal/Dockerfile:6 containersPinned dependencies
low System graph hardware Supply chain conf 1.00 Docker base image is tag-pinned but not digest-pinned: python:3.12-slim
Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter.
Dockerfile:1 containersPinned dependencies
low System graph cicd CI/CD security conf 1.00 2 occurrences GitHub Action is tag-pinned rather than SHA-pinned
actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA.
2 files, 2 locations
.github/workflows/anonimal-publish.yml:34
.github/workflows/docker-publish.yml:30
CI/CD securitySupply chainGithub actions
low System graph software Dead code conf 1.00 Possibly dead Python function: analyze
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/llmprep.py:145
low System graph software Dead code conf 1.00 Possibly dead Python function: anonymize
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/anonimal.py:288
low System graph software Dead code conf 1.00 Possibly dead Python function: entities_pdf
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/redact.py:74
low System graph software Dead code conf 1.00 Possibly dead Python function: extract_markdown
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/odl.py:31
low System graph software Dead code conf 1.00 Possibly dead Python function: image_to_pdf
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/redact.py:31
low System graph software Dead code conf 1.00 Possibly dead Python function: ocr_image
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/ocr.py:86
low System graph software Dead code conf 1.00 Possibly dead Python function: ocr_pdf
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/ocr.py:46
low System graph software Dead code conf 1.00 Possibly dead Python function: probe_duration
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/transcribe.py:35
low System graph software Dead code conf 1.00 Possibly dead Python function: redact_pdf
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/redact.py:98
low System graph software Dead code conf 1.00 Possibly dead Python function: restore
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/anonimal.py:182
low System graph software Dead code conf 1.00 Possibly dead Python function: safe_fetch
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/security.py:72
low System graph software Dead code conf 1.00 Possibly dead Python function: transcribe_media
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/transcribe.py:65
low System graph software Dead code conf 1.00 Possibly dead Python function: youtube_markdown
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/yt_transcript.py:214
low System graph software Dead code conf 1.00 Possibly dead Python function: youtube_transcript_md
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
app/main.py:245
low System graph api Wiring conf 1.00 Unused endpoint: GET /
`app/main.py` declares `GET /` 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 — consider removing or documenting who consumes it.
Unused endpoint
low System graph api Wiring conf 1.00 Unused endpoint: GET /api/health
`app/main.py` 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 — consider removing or documenting who consumes it.
Unused endpoint
low System graph api Wiring conf 1.00 Unused endpoint: POST /anonymize
`anonimal/app.py` declares `POST /anonymize` 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 — consider removing or documenting who consumes it.
Unused endpoint
low System graph api Wiring conf 1.00 Unused endpoint: POST /api/chunk
`app/main.py` declares `POST /api/chunk` 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 — consider removing or documenting who consumes it.
Unused endpoint
low System graph api Wiring conf 1.00 Unused endpoint: POST /api/compact
`app/main.py` declares `POST /api/compact` 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 — consider removing or documenting who consumes it.
Unused endpoint
low System graph api Wiring conf 1.00 Unused endpoint: POST /api/convert
`app/main.py` declares `POST /api/convert` 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 — consider removing or documenting who consumes it.
Unused endpoint
low System graph quality Complexity conf 1.00 Very large file: app/static/app.js (1093 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: docs/make_manual.py (833 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/add84d03-6cbb-4ed3-aa61-ab1dcecc5983/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/add84d03-6cbb-4ed3-aa61-ab1dcecc5983/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.