| Version | Supported |
|---|---|
| 1.x | ✅ Current |
If you discover a security vulnerability, please report it responsibly:
- Do not open a public issue
- Email security concerns to the repository owner
- Include steps to reproduce the vulnerability
- Allow reasonable time for a fix before public disclosure
JD.AI executes shell commands and file operations as directed by AI models. Users should:
- Review tool invocations before confirming execution
- Use sandboxed execution modes when available
- Avoid running with elevated privileges unnecessarily
- Be cautious with untrusted AI provider endpoints
JD.AI uses an encrypted credential store to protect API keys and tokens:
- Windows: Credentials are encrypted using DPAPI (Data Protection API)
- Linux / macOS: Credentials are encrypted using AES
- API keys are always stored encrypted, never in plain text
- Credential resolution chain (in priority order):
- CLI flags (e.g.,
--api-key) - Environment variables
- Encrypted credential store
- OAuth flow (interactive)
- CLI flags (e.g.,
- Use the
/provider addwizard for secure credential setup
MCP (Model Context Protocol) server connections are local-only by default. Users must explicitly configure remote MCP servers — no remote connections are made automatically.
Local model files are loaded only from user-specified paths. JD.AI does not automatically download remote model files without explicit user consent.
Session data is stored in a local SQLite database. There is no cloud sync — all session data remains on the user's machine.