UNPKG

@atproto/api

Version:

Client library for atproto and Bluesky

833 lines (606 loc) • 8.32 kB
<!-- this doc is generated by ./scripts/docs/profile-moderation-behaviors.mjs --> # Profile moderation behaviors This document is a reference for the expected behaviors for a profile in the application based on some given scenarios. The <code>moderateProfile()</code> command condense down to the following yes or no decisions: - <code>res.account.filter</code> Do not show the account in feeds. - <code>res.account.blur</code> Put the account (in listings, when viewing) behind a warning cover. - <code>res.account.noOverride</code> Do not allow the account's blur cover to be lifted. - <code>res.account.alert</code> Add a warning to the account but do not cover it. - <code>res.profile.blur</code> Put the profile details (handle, display name, bio) behind a warning cover. - <code>res.profile.noOverride</code> Do not allow the profile's blur cover to be lifted. - <code>res.profile.alert</code> Add a warning to the profile but do not cover it. - <code>res.avatar.blur</code> Put the avatar behind a cover. - <code>res.avatar.noOverride</code> Do not allow the avatars's blur cover to be lifted. - <code>res.avatar.alert</code> Put a warning icon on the avatar. Key: - āŒ = Filter Content - 🚫 = Blur (no-override) - āœ‹ = Blur - 🪧 = Alert ## Scenarios <table> <tr><th>Scenario</th><th>Filter</th><th>Account</th><th>Profile</td><th>Avatar</th></tr> <tr> <td><strong>Imperative label ('!hide') on account</strong></td> <td> āŒ </td> <td> 🚫 </td> <td> </td> <td> 🚫 </td> </tr> <tr> <td><strong>Imperative label ('!hide') on profile</strong></td> <td> </td> <td> </td> <td> 🚫 </td> <td> 🚫 </td> </tr> <tr> <td><strong>Imperative label ('!no-promote') on account</strong></td> <td> āŒ </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><strong>Imperative label ('!no-promote') on profile</strong></td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><strong>Imperative label ('!warn') on account</strong></td> <td> </td> <td> āœ‹ </td> <td> </td> <td> āœ‹ </td> </tr> <tr> <td><strong>Imperative label ('!warn') on profile</strong></td> <td> </td> <td> </td> <td> āœ‹ </td> <td> āœ‹ </td> </tr> <tr> <td><strong>Imperative label ('!no-unauthenticated') on account when logged out</strong></td> <td> āŒ </td> <td> 🚫 </td> <td> </td> <td> 🚫 </td> </tr> <tr> <td><strong>Imperative label ('!no-unauthenticated') on profile when logged out</strong></td> <td> </td> <td> </td> <td> 🚫 </td> <td> 🚫 </td> </tr> <tr> <td><strong>Imperative label ('!no-unauthenticated') on account when logged in</strong></td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><strong>Imperative label ('!no-unauthenticated') on profile when logged in</strong></td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr><th>Scenario</th><th>Filter</th><th>Account</th><th>Profile</td><th>Avatar</th></tr> <tr> <td><strong>Blur label ('intolerant') on account (hide)</strong></td> <td> āŒ </td> <td> āœ‹ </td> <td> </td> <td> āœ‹ </td> </tr> <tr> <td><strong>Blur label ('intolerant') on profile (hide)</strong></td> <td> </td> <td> </td> <td> āœ‹ </td> <td> āœ‹ </td> </tr> <tr> <td><strong>Blur label ('intolerant') on account (warn)</strong></td> <td> </td> <td> āœ‹ </td> <td> </td> <td> āœ‹ </td> </tr> <tr> <td><strong>Blur label ('intolerant') on profile (warn)</strong></td> <td> </td> <td> </td> <td> āœ‹ </td> <td> āœ‹ </td> </tr> <tr> <td><strong>Blur label ('intolerant') on account (ignore)</strong></td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><strong>Blur label ('intolerant') on profile (ignore)</strong></td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr><th>Scenario</th><th>Filter</th><th>Account</th><th>Profile</td><th>Avatar</th></tr> <tr> <td><strong>Blur-media label ('porn') on account (hide)</strong></td> <td> āŒ </td> <td> āœ‹ </td> <td> </td> <td> āœ‹ </td> </tr> <tr> <td><strong>Blur-media label ('porn') on profile (hide)</strong></td> <td> </td> <td> </td> <td> </td> <td> āœ‹ </td> </tr> <tr> <td><strong>Blur-media label ('porn') on account (warn)</strong></td> <td> </td> <td> āœ‹ </td> <td> </td> <td> āœ‹ </td> </tr> <tr> <td><strong>Blur-media label ('porn') on profile (warn)</strong></td> <td> </td> <td> </td> <td> </td> <td> āœ‹ </td> </tr> <tr> <td><strong>Blur-media label ('porn') on account (ignore)</strong></td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><strong>Blur-media label ('porn') on profile (ignore)</strong></td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr><th>Scenario</th><th>Filter</th><th>Account</th><th>Profile</td><th>Avatar</th></tr> <tr> <td><strong>Notice label ('scam') on account (hide)</strong></td> <td> āŒ </td> <td> 🪧 </td> <td> </td> <td> 🪧 </td> </tr> <tr> <td><strong>Notice label ('scam') on profile (hide)</strong></td> <td> </td> <td> </td> <td> 🪧 </td> <td> 🪧 </td> </tr> <tr> <td><strong>Notice label ('scam') on account (warn)</strong></td> <td> </td> <td> 🪧 </td> <td> </td> <td> 🪧 </td> </tr> <tr> <td><strong>Notice label ('scam') on profile (warn)</strong></td> <td> </td> <td> </td> <td> 🪧 </td> <td> 🪧 </td> </tr> <tr> <td><strong>Notice label ('scam') on account (ignore)</strong></td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><strong>Notice label ('scam') on profile (ignore)</strong></td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr><th>Scenario</th><th>Filter</th><th>Account</th><th>Profile</td><th>Avatar</th></tr> <tr> <td><strong>Adult-only label on account when adult content is disabled</strong></td> <td> āŒ </td> <td> 🚫 </td> <td> </td> <td> 🚫 </td> </tr> <tr> <td><strong>Adult-only label on profile when adult content is disabled</strong></td> <td> </td> <td> </td> <td> </td> <td> 🚫 </td> </tr> <tr><th>Scenario</th><th>Filter</th><th>Account</th><th>Profile</td><th>Avatar</th></tr> <tr> <td><strong>Self-profile: !hide on account</strong></td> <td> </td> <td> 🪧 </td> <td> </td> <td> 🪧 </td> </tr> <tr> <td><strong>Self-profile: !hide on profile</strong></td> <td> </td> <td> </td> <td> 🪧 </td> <td> 🪧 </td> </tr> <tr><th>Scenario</th><th>Filter</th><th>Account</th><th>Profile</td><th>Avatar</th></tr> <tr> <td><strong>Mute/block: Blocking user</strong></td> <td> āŒ </td> <td> </td> <td> </td> <td> 🚫 </td> </tr> <tr> <td><strong>Mute/block: Blocking-by-list user</strong></td> <td> āŒ </td> <td> </td> <td> </td> <td> 🚫 </td> </tr> <tr> <td><strong>Mute/block: Blocked by user</strong></td> <td> āŒ </td> <td> </td> <td> </td> <td> 🚫 </td> </tr> <tr> <td><strong>Mute/block: Muted user</strong></td> <td> āŒ </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><strong>Mute/block: Muted-by-list user</strong></td> <td> āŒ </td> <td> </td> <td> </td> <td> </td> </tr> <tr><th>Scenario</th><th>Filter</th><th>Account</th><th>Profile</td><th>Avatar</th></tr> <tr> <td><strong>Prioritization: blocking & blocked-by user</strong></td> <td> āŒ </td> <td> </td> <td> </td> <td> 🚫 </td> </tr> <tr> <td><strong>Prioritization: '!hide' label on account of blocked user</strong></td> <td> āŒ </td> <td> 🚫 </td> <td> </td> <td> 🚫 </td> </tr> <tr> <td><strong>Prioritization: '!hide' and 'intolerant' labels on account (hide)</strong></td> <td> āŒ </td> <td> 🚫 </td> <td> </td> <td> 🚫 </td> </tr> <tr> <td><strong>Prioritization: '!warn' and 'intolerant' labels on account (hide)</strong></td> <td> āŒ </td> <td> āœ‹ </td> <td> </td> <td> āœ‹ </td> </tr> <tr> <td><strong>Prioritization: '!warn' and 'porn' labels on account (hide)</strong></td> <td> āŒ </td> <td> āœ‹ </td> <td> </td> <td> āœ‹ </td> </tr> <tr> <td><strong>Prioritization: intolerant label on account (hide) and scam label on profile (warn)</strong></td> <td> āŒ </td> <td> āœ‹ </td> <td> 🪧 </td> <td> āœ‹ 🪧 </td> </tr> <tr> <td><strong>Prioritization: !hide on account, !warn on profile</strong></td> <td> āŒ </td> <td> 🚫 </td> <td> āœ‹ </td> <td> 🚫 </td> </tr> <tr> <td><strong>Prioritization: !warn on account, !hide on profile</strong></td> <td> </td> <td> āœ‹ </td> <td> 🚫 </td> <td> 🚫 </td> </tr> </table>