// docs / quotas & limits
Квоты і ліміты
Кожная квота і значэнне rate-limit ніжэй выводзіцца з entitlements module падчас build, таму гэтая старонка не можа разысціся з тым, што сервер рэальна выконвае.
Entitlements па тарыфах
| Бясплатна | Хобі | Про | Без ограничений | |
|---|---|---|---|---|
| Scans / month | 3 | 50 | 200 | План Unlimited¹ |
| Projects (verified domains) | 1 | 1 | 5 | 20 |
| API tokens | 0 | 1 | 5 | 20 |
| Webhook endpoints | 0 | 1 | 5 | 20 |
| Active probes | не | так | так | так |
| GitHub repo scans | не | не | так | так |
| Scheduled re-scans | не | не | cadence ≥3h | ≥6h cadence |
| Live threat detection | не | не | не | так |
| Sharable reports | не | не | так | так |
| Retention | 7 дзён | 30 дзён | 90 дзён | 365 дзён |
| Team seats | 1 | 1 | 1 | 5 |
| Support | стандартная | стандартная | прыярытэтная | выдзеленая |
¹ 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.
API rate limits
Кожны request /api/v1/* і /api/mcp keyed on hash bearer token і праходзіць праз два windows:
- Burst: 10 requests per second.
- Steady: 60 requests per minute.
- 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.
Пры 429 response ўключае:
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
}Window, які спрацаваў, названы ў message (burst (10/s) vs steady (60/min)), каб client backoff мог адаптавацца.
Ліміт хуткасці сканіравання плана Free (на 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.
Signup throttle (per IP/24)
5 паспяховых рэгістрацый на IP/24 за 24 гадзіны, каб прадухіліць аўтаматычнае стварэнне ўліковых запісаў плана Free. Абмежаваныя callback перанакіроўваюцца на /sign-in?error=rate_limited.
Захаванне
Scans + findings auto-purge па табліцы вышэй. Anonymous one-shot scans expire 24h пасля creation. Audit logs retain 18 months. Monitor snapshots prune да last 7 days плюс latest baseline per (domain, signal). Dismissed alerts purge праз 90 days. Усё retention enforced daily by /api/cron/retention-cleanup.
