Problem
The RateLimitGuard and RateLimitService have gaps: user tiers default to free with no way to configure different limits, JWT payload doesn't include a tier field, IP-based rate limiting uses in-memory storage only (no Redis), GraphQL endpoints not rate-limited.
Why It Matters
Without effective rate limiting, API endpoints are vulnerable to abuse and DoS attacks.
Expected Outcome
Configurable, persistent, tier-based rate limiting that survives restarts.
Acceptance Criteria
Files Affected
src/auth/rate-limit.service.ts, src/auth/rate-limit.config.ts, src/auth/guards/rate-limit.guard.ts, src/auth/types/auth-user.type.ts
Difficulty
Medium
Estimated Effort
Medium (1 week)
Labels
rate-limiting, security, enhancement
Problem
The RateLimitGuard and RateLimitService have gaps: user tiers default to free with no way to configure different limits, JWT payload doesn't include a tier field, IP-based rate limiting uses in-memory storage only (no Redis), GraphQL endpoints not rate-limited.
Why It Matters
Without effective rate limiting, API endpoints are vulnerable to abuse and DoS attacks.
Expected Outcome
Configurable, persistent, tier-based rate limiting that survives restarts.
Acceptance Criteria
Files Affected
src/auth/rate-limit.service.ts, src/auth/rate-limit.config.ts, src/auth/guards/rate-limit.guard.ts, src/auth/types/auth-user.type.ts
Difficulty
Medium
Estimated Effort
Medium (1 week)
Labels
rate-limiting, security, enhancement