# Security Policy
## Supported Versions
| 0.1.x | :white_check_mark: |
## Reporting a Vulnerability
If you discover a security vulnerability in Vyctor, please report it responsibly:
1. **Do not** open a public GitHub issue for security vulnerabilities
2. Email the maintainer directly at [hej@antonmagnusson.se] with:
- A description of the vulnerability
- Steps to reproduce
- Potential impact
- Any suggested fixes (optional)
## Security Considerations
### API Keys
Vyctor supports external embedding providers (OpenAI, Voyage AI) that require API keys:
- **Never commit API keys** to version control
- Store API keys in environment variables or `.env` files
- The `.env` file is excluded from indexing by default
- API keys are only read from environment variables, never stored in the vyctor database
### Configuration
- `vyctor.config.toml` is designed to be committed to version control
- It contains no secrets—only references to environment variable names
- The `.vyctor/` directory (containing the database) can be gitignored
### Local Data Storage
- Vyctor stores file content chunks in a local DuckDB database (`.vyctor/index.duckdb`)
- The database is stored locally and is not transmitted anywhere
- When using external embedding providers, file content is sent to their APIs
### File Access
- Vyctor only reads files matching your configured include patterns
- Sensitive files can be excluded using the `exclude` patterns in configuration
- By default, common sensitive patterns are excluded:
- `.env` and `.env.*` files
- `secrets/` directories
- Various lock files
### Daemon Process
- The watch daemon runs as a local process
- It only monitors files in the configured project directory
- PID and log files are stored in `.vyctor/`
## Best Practices
1. **Review your include/exclude patterns** before running `vyctor init`
2. **Use local embeddings** for sensitive codebases (no data leaves your machine)
3. **Keep the `.vyctor/` directory in `.gitignore`** (added automatically by `vyctor init`)
4. **Regularly update** to get security fixes
## Third-Party Dependencies
Vyctor uses several third-party Rust crates. We monitor these for security advisories and update promptly when issues are discovered. You can audit dependencies using:
```bash
cargo audit
```