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 who generate responses. /play by itself does not put Jarvis into listening mode. Each provider processes data under their own privacy policies, which we disclose 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.
Abuse-detection notice: Your stored memories may be read by automated abuse-prevention systems and may be processed by external tools that facilitate abuse detection (e.g., classifier services, moderation pipelines). This is required to keep the service functional and safe for all users. If you do not agree with this, do not use Jarvis - opt out via /opt out or remove the bot from your server.
What we actually collect
- Message content - Only when you talk to Jarvis directly (mention him, run a command, etc.). The bot does not read the surrounding channel. DMs are disabled - this is a server-only operation.
- Conversation context - If you reply to someone's message while talking to Jarvis, he reads that single replied-to message for context. Nothing else from the surrounding channel is read. If the author of the replied-to message has opted out via
/opt out, the reply context is skipped entirely. None of this is stored - it's read on the fly 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. Server-specific settings (channel locks, role gates, AutoMod rules, economy, and other guild config) are kept separately and scoped to that one server.
- 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 - including OpenRouter, Groq, Cerebras, SambaNova, Mistral, Google Gemini, and NVIDIA NIM - depending on availability. They process your message to generate a reply. Each provider processes data under their own privacy policies, which we disclose 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 both speech-to-text (Parakeet) and text-to-speech. Audio is transmitted securely to NVIDIA for processing; how they handle that data is subject to their own privacy policy linked below.
Relevant privacy policies: OpenRouter · Groq · Cerebras · SambaNova · Mistral · Google · 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 the only feature 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.
- Proactive briefings (opt-in autonomy) - a server admin can switch on scheduled "briefings" where Jarvis posts a short status message on a timer in one channel they choose. It is off by default, is rate-limited and honours quiet hours, posts only in that one channel, and does not read anyone's messages - the briefing is built from data Jarvis already has (such as the leveling leaderboard). It makes no automated decisions about people. Turn it off any time with
/proactive disable.
When Jarvis leaves a server
If Jarvis is removed from a server (kicked, banned, or the server deletes), we retain limited server metadata - name, ID, icon, member count, and aggregated request/token counters - for 30 days. This lets us investigate abuse and protect other servers from the same offenders. After 30 days, this data is permanently deleted. The server's own config (channel locks, role gates, AutoMod rules, economy, and other guild settings) is no longer active for that server. Your personal conversation memories are tied to your account, not to that server, so removing the bot from one server does not delete them - they remain available in the other servers you share with Jarvis and follow the normal 30-day retention. To erase your memories everywhere at once, run /opt out.
Contact
Discord: https://discord.com/invite/ksXzuBtmK5
Email: dev@jorvis.org