Skip to main content
Data retention lets you control how long Roark keeps your calls and their metrics, and what happens when they expire. It’s configured per project.

Configure retention

Go to Settings → Project → Data Controls and set two things:
60 | 90 | 180 | 365 days | Indefinite
How long to keep calls after they’re created. Choose 60, 90, 180, or 365 days, or Indefinite to keep data forever. Defaults to Indefinite.
Hide | Permanent
What happens to a call once it passes the retention period:
  • Hide from dashboard (recoverable) - the call is soft-deleted: hidden from the dashboard but still stored on the backend, so it can be recovered. This is the default.
  • Permanently delete (irreversible) - the call is physically purged everywhere: recordings, transcripts, metrics, and traces.

How expiry works

A call “expires” once its age exceeds the retention period. What happens next depends on the mode:
  • Hide - expired calls are soft-deleted (removed from the dashboard but recoverable).
  • Permanent - expired calls are hidden first, then physically purged 30 days later across all systems (Postgres, the metric store, recordings in object storage, analytics, and traces). This grace period gives you a window to catch a misconfiguration before data is gone for good.
Permanent deletion cannot be undone. Once a call is physically purged, its recordings, transcripts, metrics, and traces are gone across every system.
Retention applies going forward from when you set it. Setting a shorter period will begin expiring older calls that already fall outside the new window.