Cleanup preview and protected records

Preview uses the values currently entered above, without saving them. Background cleanup runs in batches. Known payload sizes are estimates; database file size may not shrink immediately. Expired data cannot be restored by increasing retention.

{#if error}{/if} {#if notice}

{notice}

{/if} {#if preview}
{#each preview.policies as policy}{/each}
CategoryEligible recordsKnown payload size
{policy.label}{policy.eligible}{policy.payloadBytes ? `${(policy.payloadBytes / 1024 / 1024).toFixed(2)} MiB` : '—'}
{#each preview.policies.filter(policy => policy.records.length) as policy}
{policy.label}: eligible IDs (up to 20) {#each policy.records as record}
{record.id}
{/each}
{/each}

Protected records and resolved failures

{#each preview.controls as record}
{record.category} · {record.id}{record.resolvedAt ? ' · Resolved' : ''} {#if record.protected}{/if}
{:else}

No explicit record protections or resolutions.

{/each} {/if}

Protect a record or resolve a failure

Use the ID from its detail URL or the preview. Resolving a failed campaign stops automatic retry requests for that campaign; unfinished recovery still prevents cleanup.

{#if ['campaign','provisioning','operation'].includes(category)}{/if}