// docs / quotas & limits
Kuota & batas
Setiap nilai kuota dan batas laju di bawah ini berasal dari modul entitlement pada waktu build, sehingga halaman ini tidak bisa melenceng dari yang benar-benar diberlakukan server.
Entitlement per tingkatan
| Gratis | Hobi | Pro | Tak Terbatas | |
|---|---|---|---|---|
| Pemindaian / bulan | 3 | 50 | 200 | Paket UnlimitedΒΉ |
| Proyek (domain terverifikasi) | 1 | 1 | 5 | 20 |
| Token API | 0 | 1 | 5 | 20 |
| Endpoint webhook | 0 | 1 | 5 | 20 |
| Probe aktif | tidak | ya | ya | ya |
| Pemindaian repo GitHub | tidak | tidak | ya | ya |
| Pemindaian ulang terjadwal | tidak | tidak | cadence β₯3j | β₯6h cadence |
| Deteksi ancaman langsung | tidak | tidak | tidak | ya |
| Laporan yang dapat dibagikan | tidak | tidak | ya | ya |
| Retensi | 7 hari | 30 hari | 90 hari | 365 hari |
| Kursi tim | 1 | 1 | 1 | 5 |
| Dukungan | standar | standar | prioritas | khusus |
ΒΉ 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.
Batas laju API
Setiap request /api/v1/* dan /api/mcp dikunci pada hash token bearer dan melewati dua window:
- Burst: 10 request per detik.
- Steady: 60 request per menit.
- 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.
Pada 429, respons menyertakan:
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 yang terpicu dinamai dalam pesan (burst (10/s) vs steady (60/min)) sehingga backoff klien dapat beradaptasi.
Batas kecepatan pemindaian paket 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 pendaftaran (per IP/24)
5 pendaftaran sukses per IP/24 setiap 24 jam, untuk mencegah pembuatan akun paket Free secara otomatis. Callback yang dibatasi diarahkan ke /sign-in?error=rate_limited.
Retensi
Pemindaian + temuan otomatis dibersihkan sesuai tabel di atas. Pemindaian sekali jalan anonim kedaluwarsa 24j setelah dibuat. Audit log disimpan 18 bulan. Snapshot monitor dipangkas ke 7 hari terakhir plus baseline terbaru per (domain, sinyal). Alert yang di-dismiss dibersihkan setelah 90 hari. Semua retensi diberlakukan setiap hari oleh /api/cron/retention-cleanup.
