173 lines
5.5 KiB
Markdown
173 lines
5.5 KiB
Markdown
# Security Policy
|
||
|
||
## Supported Versions
|
||
|
||
We actively support the following versions of Penpot MCP with security updates:
|
||
|
||
| Version | Supported |
|
||
| ------- | ------------------ |
|
||
| 0.1.x | :white_check_mark: |
|
||
| < 0.1 | :x: |
|
||
|
||
## Reporting a Vulnerability
|
||
|
||
The Penpot MCP team takes security seriously. If you discover a security vulnerability, please follow these steps:
|
||
|
||
### 🔒 Private Disclosure
|
||
|
||
**DO NOT** create a public GitHub issue for security vulnerabilities.
|
||
|
||
Instead, please email us at: **security@montevive.ai**
|
||
|
||
### 📧 What to Include
|
||
|
||
Please include the following information in your report:
|
||
|
||
- **Description**: A clear description of the vulnerability
|
||
- **Impact**: What could an attacker accomplish?
|
||
- **Reproduction**: Step-by-step instructions to reproduce the issue
|
||
- **Environment**: Affected versions, operating systems, configurations
|
||
- **Proof of Concept**: Code, screenshots, or other evidence (if applicable)
|
||
- **Suggested Fix**: If you have ideas for how to fix the issue
|
||
|
||
### 🕐 Response Timeline
|
||
|
||
- **Initial Response**: Within 48 hours
|
||
- **Triage**: Within 1 week
|
||
- **Fix Development**: Depends on severity and complexity
|
||
- **Public Disclosure**: After fix is released and users have time to update
|
||
|
||
### 🏆 Recognition
|
||
|
||
We believe in recognizing security researchers who help keep our users safe:
|
||
|
||
- **Security Hall of Fame**: Public recognition (with your permission)
|
||
- **CVE Assignment**: For qualifying vulnerabilities
|
||
- **Coordinated Disclosure**: We'll work with you on timing and attribution
|
||
|
||
## Security Considerations
|
||
|
||
### 🔐 Authentication & Credentials
|
||
|
||
- **Penpot Credentials**: Store securely using environment variables or secure credential management
|
||
- **API Keys**: Never commit API keys or passwords to version control
|
||
- **Environment Files**: Add `.env` files to `.gitignore`
|
||
|
||
### 🌐 Network Security
|
||
|
||
- **HTTPS Only**: Always use HTTPS for Penpot API connections
|
||
- **Certificate Validation**: Don't disable SSL certificate verification
|
||
- **Rate Limiting**: Respect API rate limits to avoid service disruption
|
||
|
||
### 🛡️ Input Validation
|
||
|
||
- **User Input**: All user inputs are validated and sanitized
|
||
- **File Uploads**: Penpot file parsing includes safety checks
|
||
- **API Responses**: External API responses are validated before processing
|
||
|
||
### 🔍 Data Privacy
|
||
|
||
- **Minimal Data**: We only access necessary Penpot data
|
||
- **No Storage**: Design data is not permanently stored by default
|
||
- **User Control**: Users control what data is shared with AI assistants
|
||
|
||
### 🚀 Deployment Security
|
||
|
||
- **Dependencies**: Regularly update dependencies for security patches
|
||
- **Permissions**: Run with minimal required permissions
|
||
- **Isolation**: Use virtual environments or containers
|
||
|
||
## Security Best Practices for Users
|
||
|
||
### 🔧 Configuration
|
||
|
||
```bash
|
||
# Use environment variables for sensitive data
|
||
export PENPOT_USERNAME="your_username"
|
||
export PENPOT_PASSWORD="your_secure_password"
|
||
export PENPOT_API_URL="https://design.penpot.app/api"
|
||
|
||
# Or use a .env file (never commit this!)
|
||
echo "PENPOT_USERNAME=your_username" > .env
|
||
echo "PENPOT_PASSWORD=your_secure_password" >> .env
|
||
echo "PENPOT_API_URL=https://design.penpot.app/api" >> .env
|
||
```
|
||
|
||
### 🔒 Access Control
|
||
|
||
- **Principle of Least Privilege**: Only grant necessary Penpot permissions
|
||
- **Regular Audits**: Review and rotate credentials regularly
|
||
- **Team Access**: Use team accounts rather than personal credentials for shared projects
|
||
|
||
### 🖥️ Local Development
|
||
|
||
```bash
|
||
# Keep your development environment secure
|
||
chmod 600 .env # Restrict file permissions
|
||
git add .env # This should fail if .gitignore is properly configured
|
||
```
|
||
|
||
### 🤖 AI Integration
|
||
|
||
- **Data Sensitivity**: Be mindful of what design data you share with AI assistants
|
||
- **Public vs Private**: Consider using private AI instances for sensitive designs
|
||
- **Audit Logs**: Monitor what data is being accessed and shared
|
||
|
||
## Vulnerability Disclosure Policy
|
||
|
||
### 🎯 Scope
|
||
|
||
This security policy applies to:
|
||
|
||
- **Penpot MCP Server**: Core MCP protocol implementation
|
||
- **API Client**: Penpot API integration code
|
||
- **CLI Tools**: Command-line utilities
|
||
- **Documentation**: Security-related documentation
|
||
|
||
### ⚠️ Out of Scope
|
||
|
||
The following are outside our direct control but we'll help coordinate:
|
||
|
||
- **Penpot Platform**: Report to Penpot team directly
|
||
- **Third-party Dependencies**: We'll help coordinate with upstream maintainers
|
||
- **AI Assistant Platforms**: Report to respective platform security teams
|
||
|
||
### 🚫 Testing Guidelines
|
||
|
||
When testing for vulnerabilities:
|
||
|
||
- **DO NOT** test against production Penpot instances without permission
|
||
- **DO NOT** access data you don't own
|
||
- **DO NOT** perform destructive actions
|
||
- **DO** use test accounts and data
|
||
- **DO** respect rate limits and terms of service
|
||
|
||
## Security Updates
|
||
|
||
### 📢 Notifications
|
||
|
||
Security updates will be announced through:
|
||
|
||
- **GitHub Security Advisories**: Primary notification method
|
||
- **Release Notes**: Detailed in version release notes
|
||
- **Email**: For critical vulnerabilities (if you've subscribed)
|
||
|
||
### 🔄 Update Process
|
||
|
||
```bash
|
||
# Always update to the latest version for security fixes
|
||
pip install --upgrade penpot-mcp
|
||
|
||
# Or with uv
|
||
uv add penpot-mcp@latest
|
||
```
|
||
|
||
## Contact
|
||
|
||
- **Security Issues**: security@montevive.ai
|
||
- **General Questions**: Use [GitHub Discussions](https://github.com/montevive/penpot-mcp/discussions)
|
||
- **Bug Reports**: [GitHub Issues](https://github.com/montevive/penpot-mcp/issues)
|
||
|
||
---
|
||
|
||
Thank you for helping keep Penpot MCP and our community safe! 🛡️ |