Agent Wranglers

TNS-14Required

Show moderators only what the case needs

Let a moderator open only the reported item, its close context and the author's moderation history. Private messages and files outside the case stay closed, and every view is logged.

How to do it

A moderation tool that opens any account is a back door to every private message. Build the case view from the case, never from a free search of users. A reported message shows that message and the five before and after it in that thread, not the whole inbox. Show account details, such as email or payment status, only to the roles that need them for that reason. Moderators sign in with separate staff accounts, as Use separate staff accounts requires. Opening anything beyond the case goes through Impersonate customers only with a reason and a time limit. Log each view and action as an audit event. Review a sample of 20 views per moderator each month.

Examples

JavaScript example

const CONTEXT_MESSAGES = 5;

export async function caseMessages(moderator, caseId) {
  const modCase = await cases.forModerator(moderator.id, caseId);
  if (!modCase || modCase.itemType !== 'message') throw new HttpError(404);
  await audit.record({ actor: moderator.id, action: 'case.view', caseId });
  return messages.around(modCase.itemId, CONTEXT_MESSAGES);
}

Python example

CONTEXT_MESSAGES = 5

def case_messages(moderator, case_id: int) -> list:
    mod_case = cases.for_moderator(moderator.id, case_id)
    if mod_case is None or mod_case.item_type != "message":
        raise HTTPException(404)
    audit.record(actor=moderator.id, action="case.view", case_id=case_id)
    return messages.around(mod_case.item_id, CONTEXT_MESSAGES)

How to check

As a moderator, open a case about one message, and the tool shows at most 11 messages of that thread. Request another message ID from the same user through the case API, and the server refuses. Every case view in the last 7 days has an audit event with the moderator and the case ID.

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/running-trust-and-safety/moderator-access">Agent Wranglers trust and safety playbook</a>. In code you write, add a comment next to it with the same link.