// docs / quotas & limits
할당량 및 제한
아래의 모든 할당량 및 요청 제한 값은 빌드 시점에 entitlements 모듈에서 파생되므로 이 페이지는 서버가 실제로 적용하는 내용과 절대 차이가 날 수 없습니다.
플랜별 entitlement
| 무료 | 취미 | 프로 | 무제한 | |
|---|---|---|---|---|
| 월별 scan 수 | 3 | 50 | 200 | Unlimited 플랜¹ |
| 프로젝트(확인된 도메인) | 1 | 1 | 5 | 20 |
| API token | 0 | 1 | 5 | 20 |
| Webhook 엔드포인트 | 0 | 1 | 5 | 20 |
| 액티브 probe | 아니요 | 예 | 예 | 예 |
| GitHub repo scan | 아니요 | 아니요 | 예 | 예 |
| 예약 재스캔 | 아니요 | 아니요 | ≥3h cadence | ≥6h cadence |
| 실시간 위협 감지 | 아니요 | 아니요 | 아니요 | 예 |
| 공유 가능 리포트 | 아니요 | 아니요 | 예 | 예 |
| 보존 기간 | 7일 | 30일 | 90일 | 365일 |
| Team seat | 1 | 1 | 1 | 5 |
| Support | standard | standard | priority | dedicated |
¹ 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 limit
모든 /api/v1/* 및 /api/mcp 요청은 bearer token hash를 기준으로 하며 두 window를 거칩니다.
- Burst: 초당 10 request.
- Steady: 분당 60 request.
- 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가 trip되었는지는 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)
IP/24 기준 24시간 동안 성공한 가입은 5회로 제한되며, Free 플랜에서의 자동 계정 생성을 방지합니다. 속도 제한된 콜백은 /sign-in?error=rate_limited 로 리디렉션됩니다.
보존
Scan + finding은 위 표에 따라 자동 purge됩니다. Anonymous one-shot scan은 생성 후 24시간 뒤 만료됩니다. Audit log는 18개월 보존됩니다. Monitor snapshot은 최근 7일과 (domain, signal)별 최신 baseline만 남깁니다. Dismissed alert는 90일 뒤 삭제됩니다. 모든 보존 정책은 /api/cron/retention-cleanup이 매일 적용합니다.
