We actively support the following versions of Secure Pastebin with security updates:
| Version | Supported |
|---|---|
| 1.x.x | β Fully supported |
| < 1.0 | β Not supported |
We take security seriously. If you discover a security vulnerability, please follow these steps:
DO NOT create a public GitHub issue for security vulnerabilities.
Instead, please email us directly at:
- Email: security@your-domain.com (replace with your actual email)
- Subject: [SECURITY] Brief description of the vulnerability
Please include the following information in your report:
- Vulnerability Description: Clear description of the security issue
- Impact Assessment: What could an attacker achieve?
- Reproduction Steps: Step-by-step instructions to reproduce the issue
- Proof of Concept: Code, screenshots, or examples (if applicable)
- Suggested Fix: If you have ideas for how to fix it
- Your Contact Info: How we can reach you for follow-up questions
We are committed to responding quickly to security reports:
- Initial Response: Within 24 hours
- Status Update: Within 72 hours
- Fix Timeline: Within 7 days for critical issues, 30 days for others
Security researchers who responsibly disclose vulnerabilities will be:
- Credited in our security advisories (if desired)
- Listed in our hall of fame
- Thanked publicly (with permission)
Secure Pastebin implements multiple layers of security:
- HTML Escaping: All user content is escaped to prevent XSS attacks
- Content Validation: Suspicious patterns are detected and flagged
- Size Limits: Configurable maximum paste size (default: 1MB)
- Character Encoding: Proper UTF-8 handling and validation
- Secure IDs: Cryptographically secure paste identifiers (12+ characters)
- No Enumeration: Paste IDs cannot be guessed or brute-forced
- One-Time View: Optional automatic deletion after first access
- Manual Deletion: Recipients can delete pastes before expiration
- Creation Limits: Configurable per-IP paste creation limits
- View Limits: Configurable per-IP paste viewing limits
- Abuse Prevention: Automatic blocking of suspicious activity
- Automatic Cleanup: Expired pastes are automatically deleted
- No Persistent Storage: No permanent data storage beyond expiry
- IP Hashing: IP addresses are hashed for analytics (not stored raw)
- Minimal Logging: Only essential error information is logged
- Edge Computing: Runs on Cloudflare's secure global network
- TLS Encryption: All traffic is encrypted in transit
- KV Storage: Distributed storage with automatic TTL cleanup
- Zero Dependencies: Minimal external dependencies reduce attack surface
We are transparent about current limitations:
- KV TTL Precision: Cloudflare KV TTL is approximate, not exact
- Rate Limiting: Current implementation is basic; consider Durable Objects for stricter enforcement
- Content Scanning: Pattern detection is heuristic-based, not comprehensive
- Analytics Privacy: While IP addresses are hashed, consider disabling for maximum privacy
The following are generally considered out of scope for security reports:
- Public Pastes: Pastes are designed to be publicly accessible via their URLs
- No Authentication: The service is intentionally anonymous
- Temporary Storage: Data is not permanently stored
- Social Engineering: Issues requiring user interaction beyond normal usage
- Physical Access: Issues requiring physical access to user devices
- Browser Extensions: Issues specific to third-party browser extensions
- Denial of Service: Basic DoS attacks (rate limiting handles this)
- Cloudflare Issues: Security issues in Cloudflare's infrastructure
- Browser Bugs: Security issues in specific browsers
- Network Issues: Issues with user's network or ISP
For production deployments, we recommend:
# wrangler.toml
[vars]
MAX_PASTE_SIZE = "524288" # 512KB max (reduce for tighter security)
RATE_LIMIT_CREATE = "5" # 5 pastes per minute per IP
RATE_LIMIT_VIEW = "50" # 50 views per minute per IP
ANALYTICS_ENABLED = "false" # Disable for maximum privacyThe application automatically sets security headers:
X-Content-Type-Options: nosniffX-Frame-Options: DENYX-XSS-Protection: 1; mode=blockReferrer-Policy: strict-origin-when-cross-originContent-Security-Policy: default-src 'self'(planned)
- Secrets Management: Use Wrangler secrets for sensitive configuration
- Environment Separation: Use separate KV namespaces for dev/staging/prod
- Access Control: Limit Cloudflare account access to necessary personnel
Regularly review your deployment:
- Check KV Storage: Monitor for unusual paste patterns
- Review Analytics: Look for suspicious usage patterns
- Monitor Logs: Check Wrangler logs for errors or attacks
- Test Rate Limits: Verify rate limiting is working correctly
We welcome security audits from:
- Security Researchers: Independent security reviews
- Bug Bounty Platforms: Coordinated disclosure programs
- Enterprise Users: Internal security assessments
- Wrangler Security Scanning
- npm audit for dependency scanning
- TypeScript strict mode for type safety
For security-related questions or concerns:
- Security Email: security@your-domain.com
- General Issues: GitHub Issues
- Documentation: This SECURITY.md file
Thank you for helping keep Secure Pastebin secure! π