At SaaS Platform, security, tenant data isolation, and privacy are foundational. This document outlines our security policies, vulnerability disclosure procedures, and response SLAs.
We issue security patches and updates for the following active release branches:
| Version | Supported | Security Maintenance Status |
|---|---|---|
3.x.x |
✅ Yes | Current Active Release |
2.x.x |
Security patches for Critical CVSS > 8.0 | |
< 2.0 |
❌ No | End of Life (EOL) |
DO NOT report security vulnerabilities, multi-tenant isolation breaches, or secret leaks via public GitHub issues.
If you discover a security vulnerability or multi-tenant boundary flaw:
- Email our dedicated security team at
security@saasplatform.dev. - Include standard technical context:
- Type of issue (e.g., Cross-Tenant Access, RBAC Bypass, SQL Injection, JWT Flaw).
- Affected module (
auth,workspace,platform,common). - Step-by-step proof-of-concept (PoC) or script.
- Impact assessment (potential data access or escalation path).
We adhere to standard coordinated vulnerability disclosure timelines:
| Severity (CVSS v3.1) | Initial Response SLA | Triage & Assessment | Patch Release Goal |
|---|---|---|---|
| Critical (9.0 - 10.0) | < 4 hours | < 12 hours | < 48 hours |
| High (7.0 - 8.9) | < 12 hours | < 24 hours | < 5 business days |
| Medium (4.0 - 6.9) | < 24 hours | < 3 business days | < 14 business days |
| Low (0.1 - 3.9) | < 48 hours | < 5 business days | Next scheduled release |
The platform maintains security defense-in-depth across multiple layers:
- Workspace Multi-Tenancy Isolation: Every tenant request carries a validated
workspace_idin context. Database queries MUST explicitly filter by workspace scope. - RBAC + PBAC Policy Enforcement: Handlers evaluate
EnforcePermission(ctx, workspaceID, permission)prior to executing business logic. - Separation of Duties (SoD): High-privilege actions (such as transferring workspace ownership or modifying global security policies) enforce mandatory dual-control checks.
- Secret Protection: API keys, DB passwords, and JWT signing keys are ingested strictly via environment variables (
.env.example). Hardcoding credentials in source code is blocked by CI hooks.