Docs

Data Retention

Retention is set by your plan and enforced automatically — events older than your window are deleted on an hourly sweep, keeping storage predictable and your compliance story simple.

Retention windows

PlanRetentionMonthly events
Free30 days10,000
Growth90 days250,000
Scale365 days2,000,000

Your project's current window, plan, and usage this month are shown in the dashboard under Plan & usage. Upgrading moves the window immediately; see Pricing for the full comparison.

How enforcement works

  • A background sweep runs every hour and evaluates each event's occurred_at against the project's window.
  • Events past the window are deleted permanently — they stop appearing in queries, feeds, stats, and exports. Sessions whose last activity is past the window are deleted with them.
  • Actor records are kept. Your users still resolve to the same record when new events arrive; their total_events reflects retained history.
  • Deletion runs in small batches so it never blocks ingestion or reads.

Backfilled events

If you backfill history by passing an explicit timestamp when tracking, the retention window applies to that timestamp — backfilling an event older than your window means it will be removed on the next hourly sweep. Backfilled events still count toward the monthly cap of the month you send them in.

Over the monthly cap

Retention and the monthly event cap are independent. When you reach your plan's cap, new events are rejected with 402 (on both single and batch ingest) until the 1st of next month or until you upgrade. Nothing is deleted and reads, feeds, and exports keep working.

Exporting your data

You own your event model, and export is available on every plan. Click Export on the dashboard's Events page (CSV or JSON, honouring the current filters), or call the API:

Terminalcurl
# CSV or JSON, same filters as GET /v1/events, up to 10,000 rows per call
curl -o events.json "https://api.softechlog.com/v1/events/export?format=json&from=2026-08-01T00:00:00Z" \
  -H "Authorization: Bearer stl_sk_xxxxxxxxxxxx"

Each call returns up to 10,000 rows, newest first. For larger histories, split by from/to windows or page through GET /v1/events with cursor pagination.

Need longer than a year for compliance (e.g. SOC 2 audit trails)? Export on a schedule to your own warehouse, or book a call to talk about your requirements.