We take security seriously and actively maintain security updates for the following versions of Mustache Cashstage:
| Version | Supported | Support Level |
|---|---|---|
| 0.1.x | β Current | Full security support |
| < 0.1 | β Deprecated | No security support |
Note: As this is an early-stage project, we currently maintain only the latest version. Once we reach v1.0, we will maintain security support for at least two major versions.
Our security implementation follows industry best practices across multiple layers:
- JWT Tokens: Secure token-based authentication with proper expiration
- OAuth 2.0: Google OAuth integration with secure redirect handling
- Role-Based Access Control (RBAC): Admin, Editor, and Viewer roles
- Session Management: Secure session handling with automatic expiration
- Multi-Factor Authentication: Planned for production deployment
- Rate Limiting: Multi-tier throttling (per second, minute, 15 minutes)
- Input Validation: Zod schema validation for all API endpoints
- SQL Injection Prevention: Parameterized queries via Prisma ORM
- CORS Configuration: Properly configured cross-origin resource sharing
- Security Headers: Comprehensive HTTP security headers implementation
- Encryption at Rest: Database encryption for sensitive data
- Encryption in Transit: TLS 1.3 for all communications
- Environment Variable Security: Secure handling of secrets and API keys
- Data Sanitization: Comprehensive input/output sanitization
- Privacy by Design: Minimal data collection and retention policies
- Container Security: Secure Docker configurations with non-root users
- Network Isolation: Proper network segmentation and firewall rules
- Secrets Management: Secure environment variable handling
- Dependency Scanning: Automated vulnerability scanning for dependencies
- Security Monitoring: Comprehensive logging and monitoring implementation
If you discover a security vulnerability in Mustache Cashstage, please report it responsibly:
Email: security@mustache-cashstage.dev (replace with actual email)
Subject: [CRITICAL SECURITY] Brief description
GitHub: Use our private vulnerability reporting feature
- Go to the Security tab in our GitHub repository
- Click "Report a vulnerability"
- Fill out the security advisory form
Please provide as much information as possible to help us understand and resolve the issue quickly:
**Vulnerability Summary**
Brief description of the vulnerability
**Affected Components**
- Application: Web/API/Worker
- Version: Specific version affected
- Environment: Development/Staging/Production
**Attack Vector**
- How the vulnerability can be exploited
- Prerequisites for exploitation
- Potential impact assessment
**Proof of Concept**
- Step-by-step reproduction steps
- Screenshots or screen recordings (if applicable)
- Code snippets demonstrating the issue
**Suggested Mitigation**
- Immediate workarounds (if any)
- Proposed fix or remediation approach
- Priority assessment from your perspective
**Your Environment**
- Operating System
- Browser (if applicable)
- Network configuration (if relevant)
We use the Common Vulnerability Scoring System (CVSS) v3.1 to assess vulnerability severity:
- Impact: Complete system compromise, data breach, or service disruption
- Examples: Remote code execution, SQL injection with data access, authentication bypass
- Response Time: 24 hours acknowledgment, 72 hours initial fix
- Impact: Significant system compromise or data exposure
- Examples: Privilege escalation, cross-site scripting with data access, insecure direct object references
- Response Time: 48 hours acknowledgment, 1 week initial fix
- Impact: Limited system compromise or information disclosure
- Examples: Cross-site scripting (non-persistent), information leakage, weak authentication
- Response Time: 1 week acknowledgment, 2 weeks initial fix
- Impact: Minimal security impact
- Examples: Information disclosure (non-sensitive), minor configuration issues
- Response Time: 2 weeks acknowledgment, next release cycle fix
- Acknowledgment: Within 24-48 hours for all reports
- Initial Assessment: Within 72 hours - CVSS scoring and impact analysis
- Investigation: Detailed analysis and reproduction of the vulnerability
- Coordination: Work with reporter on disclosure timeline and fix validation
- Resolution: Patch development, testing, and deployment
- Disclosure: Public disclosure after fix deployment (coordinated with reporter)
- Acknowledge receipt of vulnerability report
- Assign internal security tracking ID
- Perform initial CVSS assessment
- Determine affected components and versions
- Establish communication channel with reporter
- Reproduce the vulnerability in controlled environment
- Analyze root cause and potential attack vectors
- Assess impact on users and data
- Develop preliminary fix strategy
- Coordinate with reporter on findings
- Develop and test security patches
- Perform regression testing to ensure no new issues
- Prepare security advisory and changelog
- Coordinate deployment timeline
- Validate fix with original reporter
- Deploy fixes to all affected environments
- Publish security advisory with details
- Credit security researcher (with permission)
- Update security documentation
- Conduct post-incident review
- Input validation implemented for all user inputs
- Output encoding applied to prevent XSS
- Authentication and authorization checks in place
- No hardcoded secrets or credentials
- Proper error handling without information leakage
- Secure random number generation where needed
- SQL queries use parameterized statements
- File upload restrictions and validation implemented
# Use secure environment variable handling
# β
Good
const dbUrl = process.env.DATABASE_URL || 'fallback-for-dev'
# β Bad - exposes sensitive data in logs
console.log('Connecting to:', process.env.DATABASE_URL)
# β
Good - secure logging
console.log('Connecting to database...')// β
Secure API endpoint example
@Controller('data-sources')
export class DataSourceController {
@UseGuards(JwtAuthGuard, RoleGuard)
@Roles('admin', 'editor')
@Get(':id')
async getDataSource(
@Param('id', ParseUUIDPipe) id: string,
@CurrentUser() user: User
) {
// Validate user has access to this resource
const dataSource = await this.dataSourceService.findByIdAndUser(id, user.id);
if (!dataSource) {
throw new NotFoundException('Data source not found');
}
return dataSource;
}
}- Authentication Testing: Verify all protected endpoints require valid authentication
- Authorization Testing: Ensure role-based access controls work correctly
- Input Validation: Test all inputs for injection attacks and malformed data
- Session Management: Verify secure session handling and timeout
- Error Handling: Ensure no sensitive information leaks in error messages
We use automated tools to continuously monitor security:
- Dependency Scanning:
npm auditand Snyk integration - Static Code Analysis: ESLint security rules and SonarQube
- Container Scanning: Docker image vulnerability scanning
- Dynamic Testing: Automated penetration testing in staging
We follow responsible disclosure practices:
- Private Reporting: Initial vulnerability report kept confidential
- Collaborative Investigation: Work with security researchers to validate and fix issues
- Coordinated Timeline: Agree on disclosure timeline (typically 90 days maximum)
- Public Disclosure: Publish details after fix deployment
- Credit Attribution: Recognize security researchers (with their permission)
When we publish security advisories, they include:
# Security Advisory: [ADVISORY-ID]
**Severity**: Critical/High/Medium/Low
**CVSS Score**: X.X (Vector string)
**Affected Versions**: X.X.X - Y.Y.Y
**Fixed Versions**: Z.Z.Z+
## Summary
Brief description of the vulnerability
## Impact
What attackers could accomplish with this vulnerability
## Affected Components
- Component 1
- Component 2
## Mitigation
Immediate steps users can take to protect themselves
## Solution
How the vulnerability was fixed
## Timeline
- Discovery: YYYY-MM-DD
- Acknowledgment: YYYY-MM-DD
- Fix Release: YYYY-MM-DD
- Public Disclosure: YYYY-MM-DD
## Credits
Security researcher name (with permission)- Contributing Guidelines: Secure development practices
- Development Guide: Secure local environment setup
- API Documentation: Authentication and authorization details
- ESLint Security Rules: Automated security issue detection
- Dependency Scanning: Regular vulnerability assessments
- Container Security: Secure Docker configurations
- Environment Management: Secure secrets handling
- OWASP Top 10: Web application security risks
- NIST Cybersecurity Framework: Security standards
- CWE/SANS Top 25: Most dangerous software errors
- CVSS Calculator: Vulnerability scoring
- Email: security@mustache-cashstage.dev
- PGP Key: [Link to public key] (for encrypted communications)
- Response Time: 24-48 hours
For critical vulnerabilities requiring immediate attention:
- Email: critical-security@mustache-cashstage.dev
- Response Time: 24 hours maximum
- Security Lead: [Name and GitHub handle]
- Backend Security: [Name and GitHub handle]
- Frontend Security: [Name and GitHub handle]
- Infrastructure Security: [Name and GitHub handle]
We support security research and vulnerability disclosure activities. We will not pursue legal action against security researchers who:
- Follow responsible disclosure practices outlined in this policy
- Do not access or modify user data beyond what is necessary to demonstrate the vulnerability
- Do not disrupt our services or degrade user experience
- Do not access or download data that doesn't belong to them
- Report vulnerabilities promptly and in good faith
By participating in our security program, you agree to:
- Not publicly disclose vulnerabilities until we've had time to fix them
- Not access user accounts or data beyond what's necessary for research
- Provide detailed information to help us reproduce and fix issues
- Allow us to validate fixes before public disclosure
- Respect our users' privacy and our intellectual property
Thank you for helping keep Mustache Cashstage secure! Your responsible disclosure of security vulnerabilities helps protect our users and makes our platform stronger. Together, we can build a secure marketing analytics platform that users can trust with their data.