| UI or UX | UI + UX - Personal boundary control for reducing or stopping visibility, interaction, contact, and notification exposure from people, accounts, conversations, channels, apps, bots, words, or threads | UI + UX - Reporter-facing safety submission flow for harmful, abusive, illegal, spam, impersonation, or policy-violating content and behavior | UI + UX - User-controlled rules for notification type, channel, frequency, timing, privacy, and exceptions | UI + UX - Per-object opt-in control for future updates from a thread, page, channel, space, repository, saved view, or topic | UI + UX - Authorization and access-boundary state | UI + UX - Object-attached comment composer and comment list with authorship, replies, state, permissions, and moderation |
| 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. | Render report abuse as a scoped safety flow that identifies the reported object, selected reason, affected person, evidence or context, privacy handling, submit action, confirmation ID, review expectation, and immediate safety actions. | Render notification preferences as a structured matrix or grouped settings surface that shows notification type, source, delivery channel, device, frequency, quiet-time rule, preview privacy, override, and current saved state. | Render follow or subscribe as a stateful control attached to the specific object being watched, with current state, target scope, delivery destination, event types, auto-follow reason when present, and an unfollow path. | Show the blocked object or action, current account, permission level, required role, owner, and request path when revealing that information is allowed. | Render comments as anchored contributions with author identity, timestamp, body, optional attachment or selection context, edited state, reply target, and state labels such as open, resolved, hidden, deleted, or assigned. |
| 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. | Use report abuse when a user needs to flag harmful content or behavior for review, not when they only want to hide someone, request access, resolve a comment, or read a security warning. | Use notification preferences when users need to reduce noise without missing important mentions, assignments, security notices, incidents, reminders, or followed-object updates. | Use follow / subscribe when users want future changes to a specific object, channel, thread, repository, page, space, saved view, or topic to come to them without repeatedly checking it. | Use permission denied state when the system knows the user is authenticated but their role, group, share, license, policy, or approval status blocks a specific object or action. | Use comments when users need to discuss, question, annotate, review, or leave follow-up notes on a specific object, selection, file line, record, document, or task without changing the primary content directly. |
| Good UI | 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 comment menu opens Report abuse with the comment snapshot, author, timestamp, reason choices, affected-person choice, optional context, submit, and confirmation with Block user and View report history actions. | A notification preferences page groups Mentions, Assigned work, Followed threads, Security, Digest, and Marketing, with columns for In-app, Email, Push, Banner, and Digest frequency. | A thread header shows Following, explains replies will appear in the followed-threads list and Activity feed, and offers Unfollow replies from the same menu. | A report page says Quarterly revenue report requires Finance viewer access, shows the current account, names the report owner, and offers Request access and Switch account. | A document margin comment shows the selected paragraph, author, timestamp, body text, Reply, Resolve, Assign, and Copy link actions with the composer focused on that selection. |
| Bad UI | A single Silence button mutes posts, blocks DMs, unfollows, and reports the account without naming any effect. | A red Report button immediately submits with no reason, no content snapshot, no confirmation, and no path to protect the reporter. | A single Notifications off switch disables email, push, badges, and mention banners without saying whether security alerts or approvals still arrive. | A Subscribe button changes to Subscribed without saying whether the user subscribed to a page, all child pages, a space, email, push, or in-app updates. | A denial page says Something went wrong and shows Retry even though the user lacks a required group. | A Notes textarea sits under a record and calls itself comments even though every user overwrites the same field. |
| Good UX | 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 reports a threatening message, selects violent threat, includes two related messages for context, receives a report receipt, gets guidance to contact local emergency services if in immediate danger, and can save a copy for authorities. | A user keeps mentions and assigned-work banners on, moves repository watch updates to daily digest, mutes marketing email, and sees a preview of what will still notify them during quiet hours. | A user follows a support thread before leaving for a meeting, receives only new replies in the promised destination, then unfollows when the incident closes. | A user opens a restricted report, sees which account is signed in, requests viewer access with a reason, then sees that the request is pending with the owner. | A reviewer comments on a selected line, adds an action item for Dana, receives a reply, resolves the comment, and can reopen it from the resolved filter. |
| Bad UX | 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 user reports spam and sees the reported account instantly marked banned even though the item has only entered review. | A user disables email for a noisy project and still receives duplicate push and desktop banners because those channels live in separate hidden settings. | A user receives a stream of update emails from a space but cannot tell which page, mention, reply, or watch setting caused them. | The app returns a blank screen for a restricted file, so the user cannot tell whether the file is gone, private, or opened with the wrong account. | A user writes a long comment, loses network connection, and the draft disappears when the page reloads. |
| Best fit | Users need to reduce exposure to a person, account, conversation, channel, app, bot, word, topic, or thread. | Users need to flag content, behavior, an account, conversation, listing, repository, ad, or message for policy, abuse, spam, privacy, legal, or safety review. | Users receive enough notifications that they need control over type, channel, device, frequency, timing, or source. | Users need future updates from a specific object, thread, channel, space, repository, topic, saved view, or query. | A signed-in user lacks permission to view, edit, publish, export, delete, approve, share, administer, or configure a resource. | Users need object-attached discussion without changing the primary object content directly. |
| Avoid when | The user is submitting harmful content for policy review; use report abuse. | The user only wants to stop seeing a person or thread; use block, mute, hide, or notification controls instead. | The product has only a few low-volume notifications that can be handled by defaults and inline controls. | The user only needs quick return access without updates. | The user is not signed in and the next step is authentication rather than authorization. | The user is simply entering a long answer into a form field. |
| Required state | Block entry point from profile, post, comment, message, repository, or account settings. | Report entry point near a post, comment, profile, message, conversation, repository, ad, live chat item, or listing. | Default notification preferences state. | Not following state. | Whole-object access denied state. | Empty comment list and first-comment composer. |
| Accessibility burden | Give controls target-specific names such as Block @maya, Mute #incidents, Hide messages from Dana, or Unmute app DM. | Give Report controls object-specific labels such as Report comment by Maya, Report profile, or Report message in conversation. | Group preferences with headings and fieldsets for event type, delivery channel, device, and frequency. | Give the control an accessible name that includes target type, target name, current follow state, and destination when space allows. | Use a heading that identifies the access boundary and a text description that does not rely on lock icons or red color alone. | Label the comments region with the object or selection being discussed. |
| Common misuse | Using one command for block, mute, hide, report, and unfollow. | Treating Report as an instant takedown or ban action. | Offering one master notification switch for a complex collaboration product. | Using Follow as a bookmark with no future update delivery. | Treating authorization denial as a generic retryable error. | Using one shared Notes field as a comment system and overwriting prior contributors. |