Secrets and PII redacted at chunk time
Detection rules span AWS, GitHub, Slack, Stripe, GCP, OpenAI, JWTs, database DSNs, PEM/private keys, Firebase, and generic credential patterns — plus PII, on by default: payment card numbers (Luhn-validated) and IBANs (mod-97-validated), with an opt-in extended set (SSN, email, phone, public IP). A match becomes [REDACTED:rule_id] before the chunk is embedded — so a leaked key or card number never enters the index, a search result, or a chat context.
Prompt & prose injection scanning
Instructions hidden in code comments, string literals, or documentation — a hostile README or PDF telling an agent to exfiltrate — are caught by dedicated rules plus prose heuristics and marked [FLAGGED:...], so your agent is told to ignore them rather than obey them.
Quarantine & allowlist
Flagged chunks land in a review queue, not silently into your index. Inspect each one in the Security screen and quarantine or allowlist it with a click — false positives are one action away, real hits stay contained.
Local-first, zero telemetry
Embedding, indexing, search, and reranking all run locally in a container you host — on your NVIDIA or AMD fleet, including Instinct MI300, with identical index quality on either. There is no usage beacon and no account. The only network calls are ones you can see and switch off: an optional once-a-day update check (version number and trial token, never code — disabled by deleting one file), and any cloud LLM you explicitly configure.
Signed & verifiable supply chain
Images are cosign-signed, shipped with a CycloneDX SBOM, and built on pinned model revisions with no remote model-code execution. You verify the signing-key fingerprint out of band — over this page, a different channel than the package — before you install.
Access control at the door
The MCP server takes bearer-token auth, and a startup exposure guard refuses to bind wide open by accident. The /health endpoint discloses in tiers, so an unauthenticated probe learns liveness, not internals.
Cloud LLMs stay optional — and see chunks, not files
CodeNavi works fully offline. Enable Claude, OpenAI, or OpenRouter for chat and the model receives ranked chunks with citations, never whole source files — and the choice is yours to make, per install.
Inspect and control it
A dedicated Security screen in the web UI shows scanner status, lets you flip dry-run to blocking, browse every flagged chunk, manage quarantine and allowlist, and run a scan tester against arbitrary text. The policy is yours to see and set.
Framework fit, GDPR to FedRAMP
Self-hosted with zero egress by default means the hard questionnaire rows answer themselves: no third-party recipient exists (GDPR), the data-flow diagram has no outbound arrow (SOC 2, ISO 27001), no PHI reaches the vendor (HIPAA), and there is no cloud service to authorize (FedRAMP). The framework-by-framework mapping →
OWASP compliance gap analysis
The bundled Claude Code plugin adds /codenavi:compliance: an evidence-linked review of your indexed code against OWASP ASVS 5.0 core (30 rules) or the OWASP Top 10 2025. Every verdict cites file:line, "not applicable" and "cannot check from code" are stated honestly — audit preparation, not a certification.