Skip to content

Security: Realm-101/Unbuilt

docs/SECURITY.md

Security Documentation

πŸ”’ Overview

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.

πŸ›‘οΈ Security Architecture

Multi-Layer Security Approach

  1. Infrastructure Security - HTTPS, security headers, reverse proxy protection
  2. Application Security - Input validation, authentication, authorization
  3. Data Security - Encryption, secure storage, audit logging
  4. Monitoring & Response - Real-time monitoring, threat detection, incident response

πŸ” Authentication & Authorization

JWT-Based Authentication

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

Role-Based Access Control (RBAC)

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

Session Management

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

πŸ” Input Validation & Sanitization

Comprehensive Validation

Implementation: server/middleware/inputValidation.ts, shared/auth-schema.ts

Validation Layers:

  1. Schema Validation - Zod schemas for all inputs
  2. Sanitization - DOMPurify for HTML content
  3. Type Safety - TypeScript compile-time validation
  4. 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

Rate Limiting & DDoS Protection

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

πŸ”’ Password Security

Advanced Password Protection

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

🌐 Infrastructure Security

HTTPS & Transport Security

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

Security Headers

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=()

CSRF Protection

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

πŸ“Š Security Monitoring & Logging

Real-Time Security Monitoring

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

Security Event Logging

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

Security Dashboard

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

πŸ—„οΈ Database Security

Secure Data Storage

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

Security Audit Tables

Tables:

  • security_events - Security event logging
  • password_history - Password change history
  • session_security - Session security metadata
  • account_lockouts - Account lockout tracking
  • rate_limit_violations - Rate limiting violations

πŸ”§ Security Configuration

Environment Security

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

Deployment Security

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

🚨 Incident Response

Security Event Response

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

Manual Response Procedures

  1. Security Breach Detection

    • Immediate session invalidation
    • User notification
    • Security team alert
    • Incident logging
  2. Data Breach Response

    • System isolation
    • Forensic analysis
    • User communication
    • Regulatory compliance
  3. Recovery Procedures

    • System restoration
    • Security patch deployment
    • Monitoring enhancement
    • Post-incident review

πŸ” Security Testing

Automated Security Testing

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

Security Scanning

Tools:

  • Credential Detection - server/scripts/detectCredentials.ts
  • Vulnerability Scanning - Automated dependency scanning
  • Security Checklist - Comprehensive security validation
  • Penetration Testing - Regular security assessments

πŸ“‹ Security Compliance

Security Standards

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

Data Protection

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

πŸ› οΈ Security Maintenance

Regular Security Tasks

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

Security Updates

Process:

  1. Vulnerability assessment
  2. Patch development
  3. Security testing
  4. Staged deployment
  5. Monitoring and validation

πŸ“ž Security Contact

Security Team: security@unbuilt.one

Reporting Security Issues:

  • Email: security@unbuilt.one
  • GitHub Security Advisory
  • Responsible disclosure policy
  • Bug bounty program (coming soon)

πŸ“š Additional Resources


Last Updated: October 2024
Version: 2.0
Classification: Public Documentation

There aren’t any published security advisories