This document outlines the security policies, practices, and guidelines for the Substack Replica platform. We take security seriously and implement multiple layers of protection to ensure the safety of our users' data and system resources.
If you discover a security vulnerability, please report it by emailing [email protected]. We will respond within 48 hours.
Please include the following in your report:
- Description of the vulnerability
- Steps to reproduce the issue
- Potential impact
- Any suggested remediation steps
We appreciate your help in keeping our platform secure and will acknowledge your contribution once the vulnerability is verified and fixed.
The platform implements a robust authentication and authorization system using OAuth2 and JWT (JSON Web Tokens):
- Token-Based Authentication: JWTs are signed using HMAC SHA-256 and include role-based claims
- Token Security:
- Tokens are encrypted using industry-standard algorithms
- Token expiration is strictly enforced
- Token validation includes signature verification and role checking
- Session Management:
- Secure session handling with Redis-based storage
- Automatic session invalidation on logout
- Protection against session fixation attacks
We employ industry-standard encryption practices to protect data both at rest and in transit:
- All sensitive data is encrypted using AES-256
- Secure key management following industry best practices
- Regular key rotation policies
- Encrypted database backups
- All communications secured using TLS 1.3
- Strong cipher suites enforced
- Perfect Forward Secrecy (PFS) enabled
- Regular SSL/TLS certificate rotation
To prevent abuse and ensure fair usage of system resources, we implement rate limiting across our API endpoints:
- Default limit: 1000 requests per hour per user
- Rate limits are enforced at the middleware level
- Redis-based distributed rate limiting
- Graceful handling of rate limit exceeded scenarios
- Clear rate limit headers in API responses
Access to resources is strictly controlled through a role-based access control (RBAC) system:
- Admin: Full system access
- Writer: Content creation and management capabilities
- Subscriber: Basic access to content and features
- Guest: Limited public access
- Role validation at middleware level
- Granular permission checking
- Hierarchical role structure
- Audit logging of access attempts
Comprehensive error handling and logging mechanisms are in place to monitor and respond to security events:
- Standardized error codes and responses
- Secure error messages (no sensitive data exposure)
- Centralized error handling middleware
- Custom error types for security-related issues
- Centralized logging system
- Structured log format with standardized fields
- Sensitive data masking in logs
- Log retention policies
- Real-time security event monitoring
The following security headers are implemented across all responses:
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Content-Security-Policy: default-src 'self'
Referrer-Policy: strict-origin-when-cross-origin
We maintain a robust security posture through:
- Regular penetration testing
- Automated vulnerability scanning
- Dependency security audits
- Code security reviews
- Security awareness training
Our security practices align with industry standards and regulations:
- OWASP Security Guidelines
- GDPR Compliance
- CCPA Compliance
- Regular security audits
- Data protection impact assessments
For security-related inquiries or to report vulnerabilities:
- Email: [email protected]
- Response time: Within 48 hours
- Encryption: PGP key available upon request
We are committed to working with security researchers and users to maintain the highest security standards for our platform.