UI + UX Trust, Safety, And Privacy established

Block / mute

Provide target-scoped block, mute, hide, and restrict controls with plain consequence summaries, confirmation for high-impact actions, status after activation, manageable lists, undo or reversal paths, and adjacent report or emergency actions when personal visibility controls are not enough.

Decision first

Choose this pattern when the problem matches

Use when

  • Users need to reduce exposure to a person, account, conversation, channel, app, bot, word, topic, or thread.
  • The product can state concrete effects, exceptions, and reversal paths.
  • Personal boundary control is useful even when the content does not require platform enforcement.

Avoid when

  • The user is submitting harmful content for policy review; use report abuse.
  • The user is configuring broad notification delivery rules; use notification preferences.
  • The user is opting into future updates; use follow / subscribe.
  • The user cannot access an object because of role or policy; use permission denied state.
  • The product cannot safely explain or honor the boundary it claims to set.

Problem it prevents

Personal safety and attention controls become untrustworthy when block, mute, hide, restrict, unfollow, report, and notification settings are blended together, effects are unclear, exceptions are hidden, or reversal paths are hard to find.

Pattern anatomy

What a strong implementation has to make clear

User need

Targets may be people, accounts, comments, posts, profiles, DMs, group conversations, channels, threads, apps, bots, words, hashtags, topics, repositories, workspaces, or organizations.

Pattern promise

Provide target-scoped block, mute, hide, and restrict controls with plain consequence summaries, confirmation for high-impact actions, status after activation, manageable lists, undo or reversal paths, and adjacent report or emergency actions when personal visibility controls are not enough.

Required state

Block entry point from profile, post, comment, message, repository, or account settings.

Recovery path

A user mutes an account but still receives unexplained mention notifications.

Access contract

Give controls target-specific names such as Block @maya, Mute #incidents, Hide messages from Dana, or Unmute app DM.

Quality bar

The difference between expert and weak execution

Strong implementation

Specific, visible, recoverable

  • A profile menu offers Mute posts, Block account, Report abuse, and Hide mentions as separate actions, each with a short consequence summary before confirmation.
  • A channel notification menu says Mute and hide, explains mentions still produce numbered badges, offers one-hour or until-tomorrow temporary mute, and links to muted conversation settings.
  • A user mutes a noisy account, sees that the account is not notified and can still send DMs, then uses the muted-account list to unmute later.
  • A user blocks a harassing collaborator, adds a private note, sees repository interaction effects, and can still report abuse from a linked safety route.
Weak implementation

Vague, hidden, hard to recover from

  • A single Silence button mutes posts, blocks DMs, unfollows, and reports the account without naming any effect.
  • A block confirmation says Are you sure? but never explains whether mentions, profile visits, direct messages, collaboration, or existing content will change.
  • A user mutes a direct message expecting silence everywhere, but the same person keeps triggering alerts in another group conversation because scope was not explained.
  • A hidden-person feature hides names and messages but provides no way to reveal one message or unhide the person later.
UI guidance
  • Render block and mute controls as scoped personal-boundary actions that name the target, effect, scope, exceptions, confirmation need, reversal path, and related report or safety action.
  • Separate block, mute, hide, restrict, report abuse, unfollow, unsubscribe, permission denial, and notification preferences by showing what changes for the current user, what changes for the target, and what remains possible.
UX guidance
  • Use block / mute when users need immediate control over exposure to a person, account, conversation, channel, app, bot, word, topic, or thread without necessarily asking the platform to enforce a policy.
  • Help users choose the least surprising boundary by explaining whether the target is notified, whether contact is blocked, whether content is hidden, what notifications remain, and how to unblock, unmute, unhide, or manage the list later.
Implementation contract

What the implementation must handle

States

  • Block entry point from profile, post, comment, message, repository, or account settings.
  • Mute entry point from profile, post, channel, DM, app, bot, thread, word, or notification menu.
  • Confirmation state for high-impact block with target identity and consequences.
  • Mute without notification to target state.

Interaction

  • The control identifies the exact target before activation and does not infer a broader scope than the visible label states.
  • Block, mute, hide, restrict, report, unfollow, unsubscribe, remove, and leave are separate commands with separate confirmation copy.
  • High-impact block actions require confirmation and describe consequences that affect contact, profile visibility, collaboration, repository actions, or shared spaces.
  • Mute actions state whether they affect posts, stories, channel notifications, DMs, group DMs, apps, bots, words, topics, or one conversation, and whether the target is notified.

Accessibility

  • Give controls target-specific names such as Block @maya, Mute #incidents, Hide messages from Dana, or Unmute app DM.
  • Do not rely on icons, dimmed avatars, badges, or hidden-message styling alone to communicate block, mute, hidden, or restricted state.
  • Associate consequence text, exceptions, confirmation, and undo with the action that changes the boundary.
  • Announce blocked, muted, hidden, unblocked, unmuted, failed, offline, temporary-expired, and hidden-message-revealed states through status text.

Review

  • What exact person, account, conversation, channel, app, bot, word, or thread is affected?
  • Is this action reducing visibility, suppressing notifications, preventing contact, hiding identity, restricting interaction, or reporting abuse?
  • What still appears or notifies after activation?
  • Does the target know, and is that expectation stated honestly?
Interactive lab

Inspect the states before you copy the pattern

Set a personal visibility and interaction boundary

Inspect block / mute, block entry point, mute entry point, block confirmation, mute without target notification, blocked state, muted state, hidden person, restrict interaction, temporary mute, exceptions, undo and management, report abuse handoff, emergency route, failed action, offline pending, permission-limited state, admin-managed state, mobile compact boundary, and compare blended-action, no-confirmation, hidden-unmute, unexplained-exceptions, target-notified, wrong-scope, and private-note-leak failures.

Block / mute
Interactive demo is ready

Launch the live UI/UX lab when you want to inspect states, keyboard behavior, and common failure modes.

State To Inspect

Block entry point from profile, post, comment, message, repository, or account settings.

Keyboard / Access

Tab reaches the action menu, block or mute item, target summary, confirmation, exception details, primary action, cancel, undo, and management links.

Avoid Generating

Using one command for block, mute, hide, report, and unfollow.

Evidence trail

Source-backed claims behind this guidance

X Help Center: Blocking on X

X Help Center - checked

Supports block effects, entry points, confirmation, visible blocked state, hidden-post view option, unblock path, and reporting limitations.

X Help Center: How to mute accounts on X

X Help Center - checked

Supports account mute behavior, target non-notification, continued follow and DM relationships, notification effects, confirmation, undo, unmute, and muted-list management.

Slack Help: Hide a person in Slack

Slack - checked

Supports hidden-person behavior, no target notification, hidden names and messages, individual reveal, huddle warning, and unhide management.

Full agent/debug reference

Problem Context

  • Targets may be people, accounts, comments, posts, profiles, DMs, group conversations, channels, threads, apps, bots, words, hashtags, topics, repositories, workspaces, or organizations.
  • Effects may include hiding posts, hiding names/photos/messages, suppressing notifications, preventing contact, preventing profile visibility, blocking repository collaboration, preserving badge-only alerts, or limiting only one conversation.
  • The target may or may not be notified, and the current user may still see mentions, badges, shared-context replies, huddles, hidden-message reveal prompts, or existing content.
  • Block and mute often sit next to report abuse, notification preferences, follow or subscribe, unfollow, leave conversation, restrict, remove, and permission controls, but each has a different owner and consequence.

Selection Rules

  • Choose block / mute when the user needs a personal boundary that changes visibility, contact, notification, or interaction from a specific target.
  • Use block when the intended effect is stronger interaction prevention, such as blocking contact, profile interaction, repository participation, tagging, list addition, or collaboration actions.
  • Use mute when the intended effect is reducing visibility or notifications while preserving follow, membership, access, or contact relationships.
  • Use hide or restrict when content or identity is visually suppressed but the target may still be present, join spaces, or have messages revealed deliberately.
  • Use report abuse when the user wants policy, safety, legal, privacy, or moderation review; offer it adjacent to block or mute without implying block or mute enforces platform rules.
  • Use notification preferences when the user is configuring broad event types, channels, quiet hours, digests, OS permissions, or workspace delivery rules.
  • Use follow / subscribe when the user opts into future updates from one target; use mute to reduce or pause exposure from one target.
  • Use permission denied state when access is unavailable because of authorization, role, policy, or owner decisions rather than personal boundary settings.
  • Show the exact target and scope before activation: account, channel, one DM, group DM, app, bot, word, thread, story, repository, organization, or all conversations with a person.
  • Show exceptions such as mentions, badges, DMs, huddles, shared conversations, existing replies, protected posts, Slackbot, admin policy, or organization blocks before users assume silence is total.
  • Provide unblock, unmute, unhide, manage list, undo, or temporary-duration controls close to the activated state.

Required States

  • Block entry point from profile, post, comment, message, repository, or account settings.
  • Mute entry point from profile, post, channel, DM, app, bot, thread, word, or notification menu.
  • Confirmation state for high-impact block with target identity and consequences.
  • Mute without notification to target state.
  • Blocked state with visible status, hidden content, and View anyway or profile warning where relevant.
  • Muted state with timeline, sidebar, channel, DM, app, bot, or notification scope label.
  • Hidden person or hidden message state with reveal one message and unhide paths.
  • Restrict or limited-interaction state with who can comment, mention, DM, or see activity.
  • Temporary mute state with duration such as one hour, until tomorrow, or custom end time.
  • Exceptions state for mentions, badges, DMs, huddles, shared conversations, Slackbot, or repository contributor warnings.
  • Undo, unblock, unmute, unhide, manage blocked list, and manage muted list states.
  • Report abuse adjacent action, emergency help route, failed action, offline pending, permission-limited, admin-managed, and mobile compact states.

Interaction Contract

  • The control identifies the exact target before activation and does not infer a broader scope than the visible label states.
  • Block, mute, hide, restrict, report, unfollow, unsubscribe, remove, and leave are separate commands with separate confirmation copy.
  • High-impact block actions require confirmation and describe consequences that affect contact, profile visibility, collaboration, repository actions, or shared spaces.
  • Mute actions state whether they affect posts, stories, channel notifications, DMs, group DMs, apps, bots, words, topics, or one conversation, and whether the target is notified.
  • The resulting state is visible near the target and in a management list, with unblock, unmute, unhide, or undo available when policy allows.
  • Exceptions are disclosed before or immediately after activation so users know what still appears or notifies them.
  • Failed or offline actions preserve the chosen target and intended action and do not claim the boundary applied.
  • Private notes, block reasons, hidden-person state, and safety choices are not exposed to the blocked or muted target.

Implementation Checklist

  • Inventory target types, available boundary actions, effect scope, notification effects, target-notification behavior, exceptions, undo windows, and management surfaces.
  • Model block, mute, hide, restrict, report, unfollow, subscription, notification preference, and permission states separately.
  • Write consequence summaries for each action, including what still appears, what still notifies, whether contact is blocked, and how to reverse it.
  • Add confirmation for high-impact block or organization-wide actions and immediate status for lower-impact mute or hide actions.
  • Provide management lists for blocked accounts, muted accounts, muted words, muted channels, hidden people, and temporary mutes where the product supports them.
  • Handle deleted users, renamed channels, blocked-by-target relationships, protected content, shared group conversations, repository ownership, admin-managed blocks, offline failure, and cross-device sync.
  • Test screen-reader labels, keyboard activation, mobile overflow menus, long names, private notes, undo, hidden-message reveal, temporary expiry, and report-abuse handoff.

Common Generated-UI Mistakes

  • Using one command for block, mute, hide, report, and unfollow.
  • Failing to explain whether the target is notified.
  • Hiding the unblock or unmute route after activation.
  • Letting muted conversations still produce unexplained badges or mention alerts.
  • Claiming the user is safe when the setting only hides posts from one timeline.
  • Making report abuse the only way to stop seeing someone.
  • Showing private block notes, reasons, or hidden-person state to the target.
  • Treating admin-enforced restrictions as if the current user can reverse them.

Critique Questions

  • What exact person, account, conversation, channel, app, bot, word, or thread is affected?
  • Is this action reducing visibility, suppressing notifications, preventing contact, hiding identity, restricting interaction, or reporting abuse?
  • What still appears or notifies after activation?
  • Does the target know, and is that expectation stated honestly?
  • Where can users undo, unblock, unmute, unhide, or review the list later?
  • How does this differ from notification preferences, follow / subscribe, report abuse, and permission denial?
  • What happens in shared group conversations, mentions, huddles, repository collaboration, and offline failure?
Accessibility
  • Give controls target-specific names such as Block @maya, Mute #incidents, Hide messages from Dana, or Unmute app DM.
  • Do not rely on icons, dimmed avatars, badges, or hidden-message styling alone to communicate block, mute, hidden, or restricted state.
  • Associate consequence text, exceptions, confirmation, and undo with the action that changes the boundary.
  • Announce blocked, muted, hidden, unblocked, unmuted, failed, offline, temporary-expired, and hidden-message-revealed states through status text.
  • Keep block, mute, hide, report, manage list, View anyway, Show anyway, undo, and reverse controls keyboard reachable.
  • Ensure long account names, channel names, private notes, repository names, and exception summaries wrap on compact layouts.
Keyboard Behavior
  • Tab reaches the action menu, block or mute item, target summary, confirmation, exception details, primary action, cancel, undo, and management links.
  • Enter or Space activates block, mute, hide, unmute, unblock, show anyway, view anyway, report, and manage-list controls according to native button semantics.
  • Escape closes confirmation or detail surfaces before activation and returns focus to the invoking control.
  • After activation, focus moves to the resulting status or undo action rather than to hidden harmful content.
  • If a hidden message is revealed, focus lands on the revealed content header or the Hide again control.
  • Management lists preserve row focus after unblock, unmute, unhide, or temporary expiry.
Variants
  • Block account
  • Mute account
  • Muted words
  • Mute channel
  • Mute direct message
  • Temporary mute
  • Hide person
  • Hide message
  • Restrict account
  • Block repository interaction
  • Organization block
  • Blocked list
  • Muted list
  • Unblock
  • Unmute
  • Unhide

Verification

Last verified: