Unbuilt implements enterprise-grade security measures to protect user data, prevent unauthorized access, and ensure platform integrity. This document provides a comprehensive overview of all security features and best practices implemented in the platform.
- Infrastructure Security - HTTPS, security headers, reverse proxy protection
- Application Security - Input validation, authentication, authorization
- Data Security - Encryption, secure storage, audit logging
- Monitoring & Response - Real-time monitoring, threat detection, incident response
Implementation: server/services/jwt.ts, server/auth.ts
- Access Tokens - Short-lived (15 minutes) for API access
- Refresh Tokens - Long-lived (7 days) for token renewal
- Token Rotation - Automatic refresh token rotation on use
- Secure Storage - HttpOnly cookies with secure flags
Security Features:
- Separate secrets for access and refresh tokens
- Automatic token cleanup service
- Token blacklisting on logout
- Configurable expiration times
Implementation: server/services/authorizationService.ts, server/middleware/authorization.ts
Roles:
- Admin - Full system access, user management, security monitoring
- User - Standard platform features, personal data access
- Guest - Limited read-only access to public content
Permissions:
- Resource-based permissions (read, write, delete)
- Hierarchical role inheritance
- Dynamic permission checking
- Resource ownership validation
Implementation: server/services/sessionManager.ts, server/middleware/sessionManagement.ts
Features:
- Secure session storage with Redis/MemoryStore
- Session hijacking detection (IP and User-Agent monitoring)
- Automatic session regeneration
- Concurrent session management
- Session timeout and cleanup
Implementation: server/middleware/inputValidation.ts, shared/auth-schema.ts
Validation Layers:
- Schema Validation - Zod schemas for all inputs
- Sanitization - DOMPurify for HTML content
- Type Safety - TypeScript compile-time validation
- Runtime Checks - Express middleware validation
Protected Against:
- SQL Injection (parameterized queries)
- XSS (Content Security Policy + sanitization)
- CSRF (token-based protection)
- Path traversal attacks
- Command injection
- File upload vulnerabilities
Implementation: server/middleware/rateLimiting.ts
Features:
- Intelligent rate limiting per IP and user
- CAPTCHA integration for suspicious activity
- Sliding window rate limiting
- Configurable limits per endpoint
- Automatic IP blocking for abuse
Rate Limits:
- Authentication endpoints: 5 requests/15 minutes
- API endpoints: 100 requests/15 minutes
- Search endpoints: 10 requests/minute
- CAPTCHA verification: 3 attempts/5 minutes
Implementation: server/services/passwordSecurity.ts, server/services/passwordHistory.ts
Features:
- Bcrypt Hashing - Industry-standard password hashing
- Password History - Prevents reuse of last 12 passwords
- Complexity Requirements - Minimum 8 characters, mixed case, numbers, symbols
- Account Lockout - Progressive lockout after failed attempts
- Password Strength Validation - Real-time strength checking
Account Lockout Policy:
- 3 failed attempts: 5-minute lockout
- 5 failed attempts: 15-minute lockout
- 10 failed attempts: 1-hour lockout
- 20 failed attempts: 24-hour lockout
Implementation: server/middleware/httpsEnforcement.ts, deployment/nginx.conf
Features:
- HTTPS Enforcement - Automatic HTTP to HTTPS redirects
- HSTS Headers - Strict Transport Security with preload
- SSL/TLS Configuration - Modern cipher suites and protocols
- Certificate Management - Automated certificate renewal support
Implementation: server/middleware/securityHeaders.ts
Headers Implemented:
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline'
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()Implementation: server/middleware/securityHeaders.ts
Features:
- Token-based CSRF protection
- Session-integrated tokens
- Automatic token generation and validation
- Multiple token extraction methods (header, body, query)
- API endpoint bypass for JWT authentication
Implementation: server/services/securityLogger.ts, server/middleware/securityMonitoring.ts
Monitored Events:
- Authentication attempts (success/failure)
- Authorization violations
- Rate limit violations
- Session anomalies
- Input validation failures
- Security header violations
- CSRF token violations
- Account lockout events
Log Categories:
- AUTHENTICATION - Login, logout, token refresh
- AUTHORIZATION - Permission checks, role changes
- INPUT_VALIDATION - Validation failures, sanitization
- RATE_LIMITING - Rate limit violations, CAPTCHA triggers
- SESSION_SECURITY - Session creation, hijacking detection
- SECURITY_HEADERS - Header application, violations
- ACCOUNT_LOCKOUT - Lockout events, unlock attempts
Implementation: server/routes/securityDashboard.ts
Features:
- Real-time security metrics
- Event timeline and analysis
- Threat detection alerts
- User activity monitoring
- System health indicators
Access: Admin-only dashboard at /api/security/dashboard
Implementation: server/db.ts, server/storage.ts
Features:
- Parameterized Queries - Drizzle ORM prevents SQL injection
- Connection Security - SSL-encrypted database connections
- Access Control - Database-level user permissions
- Audit Logging - Comprehensive data access logging
- Data Encryption - Sensitive data encryption at rest
Tables:
security_events- Security event loggingpassword_history- Password change historysession_security- Session security metadataaccount_lockouts- Account lockout trackingrate_limit_violations- Rate limiting violations
Implementation: server/config/envValidator.ts, server/config/securityConfig.ts
Validation:
- Required environment variables validation
- Secret strength requirements (minimum 32 characters)
- Production-specific security checks
- Credential detection and validation
- Configuration security assessment
Implementation: server/scripts/securityChecklist.ts, server/scripts/deploymentValidation.ts, server/config/securityConfig.ts
Automated Security Validation:
- Security Checklist - Comprehensive 50+ security checks across all categories
- Deployment Validation - Pre-deployment readiness assessment with critical issue detection
- Environment Validation - Production-specific security requirements verification
- Configuration Security - Security headers, HTTPS enforcement, and CORS validation
Pre-Deployment Checks:
- Environment configuration validation (JWT secrets, database, CORS)
- Security middleware verification (headers, HTTPS, CSRF protection)
- Database security assessment (connection, migrations, schema validation)
- Credential security validation (strength, exposure, demo user removal)
- SSL/TLS configuration check (certificates, HSTS, cipher suites)
- Security header validation (CSP, X-Frame-Options, security policies)
- Authentication system verification (JWT configuration, password policies)
- Session security validation (cookie settings, session management)
- Input validation verification (Zod schemas, sanitization middleware)
- Rate limiting configuration (endpoints, CAPTCHA integration)
- Monitoring system validation (security logging, event tracking)
Deployment Automation:
- Cross-Platform Scripts - Windows (.bat) and Unix (shell) deployment scripts
- Docker Support - Production-ready Docker Compose with security hardening
- Nginx Configuration - Reverse proxy with SSL termination and security headers
- Health Checks - Automated application and service health validation
- Rollback Procedures - Safe deployment with rollback capabilities
Automated Responses:
- Account lockout for brute force attempts
- Rate limiting for suspicious activity
- Session termination for hijacking detection
- CAPTCHA challenges for bot detection
- IP blocking for severe violations
-
Security Breach Detection
- Immediate session invalidation
- User notification
- Security team alert
- Incident logging
-
Data Breach Response
- System isolation
- Forensic analysis
- User communication
- Regulatory compliance
-
Recovery Procedures
- System restoration
- Security patch deployment
- Monitoring enhancement
- Post-incident review
Implementation: server/services/__tests__/comprehensive-security.test.ts
Test Coverage:
- Authentication flow testing
- Authorization boundary testing
- Input validation testing
- Rate limiting verification
- Session security testing
- CSRF protection testing
- Security header validation
Tools:
- Credential Detection -
server/scripts/detectCredentials.ts - Vulnerability Scanning - Automated dependency scanning
- Security Checklist - Comprehensive security validation
- Penetration Testing - Regular security assessments
Compliance:
- OWASP Top 10 - Protection against common vulnerabilities
- NIST Cybersecurity Framework - Comprehensive security controls
- ISO 27001 - Information security management
- SOC 2 Type II - Security and availability controls
Privacy:
- GDPR Compliance - European data protection regulation
- CCPA Compliance - California consumer privacy act
- Data Minimization - Collect only necessary data
- Right to Deletion - User data deletion capabilities
Daily:
- Security event monitoring
- Failed login analysis
- Rate limit violation review
- System health checks
Weekly:
- Security log analysis
- Vulnerability scanning
- Dependency updates
- Configuration review
Monthly:
- Security assessment
- Penetration testing
- Incident response drill
- Security training
Process:
- Vulnerability assessment
- Patch development
- Security testing
- Staged deployment
- Monitoring and validation
Security Team: security@unbuilt.one
Reporting Security Issues:
- Email: security@unbuilt.one
- GitHub Security Advisory
- Responsible disclosure policy
- Bug bounty program (coming soon)
- Deployment Security Guide - Production security setup
- Environment Configuration - Secure environment setup
- Rate Limiting Guide - Rate limiting configuration
- Session Management - Session security details
- Password Security - Password policy details
- Authorization Guide - RBAC implementation
- Security Monitoring - Monitoring setup
Last Updated: October 2024
Version: 2.0
Classification: Public Documentation