Depending on how your app or website is built, recordings can take a lot of disk space. To manage this, we have the following retention policy options in place.

Note: Any individual recording you want to preserve can be downloaded by clicking "Export to file" in the more options menu in the bottom right of a recording. Downloaded recordings can then be imported back into PostHog for future playback, even if the original recording has expired.

PostHog Cloud

Recordings are automatically deleted after 1 month (3 months for paid customers).

The deletion is not immediate. Recordings may still appear for a short time after the retention period expires or when manually deleted via the UI.

One year retention

Some recordings are stored for 1 year:

  • pinned to a playlist
  • shared publicly
  • added to a notebook

Exporting your recordings

Self-hosted installations

The original version of session replay stored recordings in ClickHouse. At a higher scale, this was impractical and expensive. To make PostHog cheaper and easier to run and maintain, we have deprecated storing recordings in ClickHouse. We now only support blob storage backed recordings. In PostHog Cloud, we use AWS S3 as a blob store. Self-hosted versions include MINIO to enable you to use whichever blob storage you prefer.

I want to keep using ClickHouse for recording storage...

The final PostHog release to officially support ClickHouse stored recordings can be pinned using the deploy-hobby script. All subsequent releases only support blob storage-backed recordings.

You can also edit your docker-compose file to replace image: posthog/posthog:$POSTHOG_APP_TAG with image: posthog/posthog:9c68581779c78489cfe737cfa965b73f7fc5503c.

Managing storage

Self-hosted installations pinned to earlier versions can control the TTL by updating the RECORDINGS_TTL_WEEKS configuration on your instance settings page.

Please note that you need to manage the available capacity for versions of PostHog that rely on Clickhouse storage. Ensure you increase volume capacity before changing the RECORDINGS_TTL_WEEKS value (even if you're decreasing the value). ClickHouse requires abundant free disk space to manage the session_recording_events table.

In later versions (which do not use Clickhouse for recording storage), the installation will be relying on its configured blob storage. You can manage storage using blob storage lifecycle policies. This will vary by environment.

Questions?

Was this page useful?

Next article

Iframe recording

PostHog can record iframes embedded in your website as long as: ✅ The embedded iframe is from the same domain as the main page (e.g. https://posthog.com embeds https://posthog.com/iframe ) ✅ The embedded iframe is from a domain that you can install posthog-js on (e.g. https://posthog.com embeds https://app.posthog.com/iframe ) - requires extra configuration PostHog cannot record iframes embedded in your website if: ❌ The embedded iframe is from a domain than is not under your…

Read next article