"""Per-account rate limiter shared across document and cloud routers (D-12).""" from __future__ import annotations from fastapi import Request from slowapi import Limiter def _account_key(request: Request) -> str: user = getattr(request.state, "current_user", None) if user is not None: return str(user.id) if request.client: return request.client.host return "anonymous" account_limiter = Limiter(key_func=_account_key)