// LLM fallback disclosure

LLM Fallback

Last updated: 2026-04-22

What it is

The CTO.ai grapher reads your repositories through graphify, which uses tree-sitter for 25 programming languages and builds the structural knowledge graph fully locally, without any LLM. Tree-sitter covers the main languages (Python, JS, TS, Go, Rust, Java, C/C++, Ruby, C#, Kotlin, Scala, PHP, Swift, and others).

For files outside the tree-sitter set, we optionally use a LLM fallback extractor: the file contents are sent to Anthropic's Claude API with a prompt that asks only for structural extraction (what symbols are defined, what they reference). The response is parsed back into the same graph format.

When it triggers

The fallback runs only on:

It never runs on: covered-language source files, binary assets, or files larger than 200 KB.

Privacy posture

When the fallback runs, the file contents are transmitted to Anthropic over TLS. Anthropic's data-retention practices apply; at the time of writing, Claude API inputs and outputs may be retained for 30 days for abuse detection, then deleted.

We do not train models on your code, and Anthropic has committed that Claude API calls are not used to train their models.

The extractor always runs behind our Content Safety Layer: inputs are scrubbed for obvious secrets (API keys, private keys, passwords) before transmission, and outputs are scrubbed on receipt.

Opt-out

You can disable the LLM fallback per-workspace in Settings → Data & Privacy. With it disabled:

The toggle default is OFF (fallback disabled) until you opt in. This differs from older internal settings that defaulted to ON during Phase 0 testing.

References