app.moderation_actions
TableRow level security on
Append-only moderation decisions on a listing with the statement of reasons sent to the affected party (EU Digital Services Act article 17). Written only by the platform: from the operator console (A90) with the statement in parts and the deciding operator. The latest decision rules: Removed hides the listing and refuses applications until Restored.
Primary key: id
| Column | Type | Nullable | Description |
|---|---|---|---|
| id | uuid | No | Primary key, UUID v7. |
| org_id | uuid | No | Owning org, derived from app.opportunities on insert; never accepted from the caller and never changed.References app.organizations.id |
| opportunity_id | uuid | No | Opportunity decided on.References app.opportunities.id |
| listing_report_id | uuid | Yes | Report that prompted the decision, when one did.References app.listing_reports.id |
| action | app.moderation_action_kind | No | Removed, Restricted, Restored or No Action. |
| statement_of_reasons | text | No | Statement of reasons sent to the affected party. |
| decided_at | timestamp with time zone | No | When the decision was made. |
| created_at | timestamp with time zone | No | When the row was inserted. Set by the database. |
| created_by | uuid | Yes | Person who inserted the row, or null for a platform process. Set by the database.References app.people.id |
| updated_at | timestamp with time zone | No | When the row last changed. Set by the database. |
| updated_by | uuid | Yes | Person who last changed the row, or null for a platform process. Set by the database.References app.people.id |
| deleted_at | timestamp with time zone | Yes | Soft delete time. A row with deleted_at set is ignored by every access helper. |
| decided_by | uuid | Yes | Operator who decided, from the session; null for decisions before the console.References app.people.id |
| ground | app.moderation_ground | Yes | Illegal Content, Terms Violation or No Violation. |
| rule_reference | text | Yes | The law or the terms and policies clause relied on, for example Acceptable Use Policy 3.2. |
| facts | text | Yes | The facts and circumstances the decision rests on. |
| automated_detection | boolean | No | Whether automated means detected the content; false for every console decision. |
| automated_decision | boolean | No | Whether the decision was taken by automated means; false for every console decision. |
| moderation_appeal_id | uuid | Yes | Appeal whose reversal produced this decision, when one did.References app.moderation_appeals.id |