Skip to main content
Every time you send code to a third-party LLM — even in a prompt — you are sending your variable names, function names, class names, type names, and the business logic they encode. For a startup, that might be acceptable. For a financial services firm, a medical software company, or any team with genuinely proprietary algorithms, handing identifier names to an external model is a real information security concern. Blindfold Mode solves this by making your code unreadable to the LLM while keeping Kode’s output perfectly usable.

How Blindfold Mode works

Blindfold Mode intercepts all code context before it is submitted to the LLM and replaces every identifier with a deterministic SHA-256-derived code. The mapping is kept entirely on your machine — the LLM never sees your real names.

Enable Blindfold Mode

Add blindfold_mode to the engine section of your .kode/kode.json:
Blindfold Mode is not currently available as a per-command flag. It is configured at the project level so that all Kode commands in that repository use it consistently.

Trade-offs

Understanding the trade-offs helps you decide when Blindfold Mode is worth activating.

Pros

Identifiers never leave your machine. The LLM has zero knowledge of your proprietary function names, class names, type names, or variable names. Even if a provider logs prompts, they contain only opaque ZK-codes.

Cons

Reduced contextual awareness. Semantic names help LLMs produce better suggestions. ZK4821 conveys nothing about purpose. The LLM may produce slightly more generic or less idiomatic code compared to unobfuscated mode.
The quality reduction is typically small for well-structured code, because the LLM can still reason from structure (types, function signatures, call graphs) even without semantic names. It is most noticeable for tasks that require understanding domain logic, such as adding validation rules to a complex business object.

Best for

Blindfold Mode is designed for codebases where the identifier names themselves carry material business value:
  • Financial services — proprietary risk models, pricing algorithms, trading strategies
  • Medical software — patient data models, clinical decision logic
  • Enterprise SaaS — billing logic, subscription management, data retention policies
  • Any team with a competitor concern — when you would not paste your code into a public forum
Comments and string literals are also obfuscated. Because the obfuscator processes your full file content — not just declarations — any identifier-like token inside a comment (e.g., // Apply the Basel III formula for capital adequacy) or a string literal is replaced with its ZK-code before LLM submission. This prevents inadvertent disclosure of proprietary methodologies through inline documentation.