The short version
Jarvis ("we," "the bot," or "him") is a Discord app. We collect the minimum data needed to make the bot work. We don't sell your data, use it for marketing, or look at it for fun - but to make the bot work, your messages and any voice audio captured only after someone explicitly runs /voice are sent to third-party AI providers. /play by itself does not put Jarvis into listening mode.
Abuse-detection notice: Your stored memories may be read by automated abuse-prevention systems and processed by external tools that facilitate abuse detection. If you do not agree, run /opt out and discontinue use of Jarvis. Removing the bot from one server does not delete your memories or stop this processing while you keep using Jarvis elsewhere - only /opt out plus discontinuing use does that.
What we actually collect
- Message content - For AI chat, only when you talk to Jarvis directly (mention him, run a command, etc.) - which also pulls in a little surrounding context, see "Conversation context" below. A few opt-in server features an admin can switch on do read messages in the channels they are scoped to - such as the counting game (see "Server engagement features"). Outside an active AI chat or those features, the bot does not read the surrounding channel. DMs are disabled - this is a server-only operation.
- Conversation context - Each time you prompt Jarvis, he reads the last few messages sent in that channel before yours (up to 20) to follow the live conversation. If you're replying to a specific message, he reads that one too and is told who wrote it, so he doesn't mistake their words - or his own - for yours. Messages from anyone who has opted out via
/opt outare skipped, whether they fall in that recent window or are the message you replied to. None of this is stored - it's fetched fresh each time and forgotten after he replies. - Voice transcriptions - Only after someone explicitly runs
/voice./playor sharing a voice channel with Jarvis does not make him listen. Once/voiceis active, he only processes audio from opted-in users and only reacts when you say his name. Raw audio is never recorded or stored. It is transcribed live, processed, and the resulting text is written to your encrypted memory. - Conversation history ("memories") - Your messages, his replies, timestamps, and basic identifiers so the bot can remember who you are. These memories are tied to your account, not to any one server - they are stored per user and travel with you across every server you share with Jarvis, encrypted at rest. When you ask him something, he uses keyword matching to pull up the most relevant past conversations - not just the latest ones. This is how memory works without dumping the full channel into context.
- Operational metadata - Usage logs, event data, and reliability signals. Subject to TTL.
- Abuse-prevention counters - Per-server and per-user request counts and AI token totals, kept solely to ensure the service stays functional for everyone. We don't review your messages here - we count requests. Auto-deleted after 30 days.
- Member data - Only for status channels. Not retained beyond what the feature needs.
What we do with it
Exactly what you'd expect:
- Send your message to a third-party AI provider to generate a response (see "Third-party services" below for who and how).
- Keep conversation memory so context persists between sessions - per user and across every server you use the bot in, surfaced by keyword relevance, not just recency.
- Handle real-time voice processing - hearing you, talking back. Voice audio is sent to NVIDIA NIM for transcription and synthesis.
- Run AutoMod, stats, and other server-management features.
- Keep the service running and prevent abuse.
Data protection
We store only what is required for functionality and safety, with strict retention limits and access controls. Stored data is encrypted at rest. Decryption only happens when Jarvis actually needs it to reply to you or when automated abuse-detection systems flag a record for review. When a message is sent to a third-party AI provider for processing, it leaves our system; at that point, the provider's own security and data practices apply, governed by the policies we link below.
Retention & deletion
Conversation data is retained for 30 days. To remove it sooner, run /opt out - this immediately purges all of your stored memories across every server and stops future retention, with no support ticket required. /clear resets your current conversation context. Because memories are tied to your account rather than a server, an /opt out wipe applies everywhere you use Jarvis at once.
Abuse-prevention counters (per-server and per-user request and token totals) are kept for the same 30-day window and then auto-deleted. They exist only to keep the service functional for all users.
Third-party services
Jarvis routes AI responses through multiple providers - Groq, Cerebras, SambaNova, Mistral, Google Gemini, OpenAI, DeepSeek, Cloudflare Workers AI, and NVIDIA NIM - depending on availability. Some requests are instead handled by open-weight models hosted locally on our own server and never leave it. Each external provider processes data under their own privacy policies, disclosed below. We do not authorize providers to use data for training where their terms allow opt-out, and we select configurations that minimize retention where possible.
Voice features use NVIDIA NIM for speech-to-text and text-to-speech. Audio is transmitted securely to NVIDIA for processing.
Relevant privacy policies: Groq · Cerebras · SambaNova · Mistral · Google · OpenAI · DeepSeek · Cloudflare · NVIDIA
Your rights
- Delete everything we store on you, whenever you want, with
/opt out- it wipes your memories across every server at once, since they are tied to your account rather than any one server. (Data already sent to AI providers is subject to their own retention policies.) - Remove the bot from a server to stop further collection there. Note this does not by itself delete your personal memories, which are account-scoped; use
/opt outfor that. - Contact us with questions - we respond directly.
Server engagement features
Some optional server features store a small amount of data scoped to that one server - not to your account-level memory. A server admin can turn any of these off with /features, and all of it is permanently deleted when Jarvis is removed from the server. None of it is sold, used for marketing, or shared beyond what the feature needs.
- Leveling - if a server enables it, Jarvis counts how many messages you send in that server and awards activity XP and a level (shown via
/rankand/leaderboard). We store your XP, level, and message count per server. We do not store the content of those messages - only that a message happened, plus a one-minute anti-spam timestamp. This is separate from the Stark Bucks economy, and a server admin can reset it at any time. - Starboard - if a server enables it, when a message collects enough star reactions Jarvis reposts it to a highlights channel. We store a small mapping - the original message's ID, the starboard copy's ID, and the current star count - so the highlight stays up to date. The highlight is rendered live from the original message; we do not store the message's text in our database.
- Giveaways - if you click "Enter" on a giveaway, we store your user ID on that giveaway's entrant list so we can draw a winner and stop you entering twice. The list is deleted with the giveaway.
- Tickets - if a server uses ticket support, opening one creates a private thread; we store the thread ID, your user ID (as the opener), and whether it is open or closed. When a ticket is closed, staff may save a text transcript to a staff-only log channel they configured. Ticket records are deleted when Jarvis leaves the server.
- Birthdays - entirely optional. If you run
/birthday setwe store the month and day you provide and your user ID - never the year. It is used to post a birthday greeting (and optionally grant a temporary role for the day) in the server you set it in. Remove it any time with/birthday clear. - Counting - if a server runs the counting game, we store the current number, the ID of the last person who counted (to stop one person counting twice in a row), and the record. This is one of the few features that reads messages in a normal channel, and it is limited to the single counting channel an admin designates. It requires the operator to enable Discord's Message Content intent.
When Jarvis leaves a server
If Jarvis is removed from a server, we retain limited server metadata (name, ID, icon, member count, aggregated request/token counters) for 30 days to investigate abuse and protect other servers. After 30 days, this data is permanently deleted. The server's own config is no longer active. Your personal memories are account-scoped, so removing the bot from one server does not delete them. To erase your memories everywhere at once, run /opt out.
Contact
Discord: https://discord.com/invite/ksXzuBtmK5
Email: dev@jorvis.org