Summary
internal/api/middleware/ratelimit.go:35-37 fails open (falls back to in-memory limiter) on Redis outage. For auth/OTP/swap endpoints this weakens DoS and brute-force protection exactly when the shared limiter is down.
Acceptance Criteria
Complexity
High.
Summary
internal/api/middleware/ratelimit.go:35-37fails open (falls back to in-memory limiter) on Redis outage. For auth/OTP/swap endpoints this weakens DoS and brute-force protection exactly when the shared limiter is down.Acceptance Criteria
Complexity
High.