> ## 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.

# Anonymous confessions

> Anonymous publication, reporting and removal.

Confessions use a dedicated workflow, separate from suggestions,
polls and forms. A submission never appears publicly and then gets deleted to
hide it. The command response and preview are private. The member confirms the private preview to publish immediately; moderator approval is not required.

## Who sees the author

Designated reviewers and the server owner can see the submitting Discord account. Discord and Pup
operators receive the identity. Readers of the published post see a fresh Pup
message without the submitting account or interaction reference. The text
itself can still identify its author; do not include details you want hidden.

Reviewers need dashboard access and current membership in a designated reviewer
role. The verified server owner can review submissions without that role.
Configuration access or installation-operator status alone does not grant
author visibility in the dashboard.
Review access and reviewer actions are audited without submitted text or author
identity in the general audit record.

## Configure intake

Open **Anonymous submissions** in the server dashboard, then expand **Submission settings** below the review queue. Members with configuration permission can choose one or more designated reviewer roles, optionally restrict intake
to an eligible member role, and choose a confession text channel.
Leaving a destination disabled stops that type. Give the bot View Channel and
Send Messages in each destination; choose channel permissions appropriate to
your desired audience and discussion policy. Pup does not create discussion
threads or reviewed reply workflows in this version.

The default limit is three submissions per rolling 24 hours, at least ten minutes
apart. Both are configurable. Preview expiry is also configurable from one to sixty
minutes (fifteen by default). Withdrawals still count until the quota window
expires. Shared Redis limits also bound private requests to ten per minute and
reports to five per minute per member and server. Intake fails closed while the
shared limiter is unavailable. Preview, confirmation and publication apply
current enforced content/link filters to the author in the destination context;
Pup's bot exemption does not bypass them.

## Submit and withdraw

1. Use `/anonymous submit` and enter up to 1,200
   characters. Attachments and Discord mentions are not accepted; link previews
   are suppressed on publication.
2. Read the private preview, destination and disclosure. Choose **Publish anonymously** or **Discard**. Unconfirmed previews expire at the configured deadline.
   Changed settings require a new preview.
3. Use `/anonymous mine` to see submission IDs and states (use the page option for older entries). Use
   `/anonymous withdraw` with your ID to withdraw pending content or queue deletion
   of your published post. Wait for `deleted` before assuming Discord removal.

## Review and report

The private dashboard queue opens on **Needs attention**: new reports, older submissions awaiting approval, and failed or uncertain publication. It shows the author, submission, publication state and any current author block. Choose **All submissions** to include reviewed and published posts. Search and page through results, or export all matching submissions across every page.
Confirmed submissions queue a fresh public message immediately. Reviewers can remove a post,
block its author from submitting for thirty days, or unblock the author. A block
does not automatically remove an existing post. The **Report** button on a public
post records a private abuse report; repeated reports by the same member count
once. After checking a report, choose **Mark reports reviewed** to keep the post and clear the reports you have seen. Any newer reports still need review. Reviewing reports does not remove the post or block its author, and reports remain subject to the existing thirty-day retention. Refresh the queue to inspect reports and publication results.

Failed publication can be retried after fixing access or policy. If settings or
eligibility changed, the member should submit a new preview. Unknown delivery
outcomes are not automatically resent: inspect the destination, then link the
existing Discord message link. If a reviewer verifies no post exists, the explicit absence
confirmation permits a retry. Check carefully to avoid duplicates. Failed
deletions remain visible and can be retried.

## Retention and limits

New confirmed submissions and public posts have no automatic expiry. Pup keeps the text and private author association so members can find and delete their posts, and designated reviewers or the server owner can handle reports. The member, a reviewer or the server owner can remove a post at any time. Older submissions keep the expiry disclosed when they were created.

Unconfirmed previews expire at the configured deadline; this never limits a published post. Withdrawal clears unpublished text immediately. After deletion, remaining private records expire after one day; withdrawals still count against the rolling daily quota. Reports and submission blocks expire after thirty days. Provider outages may delay Discord deletion; unresolved delivery records retain references needed for recovery.

General reviewer audits retain the reviewer,
action and opaque record reference under the installation's audit policy.

Pup cannot remove copies made by readers. This is anonymity from public account
attribution, not anonymity from Discord, designated reviewers, the server owner or the operator.
