What Iris keeps.

Iris stores only what she needs to run in a Discord server, plus one review log that a manager can switch off. This page lists all of it.

What is stored

  • The server ID, server name, a custom prefix, and which commands a manager turned off.
  • Where the music playback cards and the lyrics cards go: the two text channels a manager picked. Each server also keeps its own volume, from 0% to 200%, set with the buttons on the playback card and stored so it survives a restart.
  • The welcome and boost banners: the text channel for each, whether it is on, and the message text a manager wrote.
  • A live alert for one server: the YouTube channel ID and name, whether alerts for it are on, the Discord channel that server chose, and the video ID of a stream that was already announced there. A manager of that server can change this list on the dashboard.
  • The AI settings a manager saved for one server: the provider, the model, and that server's API key. The key is encrypted with AES-256-GCM before it is stored, it is tied to that server and provider, and only its last four characters are ever shown again. The same settings hold the channels Iris may chat in, a time zone, and the review log switch.
  • The web search settings a manager saved for one server: the search provider and that server's search API key. The key is encrypted the same way, tied to that server and provider, and only its last four characters are ever shown again.
  • The dashboard session: user ID, display name, avatar, and the Discord OAuth token. The session lives in Redis and expires.
  • The server count and a heartbeat time, for the status on the home page.

What is not stored

Message text is read to recognize a command, and the text of ordinary chat messages is not written to the database. Attachments are never stored. The one exception is the question and answer of a chat with Iris, below.

Song titles and YouTube links are read to play audio in the voice channel. Audio and voice-channel contents are not stored.

AI questions

Chat with Iris, including tagging her, replying to her, or the ask command, works only after a server manager adds a key for an AI provider. The message, the message it replies to, and the server name are sent to that provider with that server's key, and the provider's own privacy terms apply. If a manager turns on recent chat, up to eight earlier messages from the last 30 minutes in that channel, with their authors' display names, are sent along too. Some free tiers use prompts to train models.

By default Iris also keeps one row for each answer she gives: the server, the channel, the person's Discord ID, the message ID, the question, the answer Discord received, whether a command ran, and a few review flags such as whether a plan was stripped. Both text fields pass through the same secret redaction and are length-capped. This is used only to review how the chat guards behave; it is not shown to other members, not exported, and not used for training. Rows older than 90 days are deleted. A manager can turn this off for the whole server on the dashboard, which stops new rows from being written.

research also uses the search provider a manager chose for that server. The question goes to that provider, and the top results come back to Iris. The question and those results are then sent to the server's AI provider to write the short answer. Both providers apply their own privacy terms.

Discord permissions

The bot uses the Guilds, Guild Messages, Message Content, and Guild Voice States intents. Message Content is required so the prefix can be read. Guild Voice States tells Iris which voice channel you are in. Message Content is enabled in the Developer Portal. The server permissions requested on invite are View Channels, Send Messages, Embed Links, Read Message History, Connect, and Speak.

Last updated 4 November 2026.