Sleek Coach Docs

Security Documentation

This document outlines the security architecture, practices, and compliance measures implemented in the Sleek Coach application.

Table of Contents


Security Architecture

Defense in Depth

The application implements multiple layers of security:

  1. Network Layer: HTTPS enforcement, CORS restrictions, rate limiting
  2. Application Layer: Input validation, output encoding, authentication
  3. Data Layer: Encryption at rest, parameterized queries, access controls
  4. Infrastructure Layer: AWS security groups, IAM roles, secrets management

Key Security Components

Component Location Purpose
Security Headers Middleware apps/api/app/middleware/security_headers.py XSS, clickjacking protection
Rate Limiter apps/api/app/middleware/rate_limit.py DoS protection
Auth Dependencies apps/api/app/auth/dependencies.py Route protection
Policy Engine apps/api/app/coach_ai/policies/ AI safety guardrails

Authentication & Authorization

JWT Token System

Password Security

Password Requirements

Session Management


Data Protection

Encryption

Data Type At Rest In Transit
Passwords Argon2id hashed TLS 1.2+
Tokens SHA-256 hashed TLS 1.2+
Photos S3 server-side encryption HTTPS presigned URLs
Database AWS RDS encryption TLS connections

Sensitive Data Handling

Data Access Controls


OWASP Top 10 Compliance

A01:2021 - Broken Access Control

Status: Mitigated

A02:2021 - Cryptographic Failures

Status: Mitigated

A03:2021 - Injection

Status: Mitigated

A04:2021 - Insecure Design

Status: Mitigated

A05:2021 - Security Misconfiguration

Status: Mitigated

A06:2021 - Vulnerable and Outdated Components

Status: Ongoing

A07:2021 - Identification and Authentication Failures

Status: Mitigated

A08:2021 - Software and Data Integrity Failures

Status: Mitigated

A09:2021 - Security Logging and Monitoring Failures

Status: Mitigated

A10:2021 - Server-Side Request Forgery (SSRF)

Status: Mitigated


API Security

Security Headers

Applied to all responses:

X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin
Cache-Control: no-store
Strict-Transport-Security: max-age=31536000; includeSubDomains (production only)

CORS Configuration

Rate Limiting

Endpoint Limit
Auth endpoints 5 requests / 15 minutes
General API 100 requests / 60 seconds

Request Timeouts


Mobile Security

Token Storage

API Client Security

Input Validation


AI Coach Safety

Safety Policy Engine

Located in apps/api/app/coach_ai/policies/:

  1. Eating Disorder Detection: Keyword and pattern matching for concerning requests
  2. Calorie Safety: Minimum thresholds (1200F/1500M), maximum deficit (1000 cal/day)
  3. Medical Claims: Blocks dangerous medical advice
  4. Weight Loss Rate: Maximum 1% body weight per week

Tool Access Controls

Response Filtering


Security Testing

Automated Tests

Test File Coverage
tests/security/test_auth_bypass.py Token validation, tampering, type confusion
tests/security/test_injection.py SQL, XSS, command, path traversal, NoSQL, header injection

Test Categories

  1. Authentication Bypass
    • Expired token rejection
    • Malformed token handling
    • Wrong secret rejection
    • Payload tampering detection
    • “None” algorithm attack prevention
  2. Injection Prevention
    • SQL injection in email, search, pagination
    • XSS in user-provided content
    • Command injection in display names
    • Path traversal in S3 keys
    • NoSQL injection in JSON fields
    • Header injection (CRLF)

Running Security Tests

cd apps/api
uv run pytest tests/security/ -v

Incident Response

Security Issue Reporting

For security vulnerabilities, please email: security@sleekcoach.app

Response Process

  1. Triage: Assess severity and impact
  2. Contain: Isolate affected systems if necessary
  3. Investigate: Determine root cause
  4. Remediate: Deploy fix
  5. Document: Update security documentation

Severity Levels

Level Description Response Time
Critical Active exploitation, data breach Immediate
High Exploitable vulnerability 24 hours
Medium Vulnerability requiring auth 72 hours
Low Defense in depth improvement Next release

Changelog

Phase 12.3 - Security Audit (2024)