Agent Wranglers

TNS-9Recommended

Hide removed content and keep it until appeals close

When you remove an item, hide it from everyone except the case reviewers and keep it unchanged until the appeal window closes. Then delete it, unless an order or a law makes you keep it.

How to do it

An appeal that wins must put the item back as it was, with its replies and links. A hard delete makes that impossible, and leaves the reviewer judging an item nobody can see. Mark the item as removed with the case ID, and filter removed items out of every feed, search index and export. Keep it for the six month appeal window of Handle appeals and send decisions to the EU database, plus 30 days. Material kept by law, such as a child safety report, follows its own period in Report child sexual abuse material and keep the evidence. Write each period into the retention schedule.

Examples

JavaScript example

const APPEAL_WINDOW_DAYS = 183 + 30;

export const removedContentDue = (items, now = Date.now()) =>
  items.filter(item => item.removedAt && !item.legalHold && now - Date.parse(item.removedAt) > APPEAL_WINDOW_DAYS * 86_400_000);

Python example

from datetime import timedelta

APPEAL_WINDOW = timedelta(days=183 + 30)

def removed_content_due(items: list[dict], now) -> list[dict]:
    return [i for i in items if i.get("removed_at") and not i.get("legal_hold") and now - i["removed_at"] > APPEAL_WINDOW]

How to check

Remove a test post, and it disappears from the feed, the search and the author's public profile within 1 minute. Restore it through an upheld appeal, and it returns with its replies. A retention test run 7 months after removal finds the post deleted.

Sources

For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/trust-and-safety/decisions-and-appeals/removed-content-hold">Agent Wranglers trust and safety playbook</a>. In code you write, add a comment next to it with the same link.