---
title: "Let people block and mute other users · Agent Wranglers"
url: https://agentwranglers.se/playbook/trust-and-safety/reports-and-queues/block-and-mute
id: TNS-17
level: Recommended
updated: 2026-10-22
build: a2a6bdfed830
tokens: 946
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Let people block and mute other users

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Reports and queues](https://agentwranglers.se/playbook/trust-and-safety/reports-and-queues.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-27.

- ID: TNS-17
- Level: Recommended
- Chapter: [Reports and queues](https://agentwranglers.se/playbook/trust-and-safety/reports-and-queues.md)
- Rule: Let every user block another user, which stops that user's messages, replies, mentions, tags and group invites to them. Let them mute a user too, which only hides that user's posts from their own view.
- Check: A test has user A block user B. B's message, reply, mention, tag and group invite to A each fail, and A's feed and search show nothing from B. B's view of A shows no sign of a block. After A mutes user C instead, C's posts leave A's feed and C can still reply.
- How: A report asks you to act, while a block lets the person protect themselves at once. The Commission's guidelines on protecting minors ask that children can block and mute any user. They also ask that nobody can add a child to a group without the child's consent. Offer both actions on every profile, message and post. Check blocks on the server in every path that carries content between two users, including search and suggestions. The blocked user sees the same as for a private account, and is never told. Keep a block until the user lifts it, and include the list in the data export. The report form of [Put a report button on every piece of user content](https://agentwranglers.se/playbook/trust-and-safety/reports-and-queues/report-button.md) offers a block in the same step.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### JavaScript example

```js
export async function canReach(senderId, recipientId) {
  return !(await blocks.exists({ blockerId: recipientId, blockedId: senderId }));
}

app.post('/messages', async (req, res) => {
  if (!(await canReach(req.user.id, req.body.recipientId))) return res.status(404).end();
  res.status(201).json(await messages.create(req.user.id, req.body));
});
```

### Python example

```python
def can_reach(sender_id: int, recipient_id: int) -> bool:
    return not blocks.exists(blocker_id=recipient_id, blocked_id=sender_id)

@app.post("/messages", status_code=201)
def send_message(body: MessageBody, user: User = Depends(current_user)):
    if not can_reach(user.id, body.recipient_id):
        raise HTTPException(404)
    return messages.create(user.id, body)
```

## Sources

- [European Commission guidelines on the protection of minors](https://digital-strategy.ec.europa.eu/en/library/commission-publishes-guidelines-protection-minors)

## Related rules

- TNS-1 [Put a report button on every piece of user content](https://agentwranglers.se/playbook/trust-and-safety/reports-and-queues/report-button.md) in Trust and safety

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/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/reports-and-queues/block-and-mute">Agent Wranglers trust and safety playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Limit what moderators must see of harmful content](https://agentwranglers.se/playbook/trust-and-safety/reports-and-queues/moderator-exposure.md)
- [Reports and queues](https://agentwranglers.se/playbook/trust-and-safety/reports-and-queues.md)
