// docs / quotas & limits
Quote e limiti
Ogni valore di quota e rate limit qui sotto deriva dal modulo degli entitlement al momento della build, quindi questa pagina non può mai divergere da ciò che il server applica davvero.
Diritti per piano
| Gratuito | Hobby | Pro | Illimitato | |
|---|---|---|---|---|
| Scansioni / mese | 3 | 50 | 200 | Piano Unlimited¹ |
| Progetti (domini verificati) | 1 | 1 | 5 | 20 |
| Token API | 0 | 1 | 5 | 20 |
| Endpoint webhook | 0 | 1 | 5 | 20 |
| Sonde attive | no | sì | sì | sì |
| Scansioni repo GitHub | no | no | sì | sì |
| Ri-scansioni pianificate | no | no | cadenza ≥3 h | ≥6h cadence |
| Rilevamento minacce in tempo reale | no | no | no | sì |
| Report condivisibili | no | no | sì | sì |
| Conservazione | 7 giorni | 30 giorni | 90 giorni | 365 giorni |
| Posti team | 1 | 1 | 1 | 5 |
| Supporto | standard | standard | prioritario | dedicato |
¹ 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.
Rate limit API
Ogni richiesta /api/v1/* e /api/mcp è indicizzata su un hash del bearer token e passa attraverso due finestre:
- Burst: 10 richieste al secondo.
- Steady: 60 richieste al 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.
Su 429, la risposta include:
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 finestra che ha fatto scattare il limite è indicata nel messaggio (burst (10/s) vs steady (60/min)) così il backoff di un client può adattarsi.
Limite di velocità delle scansioni del piano Free (per 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 registrazione (per IP/24)
5 registrazioni riuscite per IP/24 ogni 24 ore, per impedire la creazione automatizzata di account sul piano Free. I callback limitati vengono reindirizzati a /sign-in?error=rate_limited.
Conservazione
Scansioni + segnalazioni vengono eliminate automaticamente secondo la tabella sopra. Le scansioni anonime una tantum scadono 24 h dopo la creazione. Gli audit log restano per 18 mesi. Gli snapshot di monitor vengono potati agli ultimi 7 giorni più la baseline più recente per (dominio, segnale). Gli alert ignorati vengono eliminati dopo 90 giorni. Tutta la conservazione è applicata ogni giorno da /api/cron/retention-cleanup.
