// docs / quotas & limits
โควตาและขีดจำกัด
ค่า quota และ rate-limit ทุกค่าด้านล่างมาจากโมดูล entitlements ตอน build ดังนั้นหน้านี้จะไม่คลาดจากสิ่งที่ server บังคับใช้จริง
สิทธิ์ตามแพ็กเกจ
| ฟรี | งานอดิเรก | โปร | Unlimited | |
|---|---|---|---|---|
| การสแกน / เดือน | 3 | 50 | 200 | แพ็กเกจ Unlimited¹ |
| โปรเจกต์ (โดเมนที่ยืนยันแล้ว) | 1 | 1 | 5 | 20 |
| API token | 0 | 1 | 5 | 20 |
| Endpoint webhook | 0 | 1 | 5 | 20 |
| การตรวจแบบ Active | ไม่ | ใช่ | ใช่ | ใช่ |
| การสแกน repo GitHub | ไม่ | ไม่ | ใช่ | ใช่ |
| การสแกนซ้ำตามกำหนดเวลา | ไม่ | ไม่ | cadence ≥3h | ≥6h cadence |
| การตรวจจับภัยคุกคามแบบสด | ไม่ | ไม่ | ไม่ | ใช่ |
| รายงานที่แชร์ได้ | ไม่ | ไม่ | ใช่ | ใช่ |
| การเก็บรักษา | 7 วัน | 30 วัน | 90 วัน | 365 วัน |
| ที่นั่งทีม | 1 | 1 | 1 | 5 |
| การสนับสนุน | มาตรฐาน | มาตรฐาน | ลำดับความสำคัญ | เฉพาะทาง |
¹ 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
ทุก request /api/v1/* และ /api/mcp keyed ด้วย hash ของ bearer token และผ่านสอง windows:
- Burst: 10 requests ต่อวินาที
- Steady: 60 requests ต่อนาที
- 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) เทียบกับ 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 (ต่อ IP/24)
5 การสมัครสำเร็จต่อ IP/24 ในทุก 24 ชั่วโมง เพื่อป้องกันการสร้างบัญชีแพ็กเกจ Free แบบอัตโนมัติ Callback ที่ถูกจำกัดจะเปลี่ยนเส้นทางไปที่ /sign-in?error=rate_limited
การเก็บรักษา
Scans + findings auto-purge ตามตารางด้านบน Anonymous one-shot scans หมดอายุ 24h หลังสร้าง Audit logs เก็บ 18 เดือน Monitor snapshots prune เหลือ 7 วันล่าสุดพร้อม baseline ล่าสุดต่อ (domain, signal) Dismissed alerts purge หลัง 90 วัน Retention ทั้งหมดบังคับใช้ทุกวันโดย /api/cron/retention-cleanup
