violating the right to privacy and dignity of others
spurring or spewing hate
spreading isms
posting stuff illegal in Germany
posting content violating copy or usage rights
posting sexual content (sorry, it's the payment providers fault)
promoting (para)-pharmaceutical products (incl. homeopathy, drugs, supplements and similar)
promoting gambling or betting
advertisement (unless you pay us beforehand)
stupidity = we or our moderators don't like it, e.g.
animating people or kids to consume drugs
animating people or kids to partake in dares
fakes news, in particular if suitable to influence public opinion
hurting religious feelings
content about feces or puke in non-scientific context
playing too obvious on double meanings
class ContentBlock
self.table_name :content_blocks
attributes
:team_yid
:post_yid
:moderator_yid
:reason (enum)
:explanation (text)
:discussion (array) # or link to special DM thread?!
:created_at
:updated_at
:permanent (boolean)
:resolved (boolean)
end
class [Insight & Post]
has_many :content_blocks, where.not(resolved: true)
end
class Team
has_many :content_blocks, where.not(resolved: true)
end
# neither foreign_key nor polymorphic association to Insights & Posts
# if needed the `fynd` method can be used
# usually checking if/how to display content the content_blocks table can be filtered by the content_yid(s)
When a Post is blocked
it is no longer included in the stream
it is no longer listed on the team's page for non-team members
it is marked as "blocked" for team members
it is linked to the reason & explanation for team members
it allows team members to ask questions via DM (which will be answered by a moderator)
When an Insight is blocked
it is replaced by a placeholder in Posts
it is marked as "blocked" for team members
the Posts containing it are marked as "partially blocked" to team-members
it is linked to the reason & explanation for team members
it allows team members to ask questions via DM (which will be answered by a moderator)
Moderators can block users
from joining teams
from creating a team
from creating content
from updating content
from changing the visibility of content
from commenting
from writing direct messages
class UserBlock
self.table_name :user_blocks
attributes
:user_yid
:moderator_yid
:reason (enum)
:explanation (text)
:discussion (array) # or link to special DM thread?!
:removed_permissions (array)
:created_at
:updated_at
:permanent (boolean)
:resolved (boolean)
end
class User
has_many :user_blocks, where.not(resolved: true)
end
When a User is blocked
they receive a DM with reason & explanation
they can reply to the DM with questions (will be answered by a moderator)
depending on the specific block, they could be displayed as "blocked" to other users in certain contexts
Moderators can exclude users from the platform
by closing their account
possible refunds for their user and / or team accounts have to be discussed
Comments and Direct Messages
Comments and Direct Messages are a special case. No blocking by moderation is necessary, as Users and Teams can block other Users themselves and "remove" any comment (we will only remove visibility, while keeping the comment stored and still visible to the original writer).
Users should be able to report content, comments, direct messages or users
Users should be a able to create a ViolationReport, explaining why certain content or users are violating the rules of the platform or hurting their feelings.
Comments and Direct Messages should also be reportable. Reporting them will make them invisible to the reporting Team or User (like they "removed" them) and
class ViolationReport
self.table_name :violation_reports
attributes
:reporter_yid
:team_yid (optional, set when reported over Team Board)
:violater_yid
:reason (enum)
:explanation (text)
:discussion (array) # or link to special DM thread?!
:created_at
:updated_at
:resolved (boolean)
end
class [User & Team]
has_many :violating_reports, where.not(resolved: true)
end
# neither foreign_key nor polymorphic association to "Violator" (Insights, Posts, Comments, DMs, Users)
# if needed the `fynd` method can be used
Moderation board
Like Teams will have a "Team board", Moderators should have a "Moderation board" where all ContentBlocks & UserBlocks are listed, where ViolationReports show up and where all DM threads are accessible through those objects.
Blocking
Users
with therole
'moderator'"Moderators can block content
Blocking could happen for various reasons:
Moderators can block users
Moderators can exclude users from the platform
Comments and Direct Messages
Comments and Direct Messages are a special case. No blocking by moderation is necessary, as Users and Teams can block other Users themselves and "remove" any comment (we will only remove visibility, while keeping the comment stored and still visible to the original writer).
Users should be able to report content, comments, direct messages or users
Users should be a able to create a ViolationReport, explaining why certain content or users are violating the rules of the platform or hurting their feelings.
Comments and Direct Messages should also be reportable. Reporting them will make them invisible to the reporting Team or User (like they "removed" them) and
Moderation board
Like Teams will have a "Team board", Moderators should have a "Moderation board" where all ContentBlocks & UserBlocks are listed, where ViolationReports show up and where all DM threads are accessible through those objects.