This table is the retention schedule for CrawlForge. The privacy policy shows the same table. Every period comes from the code path that enforces it; where a period is set by a provider rather than by us, the table says so.
- Data
- Tool results on the MCP path (page content, extracted data, screenshots)
- Where it is held
- Your machine only
- Kept for
- Never sent to CrawlForge
- Notes
- The MCP server fetches sites directly and reports only usage metadata to our API.
- Data
- Tool results on the REST path
- Where it is held
- Returned in the HTTP response
- Kept for
- Not stored
- Notes
- The three time-limited stores below are the only exceptions.
- Data
- Batch results (asynchronous batch_scrape jobs, read back with get_batch_results)
- Where it is held
- Redis (Upstash)
- Kept for
- 24 hours
- Notes
- Expire on their own. The job id is the only way to read them.
- Data
- Change-tracking baselines (the page text captured by track_changes)
- Where it is held
- Redis (Upstash)
- Kept for
- 90 days
- Notes
- Creating a new baseline for the same URL and selector replaces the old one and restarts the period.
- Data
- Hosted monitor baselines (the last captured text of each monitored page)
- Where it is held
- PostgreSQL (Neon)
- Kept for
- Until the monitor is deleted
- Notes
- Every check replaces the previous capture, so only the latest text of each target is held. Deleting the monitor deletes its baselines.
- Data
- Hosted monitor checks (per-check status, counts, credits and the added and removed lines of each target)
- Where it is held
- PostgreSQL (Neon)
- Kept for
- 30 days by default, 1 to 365 days set per monitor
- Notes
- The scheduled run deletes older checks; deleting the monitor deletes its history.
- Data
- Oversized results held for read_result (a result too large to return inline)
- Where it is held
- Redis (Upstash)
- Kept for
- 1 hour
- Notes
- Stored under your account. The result handle is the only way to read it.
- Data
- Usage logs: tool name, masked parameters (including the target URL or query), status, duration, credits, API key id and client version
- Where it is held
- PostgreSQL (Neon)
- Kept for
- 12 months
- Notes
- A daily job deletes older rows. Secrets are masked before a row is written and again before it is shown in the dashboard.
- Data
- Account data: email, name, password hash, sign-in provider ids, settings, credit balance and feedback-survey answers
- Where it is held
- PostgreSQL (Neon)
- Kept for
- While your account exists
- Notes
- Deleted with the account. See Account Deletion below.
- Data
- API keys
- Where it is held
- PostgreSQL (Neon), as a salted SHA-256 hash plus the key prefix
- Kept for
- Until you revoke them
- Notes
- The full key is shown once, when it is created. It is not stored and cannot be shown again.
- Data
- Sign-in sessions
- Where it is held
- httpOnly cookies, with a verification cache in Redis (Upstash)
- Kept for
- Access token 15 minutes, refresh token 7 days
- Notes
- Signing out clears both. The verification cache expires after 5 minutes.
- Data
- Password-reset and email-verification tokens
- Where it is held
- PostgreSQL (Neon), hashed
- Kept for
- Reset links 1 hour, verification links 24 hours
- Notes
- Single use. The link in the email is the only copy of the token.
- Data
- Fraud-prevention data: device fingerprint, risk score and sign-up rate-limit counters
- Where it is held
- PostgreSQL (Neon) and Redis (Upstash)
- Kept for
- Fingerprints and risk scores until account deletion, after which only the fingerprint hash is kept, unlinked (see Deleted accounts); rate-limit counters 1 hour to 30 days
- Notes
- Used only to block abusive sign-ups and key creation. Never used for profiling or advertising.
- Data
- Payment records
- Where it is held
- Stripe
- Kept for
- As long as tax and accounting law requires
- Notes
- We store the Stripe customer and subscription ids, the plan and the billing period. Card numbers never reach our servers.
- Data
- Newsletter subscription (email address)
- Where it is held
- PostgreSQL (Neon)
- Kept for
- Until you unsubscribe
- Notes
- Every newsletter carries an unsubscribe link.
- Data
- Deleted accounts
- Where it is held
- PostgreSQL (Neon)
- Kept for
- Deleted at once from Settings (within 30 days of an emailed request); one-way hashes kept indefinitely
- Notes
- Account, keys, usage logs, subscriptions, monitors, fingerprints, risk scores and tokens are deleted together. One-way hashes of the email address and device fingerprints stay, linked to nothing else, so a new account that matches one gets no free credits. Redis entries expire on the periods above. Stripe keeps payment records as the law requires.
The two hosted-monitor rows apply only once you create a monitor. An account with no monitors holds no monitor data.