This policy explains what data IronGuard ("the bot") processes when it is added to a Discord server ("your server") and why.
What we access
To do its job, the bot receives Discord's Message Content data for messages sent in servers
it is a member of. This includes message text and image attachments.
What we do with it
Each message's text is compared, in memory, against a maintained collected selection of known scam/spam text patterns.
Each image attachment — including an image link pasted as plain text (any site, not just Discord's own CDN), not just a file attached directly — is hashed and compared, in memory, against a maintained collected selection of known bad images. A pasted link is fetched only after checking it doesn't point at a private/internal address, purely to retrieve the image bytes for hashing.
If nothing matches, the message content is discarded immediately. It is not logged, stored, or sent anywhere.
If something matches, the bot deletes the message, records an offence ("strike") against the sender,
and posts a record of the match (message content, attachment(s), sender's username/ID, channel, and current
strike count) to a moderation log channel that your server's admins configure.
That record lives in your own Discord server, visible only to members with access to that channel,
subject to Discord's own data retention.
The sender is kicked (if the bot has permission to) once their strike count, within a rolling
1-hour window, reaches the threshold your server sets via /automod-strike-threshold
(default: 1, i.e. kicked on the first offence). Strikes older than 1 hour are dropped automatically,
and the count is cleared as soon as a kick happens.
What we store
We persist two small records ourselves:
A per-server configuration record: your server's ID, the moderation log channel ID you set via
/automod-log-channel, and the strike threshold you set via /automod-strike-threshold.
A per-user strike counter: the offending user's ID, the server's ID, and an offence count, used only to
decide when the strike threshold is reached. This counter auto-expires on a rolling 1-hour basis and is
cleared immediately once it results in a kick.
We do not store message content or attachments.
What we don't do
We do not sell, share, or use your data for advertising.
We do not use message content to train AI.
We do not share data with third parties, other than Discord itself (required to operate as a Discord bot).
As described above, the message content is never retained nor even readable by the IronGuard Development Team.
Your controls
Server admins can remove the bot at any time to stop all processing,
and can clear the configured log channel with /automod-log-channel.
Data requests
For questions, deletion requests, or anything else related to this policy,
contact either via Discord Ten [@tentti] or via email ironguard@imbaru.com.
Changes
If this policy changes, the effective date above will be updated.
In case of changes to User Data Collection, your server owner will be notified of said change prior to implementing it.