Zero-Config AI handles API keys, OAuth tokens, and model inference with security as a core constraint. Keys are never stored in plaintext. Local inference keeps sensitive data on your machine.
Every Gemini API key is encrypted before storage using AES-256-GCM. The encryption flow:
nself doctor --ai, a 256-bit Data Encryption Key (DEK) is generated.~/.nself/ai/dek.key with 600 permissions (owner-only).When connecting a Google account:
cloud-platform.read-only for project listing and service.management for API enablement.# Export DEK for offline backup (age-encrypted)
nself license dek export --output ~/dek-backup.age
# Import DEK during disaster recovery
nself license dek import --input ~/dek-backup.ageThe export uses age encryption with a passphrase you provide. Store this backup securely. Without the DEK, encrypted API keys in the database are unrecoverable.
Every security-relevant operation is logged to np_ai_pool_audit:
nself ai pool audit --last 100127.0.0.1:11434 only. Not accessible from the network.ufw on Linux) blocks external access to the Ollama port.The AI plugin communicates only with:
127.0.0.1:11434 (Ollama, local only)generativelanguage.googleapis.com (Gemini API, encrypted keys)api.openai.com (if configured, user-provided key)api.anthropic.com (if configured, user-provided key)No telemetry, no phone-home, no third-party analytics. The AI plugin is fully self-contained.