Skip to content

app.content_moderation_decisions

TableRow level security on

Append-only decisions by an org's moderators on reported posts, comments and messages (ADR 0033 decision 57), with A90's statement of reasons in parts (1473). Written only through app.decide_content_report; one decision decides every open report on the item. Read by the org's moderators only, never about their own content; the reporters and the author receive the outcome as a notice.

Primary key: id

Columns of app.content_moderation_decisions
ColumnTypeNullableDescription
iduuidNoPrimary key, UUID v7.
org_iduuidNoOwning org. A row never moves to another org.References app.organizations.id
subject_kindapp.content_subject_kindNoFeed Post, Comment or Chat Message.
feed_post_iduuidYesPost decided, when the item is a post. No foreign key: the decision stays after the post is purged.
comment_iduuidYesComment decided, when the item is a comment on a post. No foreign key: the decision stays after the comment is purged.
chat_message_iduuidYesMessage decided, when the item is a chat message. No foreign key: the decision stays after the org's message retention purges the message (1324).
author_person_iduuidYesPerson who wrote the item, who receives the statement of reasons on removal.References app.people.id
actionapp.content_moderation_actionNoRemoved or No Action.
groundapp.moderation_groundNoIllegal Content or Terms Violation for a removal, No Violation for no action.
rule_referencetextNoThe law or the clause of the terms, policies or the org's own rules relied on, for example Acceptable Use Policy 1.
factstextNoThe facts and circumstances the decision rests on.
statement_of_reasonstextNoThe statement the reporters and, on removal, the author receive.
decided_byuuidNoModerator who decided, from the session; never the author.References app.people.id
decided_attimestamp with time zoneNoWhen the decision was made, set by the database.
created_attimestamp with time zoneNoWhen the row was inserted. Set by the database.
created_byuuidYesPerson who inserted the row, or null for a platform process. Set by the database.References app.people.id
updated_attimestamp with time zoneNoWhen the row last changed. Set by the database.
updated_byuuidYesPerson who last changed the row, or null for a platform process. Set by the database.References app.people.id
deleted_attimestamp with time zoneYesSoft delete time. A row with deleted_at set is ignored by every access helper.