Skip to content

DIP-286 Content Moderation Announcement #286

@wesbiggs

Description

@wesbiggs

Abstract

Provide a new Announcement Type that enables the author of a Broadcast to hide Replies to her post.

Content Moderation Announcement

  • announcementType: enum value
  • fromId: must match the thread author's DSNP User Id
  • targetContentURI: the item being moderated

The effect of the announcement should be to remove the item, and any of its descendants, from the "thread view" of the conversation.

Note that this differs from a Tombstone announcement both in who can make the Announcement, and what happens to the targeted content. The targeted Reply Announcement continues to exist, and may be accessible in other ways (e.g. viewing the replying user's timeline). It only affects the thread.

Motivation

We represent a "thread" as a Broadcast followed by a tree of Replies (and their associated Reactions). We tend to think of a thread, particularly in the realm of public content, as a space that can be curated by its author.

While users can Tombstone their own content, there is currently no facility in DSNP for the author of a thread to remove comments that are adjudged to be abusive, unwanted, or otherwise unwarranted. This DIP adds the affordances for this.

Specification Pull Request

Current change pull request: TBD

Rationale

Why were the design choices made? What other solutions were rejected and why?

We could also see a design that would allow any ancestor node in the tree to hide descendant Replies. This way of thinking leads to a view of many sub-spaces, each with their own controller. We think putting the "duty of care" squarely on the original author is at least defensible; as it is the original author's space, they are responsible for maintaining it. The author of a Reply, who elicits abuse as further Replies, would need to appeal to the author of the Broadcast for help removing the offending items.

Backwards Compatibility

Any proposal that breaks compatibility with previous versions must describe how the change will be implemented and handle the migration period.

Reference Implementation and/or Tests

What could this look like implemented or what tests could be provided to assist in validation of implementations?

Security Considerations

Any change will effect the security of the system in some way. Describe the implications this DIP on security, both technical and human.

Dependencies

  • List of dependent DIPs if any.

References

Any references or other related links that might be helpful.

Copyright

Copyright and related rights waived via CC0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions