// docs / quotas & limits
할당량 및 제한
아래의 모든 할당량 및 요청 제한 값은 빌드 시점에 entitlements 모듈에서 파생되므로 이 페이지는 서버가 실제로 적용하는 내용과 절대 차이가 날 수 없습니다.
플랜별 entitlement
| 무료 | 취미 | 프로 | 무제한 | |
|---|---|---|---|---|
| 월별 scan 수 | 3 | 50 | 200 | Unlimited 플랜¹ |
| 프로젝트(확인된 도메인) | 1 | 1 | 5 | 20 |
| API token | 0 | 1 | 5 | 20 |
| Owner-depth scans | 아니요 | 예 | 예 | 예 |
| GitHub repo scan | 아니요 | 아니요 | 예 | 예 |
| 예약 재스캔 | 아니요 | 아니요 | ≥3h cadence | ≥1h cadence |
| 실시간 위협 감지 | 아니요 | 아니요 | 아니요 | 예 |
| 보존 기간 | 7일 | 30일 | 90일 | 365일 |
| Team seat | 1 | 1 | 1 | 5 |
| Support | standard | standard | priority | dedicated |
¹ Unlimited 플랜의 스캔 한도는 공정 사용 정책의 적용을 받습니다 — 약관 을 참조하세요. ² 기본 한도는 ≥1h 주기의 액티브 모니터링 도메인 20개입니다. 더 긴 예약 주기로 한도를 올리려면 support@fixweb.app 으로 문의해 주세요.
API rate limit
모든 /api/v1/* 및 /api/mcp 요청은 bearer token hash를 기준으로 하며 두 window를 거칩니다.
- Burst: 초당 10 request.
- Steady: 분당 60 request.
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 기준)
조직당 월 3회 스캔 한도 외에 Free 플랜 사용자에게는 IP/24 기준의 추가 속도 제한이 적용됩니다: 시간당 3회 스캔, 하루 100회. 동일한 리미터는 익명 즉시 스캔도 다루어 일회용 계정으로 Free 한도를 소모하는 것을 막습니다. 어느 쪽이든 한도를 초과한 요청은 Retry-After 헤더와 함께 HTTP 429 Too Many Requests를 반환합니다.
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이 매일 적용합니다.
