docs(security): the semantic pass makes network calls; say so - #2815
docs(security): the semantic pass makes network calls; say so#2815ArxSecretorum wants to merge 1 commit into
Conversation
The Security Model section states that graphify "makes no network calls during graph analysis - only during `ingest`", and the Optional network calls list does not mention the semantic pass at all. The README says the opposite in two places: "only the semantic pass over docs/media calls a backend, and only if you configure one" (features table) and "Docs, PDFs, images and video use your assistant's model, or a configured API key, for a semantic pass" (intro). The README is the accurate one. `llm.py` sends document text, and image bytes for vision backends, to the backend chosen by `--backend` or by whichever API key is in the environment. A security policy that understates the outbound surface is the one document where that error costs most: it is what a reader consults before deciding whether a corpus can be pointed at this tool. Documentation only.
There was a problem hiding this comment.
Graphify reviewed this change.
Looks safe to merge — no coupling regressions and no blocking issues, checked against the code graph (not a self-assessment).
Graphify review — findings
Corrects the SECURITY.md "Security Model" and "Optional network calls" sections to disclose that the semantic pass sends document/PDF/image/video content to the configured LLM backend, replacing the earlier "no network calls during graph analysis" claim. Clarifies that the tree-sitter code pass stays fully local.
No blocking issues surfaced. 1 lower-confidence candidate did not survive cross-model review.
Analysis details — impact, health, verification
Impact & health
Graphify review
Impact — 8 functions depend on the 8 functions this change touches.
Health — grade A; no new coupling hotspots.
Verification — 8 functions in the blast radius were not formally verified this run (proofs are advisory here).
Gate & verification
graphify gate
PASS — objectively clean (no health regressions, tests not run — proofs not run this pass (advisory)). Grounded, not self-assessed.
Advisory (not blocking):
- verification_scope: 8 function(s) in the blast radius were not formally verified this run
The Security Model section states that graphify "makes no network calls during graph analysis - only during
ingest", and the Optional network calls list does not mention the semantic pass at all. The README says the opposite in two places: "only the semantic pass over docs/media calls a backend, and only if you configure one" (features table) and "Docs, PDFs, images and video use your assistant's model, or a configured API key, for a semantic pass" (intro).The README is the accurate one.
llm.pysends document text, and image bytes for vision backends, to the backend chosen by--backendor by whichever API key is in the environment.A security policy that understates the outbound surface is the one document where that error costs most: it is what a reader consults before deciding whether a corpus can be pointed at this tool. Documentation only.