Storage and retention
How long captures are kept, and how they are served.
Every successful capture is stored so it can be re-served, cached and listed in your dashboard history.
Retention window
Screenshots and their files are kept for 30 days by default, then removed by a daily prune job. Deletion removes the stored file along with its record, so nothing is left orphaned on disk.
Treat Ssnap storage as a cache, not as an archive. If a capture matters to you, download it and store it yourself.
The retention window applies to your dashboard history too: the Screenshots page offers 1-, 7- and 30-day windows.
How stored files are served
Captures live on a private disk. They are reachable only through signed, time-limited links:
| Where | Validity |
|---|---|
API response=url | 24 hours |
| Async callback payload | 24 hours |
| Dashboard history | 1 hour |
A link with a bad or expired signature returns 403; a capture whose file has been pruned
returns 404.
Signed links carry no API key, so they are safe to hand to a browser. For the same reason, anyone holding the link can fetch the file while it is valid. Treat them as short-lived secrets.
Interaction with caching
A cache hit requires the earlier capture's file to still exist. Once retention prunes it,
the next request re-renders and consumes a quota slot, even inside a long cache_ttl.
Practically: a cache_ttl beyond the retention window cannot keep paying off.
What is kept per capture
| Stored | Not stored |
|---|---|
| Target url, capture parameters, device | Page content beyond the rendered file |
| The rendered file | Your API key (only its SHA-256 hash exists) |
| Owning team, key and user, status, timestamp |
Deleting captures
Deleting an API key does not delete the screenshots it made; history stays until retention prunes it. For an earlier deletion of specific captures, contact [email protected].