> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pup.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Scheduled message cleanup

> Bounded, privacy-safe removal of eligible Discord messages.

# Scheduled message cleanup

Message cleanup is off until an authorized server operator selects channels and enables it in
**Protection overview → Message cleanup**. It is not a bulk-history eraser.

Each policy can select up to 50 channels, optional authors, and the eligible message kinds
(text, attachments, bot messages, or system messages). It also chooses a minimum age, interval,
batch size, and per-run safety limit. The documented hard ceilings are 8,760 hours for age,
10,080 minutes for schedule and recent-message protection, 100 messages per Discord batch, and
1,000 candidates per run.

Use **Preview current matches** after saving an enabled policy to inspect aggregate, metadata-only counts for
the current bounded Discord read window. Save or discard edits before previewing. The preview reports eligible, filtered, and protected
counts without exposing message text or IDs, and it never changes Discord. A later run repeats
the protection checks immediately before deletion, so preview is planning evidence rather than a
promise that a message will still be eligible.

Before a provider delete is attempted, the cleanup worker must exclude pinned messages,
case-linked evidence, support material, audit material, and everything in the configured recent
window. It does not retain message bodies to plan a run. A run records counts and state for
preview, cancellation, retry, and audit without copying content.

Pausing or disabling the policy prevents new work. It does not retroactively alter a completed
Discord deletion. A failed provider batch is safe to retry only from the stored exact candidate
set; it must stop when the configured safety limit is reached.

The policy is configuration evidence, not proof that Discord access or live cleanup has occurred.
