Internal moderation tools

Describe the moderation system works and how the team should use it

For user documentation about moderation, see Moderation

We don't provide any interface for the moderation features yet. To access them you'll need a direct access to the database - through Forest, PgAdmin, DBeaver...etc

Limit user account


  • All features (submitting expenses, commenting...) will be blocked for this user.

  • A warning will be displayed at the top of all pages for this user.


User is clearly spamming or trying malicious things on the platform.


Set to false

Limit specific feature


The specified feature will be blocked for this user.


User has a strange behavior with a feature, or is abusing a specific one. We want to prevent the use of it without blocking access to the others. For example, users having bad language in a conversation - we want to prevent them from commenting, but it's ok to have them creating orders.


Set{FEATURE_NAME} to false

To see a list of all features names, check


  • Disable access to expenses: = false

  • Disable access to conversations: = false

Ban users & collectives permanently

First make sure that users don't have any data that is problematic to delete:

WITH profiles_to_ban AS (
SELECT * FROM "Collectives"
WHERE slug = ANY($collectiveSlugs)
COUNT( AS nb_collectives,
COUNT( AS nb_transactions,
COUNT( AS nb_expenses,
COUNT( AS nb_orders
profiles_to_ban c
"Transactions" t ON t."CollectiveId" = OR t."FromCollectiveId" =
"Expenses" e ON e."CollectiveId" = AND status = 'PAID'
"Orders" o ON o."FromCollectiveId" = OR o."CollectiveId" = AND o.status != 'ERROR'

If that's ok and you're 100% sure that all these collectives are SPAM, you can also include the collective admins:

SELECT mc.slug
FROM "Members" m
INNER JOIN "Collectives" c ON m."CollectiveId" =
INNER JOIN "Collectives" mc ON m."MemberCollectiveId" =
WHERE m."role" = 'ADMIN' AND m."CollectiveId" =
AND c.slug = ANY($collectiveSlugs)
AND c."deletedAt" IS NULL

Make sure you re-run the first query with these new entries to make sure it's safe to ban them.

Please refer to this query to ban users and collectives from the platforms. You'll need to input a list of collective slugs to the query. When banning a user, all the related data (memberships, expenses, comments...etc) are (soft-) deleted. A special flag is set in is set to true.

User's email will be locked in database, to that it will be impossible for the user to register with the same email address.