// docs / quotas & limits
कोटा और सीमाएं
नीचे दिया हर quota और rate-limit value build time पर entitlements module से निकाला जाता है, इसलिए यह पेज server द्वारा वास्तव में enforce की जाने वाली चीज़ों से अलग नहीं हो सकता।
हर tier के entitlements
| मुफ़्त | शौक | प्रो | Unlimited | |
|---|---|---|---|---|
| स्कैन / माह | 3 | 50 | 200 | Unlimited प्लान¹ |
| Projects (verified domains) | 1 | 1 | 5 | 20 |
| API tokens | 0 | 1 | 5 | 20 |
| Webhook एंडपॉइंट | 0 | 1 | 5 | 20 |
| Active probes | नहीं | हां | हां | हां |
| GitHub repo scans | नहीं | नहीं | हां | हां |
| Scheduled re-scans | नहीं | नहीं | ≥3h cadence | ≥6h cadence |
| Live threat detection | नहीं | नहीं | नहीं | हां |
| शेयर करने योग्य रिपोर्ट | नहीं | नहीं | हां | हां |
| Retention | 7 दिन | 30 दिन | 90 दिन | 365 दिन |
| Team seats | 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 limits
हर /api/v1/* और /api/mcp request bearer token के hash पर keyed होती है और दो windows से गुजरती है:
- Burst: प्रति second 10 requests।
- Steady: प्रति minute 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
}Message में trip हुई window का नाम होता है (burst (10/s) बनाम steady (60/min)) ताकि client backoff adapt कर सके।
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 पर रीडायरेक्ट कर देते हैं।
Retention
Scans + findings ऊपर की table के अनुसार auto-purge होते हैं। Anonymous one-shot scans creation के 24h बाद expire होते हैं। Audit logs 18 months तक retain होते हैं। Monitor snapshots last 7 days plus latest baseline per (domain, signal) तक prune होते हैं। Dismissed alerts 90 days बाद purge होते हैं। All retention daily /api/cron/retention-cleanup से enforced।
