Data handling

For server owners and mods. Effective October 24, 2026. Questions: contact@civility.tools.

This page lists exactly what Civility stores, so you can tell your members. The Privacy Policy covers the same ground in plain terms.

What Civility can see

Civility asks Discord for the permissions its steps use when it's added, listed on civility.tools. It reads:

  • messages and their edits, but not direct messages;
  • members joining, leaving and changing names or roles;
  • /report and "Report message";
  • presses on the buttons of its own direct messages, when a workflow asks a member something;
  • its own entries in the server's audit log, to check its actions.

It doesn't see members' online status.

What it stores, and for how long

DataWhat's in itWhen it's storedKept
Member namesUsername, server display name, join date, avatarWhen a member posts, joins, reports, is reported or changes their nameWhile Civility is on the server
Channel namesNameWhen Civility sees the channelWhile Civility is on the server
Workflow runsThe event, each step and its result, and where a run is waiting and until when. When a workflow asks a member something by direct message, which button they pressed and whenWhen a published workflow runsWhile Civility is on the server. Message words are removed after 24 hours unless the run opened a case. An action Discord didn't confirm keeps its words until a mod answers, at most 7 days.
CasesThe member, a copy of the message or report with its author and channel, notes, decisionsWhen a workflow opens a caseWhile Civility is on the server
Recent-message fingerprintsMessage id, channel, author, time, and a keyed fingerprint of the text that can't be turned back into the wordsOnly on servers where a live workflow uses a step that looks at members' recent messages24 hours
Join recordsMember id and when they joinedOnly on servers where a live workflow uses "Wait until" with "Joins drop below a number a minute"24 hours
WarningsMember, reason, when it was given or clearedWhen a workflow gives oneWhile Civility is on the server. A reason taken from a member's message loses the message's words after 24 hours, unless the warning is part of a case.
WorkflowsSteps, versions, history, drafts, notes on steps, mentionsWhen mods edit themWhile Civility is on the server
AccessWhich roles have which abilities, who changed them; the role holders at the last checkOn the Mods page, and at each checkWhile Civility is on the server
Access changesThat a dashboard account lost access, and whether they left the server or lost the roleWhen it happens, so an open editor can close for them1 hour
Editor presenceWhich dashboard account has a workflow open, whether to edit or view, and when they were last thereWhile someone has a workflow open1 hour
HealthProblems Civility's checks found with its setup and permissions: the problem, the workflow step, and when it was first seen, last seen and fixed. For some problems, the run, case and member it happened withAt each check, and when a step failsWhile Civility is on the server
Install recordWhen Civility joined and left, and the Discord id of whoever added it (from the server's audit log)When Civility is addedWhile Civility is on the server. It is the server's data, so deleting a dashboard account doesn't remove it.
Dashboard accountsDiscord id, username, avatar link, cursor colour (if picked), date last usedWhen someone signs in, or answers a question in DiscordUntil they ask us to delete it. A daily clean-up also deletes it once 90 days have passed since they last used Civility, unless it has an unresolved case assigned to it on a server Civility is still in. Their notes and decisions stay in the server's history as "Deleted user".
Channel groupsEach group's name, and the channels and categories in itWhen mods make or change a groupWhile Civility is on the server
Setup problemsEach setup problem Civility found, the sentences it posts about it in your log channel, which channel, and the id of each message it postedWhen a check finds a problem. Posts only while "Post setup problems" is onThe problems: while Civility is on the server. The record of each message it posted: 7 days after Civility confirms or gives up on it
Clean-up recordsWhich clean-up ran, when, and how many items it removed for your serverEach time a clean-up runs; for the ones that run every 30 seconds, one record an hour30 days

Attachments are never copied. Only their links and file names are kept.

Mods can also add notes, make decisions and mark a case resolved from the case's post in Discord. These are kept in the case like the ones made in the dashboard, with who made them.

While mods edit a workflow together, where their cursors are passes between them live and isn't stored. Who has a workflow open is stored for an hour (row below).

If your server sets up a mod queue, Civility also posts each case in your server's forum, with a copy of the message cut to 1,000 characters. A run with no case gets a post only when its workflow writes to the mod queue or asks mods something there. Those posts are in Discord, not in the table above. Removing Civility, or the 30-day clean-up, doesn't delete them. Mods can delete them in Discord.

Removing Civility

When Civility leaves your server, nothing is deleted right away. If it comes back within 30 days, everything is as it was.

After 30 days, a daily clean-up deletes everything in the table above for your server, except dashboard accounts, which aren't tied to one server and have their own row above. Copies in backups expire within 27 days after that. A server added back after that starts fresh, with case numbers from 1.

Backups

Railway backs up Civility's whole database every day and every week. Daily backups are kept for 6 days, weekly ones for 27 days. Backups are only used to recover from a failure. When data is deleted, from the clean-ups above or because you asked, it stays in the backups until they expire: at most 27 days.

Who sees what in the dashboard

Access follows Discord roles. The server's owner gives each mod role abilities on the Mods page. For example, Cases is the ability that shows case pages and the message copies in them.

Someone who loses the role in Discord loses the access. Nobody from another server can see your server's data.

Providers

ProviderWhat forWhere
DiscordWhere Civility runs and signs people inDiscord's infrastructure
RailwayHosting, the database and its backups, both encrypted at rest, and the bot's log lines: ids, codes, error kinds and code locations, never message text. Railway keeps the log lines for up to 7 daysUnited States
SentryBot error reports: ids and code locations only, never message text or names. A once-a-minute signal that the bot is running, with no data about anyoneUnited States

Requests

To get a copy of your server's data, or have it deleted early, write to contact@civility.tools from the server owner's Discord account.