Claude for Linux is an unofficial community client. It is NOT developed, maintained, or endorsed by Anthropic. Use at your own discretion.
- API Key: Your Anthropic API key grants access to paid API services
- Conversation Data: May contain sensitive personal or business information
- System Integrity: The application should not compromise your system
| Vector | Risk Level | Mitigation |
|---|---|---|
| API key theft from disk | High | System keyring storage (encrypted) |
| API key theft from memory | Medium | Rust memory safety, no logging of keys |
| Man-in-the-middle | High | HTTPS only, certificate validation |
| Malicious plugin (future) | High | Sandboxed execution, permission system |
| Supply chain attack | Medium | Lockfiles, dependency auditing |
| Local data theft | Medium | Optional SQLCipher encryption |
| XSS in WebView | Medium | Strict CSP, input sanitization |
| IPC command injection | Medium | Command whitelist, input validation |
- Primary: System keyring via D-Bus Secret Service API
- GNOME Keyring (GNOME, MATE, Cinnamon)
- KWallet (KDE Plasma)
- Fallback: Encrypted file with user passphrase (if keyring unavailable)
- Never: Plain text files, environment variables on disk, logs
API Key Flow:
User Input → Validation → Keyring Storage → Memory (when needed) → API Call
↓
Encrypted at rest
- Location:
~/.local/share/claude-for-linux/ - Permissions: Directory created with mode 0700 (owner only)
- Database: SQLite with optional SQLCipher encryption
- Future: Full database encryption with key derived from:
- Machine ID
- User salt (stored in keyring)
- PBKDF2-HMAC-SHA512 (256,000 iterations)
- HTTPS only for API communication
- No HTTP fallback
- Certificate validation enabled
- Proxy support with authentication
- No third-party analytics or tracking
The application uses Tauri's capability-based security model:
{
"permissions": [
"core:default",
"app:allow-get-api-key",
"app:allow-set-api-key",
"app:deny-execute-shell"
]
}- Commands require explicit permission grants
- No shell execution commands exposed
- Input validation in Rust backend
default-src 'self';
img-src 'self' data: https:;
script-src 'self';
style-src 'self' 'unsafe-inline';
connect-src 'self' https://api.anthropic.com
pnpm-lock.yamlandCargo.lockcommitted to repository- Dependabot enabled for automated security updates
cargo auditandpnpm auditrun in CI- Signed releases with checksums
When enabled:
- Conversations are not saved to disk
- Only kept in memory during session
- Automatically cleared on app close
- One-click option to clear all local data
- Removes: conversations, messages, settings, API key
- Database file securely deleted
- No analytics or telemetry by default
- Optional opt-in for anonymous usage statistics (future)
- Never collects: conversation content, API keys, personal data
If you discover a security vulnerability, please report it responsibly:
- DO NOT create a public GitHub issue
- Email details to: [security@example.com] (replace with actual contact)
- Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
We aim to respond within 48 hours and provide a fix within 7 days for critical issues.
- Subscribe to GitHub releases for security updates
- Critical vulnerabilities will be announced via GitHub Security Advisories
- Update to the latest version promptly
| Version | Supported |
|---|---|
| 0.1.x | ✅ Current |
| < 0.1 | ❌ Not released |
- Protect your API key: Treat it like a password
- Keep the app updated: Install security updates promptly
- Use Privacy Mode: For sensitive conversations
- Review permissions: Check what the app can access
- Verify downloads: Check checksums of downloaded packages
Major dependencies and their security considerations:
| Dependency | Purpose | Security Notes |
|---|---|---|
| Tauri 2.0 | App framework | Audited by Radically Open Security |
| rusqlite | Database | Well-maintained, bundled SQLite |
| keyring-rs | Secret storage | Uses OS native APIs |
| reqwest | HTTP client | rustls TLS, no OpenSSL |
| React | UI framework | No known critical vulnerabilities |
- ❌ No formal security audit performed
- ✅ Open source for community review
- ✅ Static analysis tools (clippy, eslint) in CI
- 🔄 Planning formal audit for v1.0 release
Last updated: 2024-11-24