// docs / quotas & limits
Quota's en limieten
Elke quota- en rate-limitwaarde hieronder wordt afgeleid van de entitlements-module bij het bouwen, zodat deze pagina nooit kan afwijken van wat de server daadwerkelijk afdwingt.
Rechten per laag
| Gratis | Hobby | Pro | Onbeperkt | |
|---|---|---|---|---|
| Scans / maand | 3 | 50 | 200 | Unlimited-plan¹ |
| Projecten (geverifieerde domeinen) | 1 | 1 | 5 | 20 |
| API-tokens | 0 | 1 | 5 | 20 |
| Owner-depth scans | nee | ja | ja | ja |
| GitHub-repo-scans | nee | nee | ja | ja |
| Geplande herscans | nee | nee | cadans ≥3h | cadans ≥1h |
| Live dreigingsdetectie | nee | nee | nee | ja |
| Bewaring | 7 dagen | 30 dagen | 90 dagen | 365 dagen |
| Teamplekken | 1 | 1 | 1 | 5 |
| Ondersteuning | standaard | standaard | prioriteit | toegewijd |
¹ Het scanquotum van het Unlimited-plan is onderhevig aan fair use — zie de Voorwaarden. ² De standaardlimiet is 20 domeinen onder actieve monitoring met cadans ≥1h. Neem contact op met support@fixweb.app om dit te verhogen in ruil voor een langere geplande cadans.
API-rate-limieten
Elke request naar /api/v1/* en /api/mcp wordt keyed op een hash van de bearer-token en loopt door twee vensters:
- Burst: 10 requests per seconde.
- Steady: 60 requests per minuut.
Bij 429 bevat de 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
}Het venster dat triggerde wordt in het bericht genoemd (burst (10/s) vs steady (60/min)), zodat een client-backoff zich kan aanpassen.
Scan-rate-limiet van het Free-plan (per IP/24)
Naast de organisatielimiet van 3 scans per maand hebben Free-plan-gebruikers een extra rate-limiet per IP/24: 3 scans per uur, 100 per dag. Dezelfde limiter dekt anonieme instant scans, wat misbruik van het Free-quotum via wegwerpaccounts voorkomt. Verzoeken boven een van beide limieten geven HTTP 429 Too Many Requests terug met een Retry-After-header.
Signup-throttle (per IP/24)
5 succesvolle aanmeldingen per IP/24 per 24 uur, om geautomatiseerde aanmaak van Free-plan-accounts te voorkomen. Gelimiteerde callbacks leiden door naar /sign-in?error=rate_limited.
Bewaring
Scans + findings worden automatisch opgeschoond volgens de tabel hierboven. Anonieme one-shot scans verlopen 24h na aanmaak. Audit logs worden 18 maanden bewaard. Monitor snapshots worden teruggebracht tot de laatste 7 dagen plus de nieuwste baseline per (domain, signal). Dismissed alerts worden na 90 dagen verwijderd. Alle bewaring wordt dagelijks afgedwongen door /api/cron/retention-cleanup.
