Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Lexicon Standard: app.bsky.graph.hatefollow
- Author: doll
- Version: 0.2.0
- Status: Proposal
- 1. Abstract
- This document proposes a new lexicon, app.bsky.graph.hatefollow, within the Bluesky App (app.bsky) namespace. This lexicon allows a user to publicly signal that their own follow of another account does not constitute an endorsement. Instead, it indicates the follow is for purposes of monitoring, research, or criticism. This serves as a public clarification of intent.
- 2. Rationale
- Following an account is typically interpreted as a sign of support, interest, or endorsement. However, many users, such as journalists, researchers, activists, or watchdogs, need to follow accounts they fundamentally disagree with or are critically monitoring. A public list of followed accounts can be misconstrued, leading to accusations of association or support ("guilt by association").
- The hatefollow record provides a mechanism for a user to preemptively clarify the nature of their follow. It allows a user to follow an account for informational purposes while publicly disavowing endorsement.
- Use Cases:
- Journalism & Research: A journalist can follow a controversial political figure to report on their statements without their follow being seen as a sign of personal or professional support.
- Disavowal: A user can follow an account to keep track of its activities for accountability purposes, while making it clear they do not support the account's content or ideology.
- Contextual Signaling: It provides important context to other users who inspect follow graphs. Seeing a "hatefollow" signals that the relationship is adversarial or critical, not supportive.
- Client-Side Interpretation: Clients can use this data to visually distinguish a "hatefollow" from a standard follow, for example, by adding a specific icon or label in user profiles.
- This lexicon empowers users to engage with a wider range of content for critical purposes without compromising their own public reputation.
- 3. Lexicon Definition
- 3.1. Type and Identifier
- NSID: app.bsky.graph.hatefollow
- Type: record
- Key Type: tid (Timestamp Identifier)
- 3.2. Record Shape
- The record for a hatefollow object contains the following fields:
- Property
- Type
- Required
- Description
- subject
- string (did)
- Yes
- The DID of the account that the author is "hate following".
- createdAt
- string (datetime)
- Yes
- The timestamp of when the hatefollow record was created.
- Constraints:
- The subject DID must refer to a valid account in the network.
- The author of the hatefollow record is the user who is initiating the follow.
- 4. How It Works
- User A wants to follow User B for monitoring purposes, but does not endorse User B.
- User A follows User B using the standard app.bsky.graph.follow record.
- Contemporaneously, User A's client also creates a new record of type app.bsky.graph.hatefollow.
- The subject of this record is the DID of User B (the account being followed).
- The record is authored by User A (the follower).
- This record is now publicly associated with User A's repository.
- Clients and services can query for app.bsky.graph.hatefollow records authored by User A to understand the intent behind their follow of User B.
- 5. Example Record
- Here is an example of a hatefollow record created by did:plc:userA to signal their non-endorsement follow of did:plc:userB.
- {
- "$type": "app.bsky.graph.hatefollow",
- "subject": "did:plc:userB",
- "createdAt": "2025-10-09T17:45:00.456Z"
- }
- In this example:
- The record is created and stored in the repository of did:plc:userA.
- It signifies that did:plc:userA's follow of did:plc:userB is not an endorsement.
- 6. Client Implementation Guide
- When a user clicks the "Follow" button on another user's profile, the client could present an additional option, such as "Follow without endorsing" or "Follow for research."
- In a user's profile, on their "Following" list, the client could display a distinct icon or text label next to accounts they have "hatefollowed" to remind them and inform visitors.
- When viewing another user's list of followers, the client could display this same icon next to any followers who have marked their follow as a hatefollow. This gives the account owner and visitors immediate context about the nature of the follow.
- Creating an app.bsky.graph.hatefollow record is a public declaration of intent by the follower and does not functionally alter the follow itself. The follower will still receive the followed account's posts in their feed.
Advertisement
Add Comment
Please, Sign In to add comment