// docs / quotas & limits
Cuotas y límites
Cada valor de cuota y límite de tasa que aparece abajo se deriva del módulo de derechos en tiempo de compilación, así que esta página no puede desviarse de lo que el servidor realmente aplica.
Derechos por nivel
| Gratis | Aficionado | Pro | Ilimitado | |
|---|---|---|---|---|
| Escaneos / mes | 3 | 50 | 200 | Plan Unlimited¹ |
| Proyectos (dominios verificados) | 1 | 1 | 5 | 20 |
| Tokens de API | 0 | 1 | 5 | 20 |
| Endpoints de webhook | 0 | 1 | 5 | 20 |
| Sondas activas | no | sí | sí | sí |
| Escaneos de repositorios de GitHub | no | no | sí | sí |
| Reescaneos programados | no | no | cadencia ≥3h | ≥6h cadence |
| Detección de amenazas en vivo | no | no | no | sí |
| Reportes compartibles | no | no | sí | sí |
| Retención | 7 días | 30 días | 90 días | 365 días |
| Asientos de equipo | 1 | 1 | 1 | 5 |
| Soporte | estándar | estándar | prioritario | dedicado |
¹ The Unlimited plan's scan quota is subject to fair use — see Terms. ² The project cap defaults to 20 active-monitoring domains at ≥6h cadence. Contact support@fixvibe.app to raise it in exchange for a longer scheduled cadence.
Límites de tasa de la API
Cada solicitud /api/v1/* y /api/mcp se asocia al hash del token Bearer y pasa por dos ventanas:
- Ráfaga: 10 solicitudes por segundo.
- Estable: 60 solicitudes por minuto.
- Per signed-in user: 30 scan submissions per 10 minutes — a soft cap above the per-plan monthly quota that absorbs bursts without exhausting the daily budget.
En 429, la respuesta incluye:
HTTP/1.1 429 Too Many Requests
content-type: application/json
retry-after: 47
x-ratelimit-limit: 60
x-ratelimit-remaining: 0
x-ratelimit-reset: 1715116200
{
"error": "rate_limited",
"message": "Token rate limit exceeded — steady (60/min). Retry in 47s.",
"retry_after_seconds": 47
}La ventana que se disparó aparece nombrada en el mensaje (burst (10/s) vs. steady (60/min)) para que el backoff del cliente pueda adaptarse.
Límite de tasa de escaneos del plan Free (por IP/24)
On top of the per-org 3-scans-per-month cap, Free plan users face an additional per-IP/24 rate limit: 3 scans per rolling 24 hours per IP /24 block. The same limiter covers anonymous instant scans, which prevents farming Free quota through throwaway accounts on one IP. Requests exceeding the limit return HTTP 429 Too Many Requests with a Retry-After header.
Throttle de registro (por IP/24)
5 registros exitosos por IP/24 cada 24 horas, para evitar la creación automatizada de cuentas en el plan Free. Las devoluciones limitadas redirigen a /sign-in?error=rate_limited.
Retención
Los escaneos + hallazgos se purgan automáticamente según la tabla anterior. Los escaneos anónimos de una sola vez vencen 24h después de crearse. Los audit logs se conservan 18 meses. Los snapshots de monitor se recortan a los últimos 7 días más la línea base más reciente por (dominio, señal). Las alertas descartadas se purgan después de 90 días. Toda la retención se aplica diariamente mediante /api/cron/retention-cleanup.
