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
Related rules
- CMP-64 Handle appeals and send decisions to the EU database in Compliance and governance
- TNS-7 Report child sexual abuse material and keep the evidence in Trust and safety
- CMP-11 Keep one retention schedule in Compliance and governance
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.