privacy
what it remembers
Last updated September 15, 2026. owaua keeps a short, scoped conversation history so it can talk back. This page is the honest version of what that means.
what this is for
This is for the official owaua Discord bot — the app you invite from this site, client id 1442127404607737999. The website and the owaua Discord server sit with the same person.
Discord has its own privacy policy, and that still applies. If you run a copy of the code yourself, that copy is yours, and you are the one responsible for it. This page is only for the official bot.
Using the bot also means you agree to the terms.
who to write to
owaua is a privately run Discord app. Questions, deletion requests, and anything else about this page can go to ckazros@owaua.com, Discord ckazros, or the Discord server.
Include your Discord user id if you want a specific account looked up. Please don’t paste private chats into a public channel.
what it collects
Only what it needs to answer you, and to remember a little of the conversation so the next reply is not from nowhere.
- Discord idsYour user id, and the server and channel ids when you talk in a server. Display names come along with the message Discord already sent. Server id is stored so one guild can be wiped without touching others. DMs have an empty server id.
- messagesPings and replies, plus DMs only when the operator enables them. Ordinary unmentioned messages are not conversation. Prefix commands are handled as commands, not as conversation.
- attachmentsNormal hangout mode is text-only and does not look at images. Audio attachments can be used by
!musicwithin its safety limits. - channel and server settingsThe selected persona, reply language, and provider choice. Those live in the same SQLite file so they survive a restart. Public DMs are off by default.
- usage limitsPersistent request ceilings cover 12 global attempts per minute, 30 per user per day, 100 per server per day, 200 total per day, and 1,000 lifetime attempts. Three AI requests can run at once.
- voice and music
!musicsees the author’s voice channel and the song name or url, then streams YouTube audio through yt-dlp. The current track is not saved across restarts. It does not download playlists. - mail you send usIf you email or DM the operator, that message is just a message. We keep what we need to answer it.
It does not scrape every channel it can see. No ping, no DM, and no active-mode hit means it stays out. Other bots are ignored.
why it keeps any of this
To reply. To remember the last few turns so the next message is not starting from zero. To keep the persona, language, and active-mode settings you asked for. To slow down people who would otherwise melt it. To play a track you asked for.
We do not sell this. We do not run ads against it. We do not build a marketing list out of your DMs.
how memory works
Data lives in a local SQLite file on the host (data/memory.sqlite3, WAL mode). Each conversation is keyed by channel + user. Two people in the same channel have separate histories. The same person in two channels has two histories. Up to 20 records (you + the bot) are sent back to the model, with inputs capped at 2,000 characters.
There is no privacy opt-in gate and no 30-day auto-expiry of that recent chat. It is stored because the bot needs it to talk. Duplicate Discord events for the same message id are not stored twice.
Please don’t send passwords, tokens, private keys, or anything you would not want saved. If you already did, have someone with Manage Server run !memory erase in that server, or write us.
who else sees it
Discord already has the message. That is their platform, their rules.
To generate a reply, the bot sends the current prompt, the last 12 stored turns for that channel + user, and any image it is looking at to an OpenAI-compatible model provider (default base url https://api.openai.com/v1, overridable). Those calls use storage-off. A local self-harm check can answer without calling the model at all.
Other services only see what that feature needs:
- musicThe song name or url you typed, so yt-dlp can find an audio stream. It plays that audio in the voice channel. It does not download playlists.
We are not Discord, and we are not those vendors. Their policies apply to what passes through them. There is no TTS provider, no speech-to-text, and no third-party antivirus scan.
how long it stays
Recent conversation stays until it falls off the 20-record-per-conversation window, expires after seven days, until an erase command wipes it, or until we delete it for you. Persona, language, and provider settings stay until they are changed.
Rate-limit counts and the duplicate-message guard live in memory and disappear when the process restarts. The current music track is not kept as conversation history.
Backups of the host can hold a copy of the SQLite file for as long as those backups exist. Treat that file like private chat, because it is.
your choices
If you don’t want a record, don’t talk to it. Leaving a server stops new server memory for you there. It does not, by itself, wipe what is already stored.
There is no per-user export command. You can run !memory erase mine to delete your own history. Someone with Manage Server can run !memory erase to delete every stored conversation message for that server. That does not erase other servers, DMs, or settings such as persona, language, or provider choice.
If that is not enough, email ckazros@owaua.com with the Discord user id. Say whether you mean DMs, a server, or both. Discord messages in the channel itself are Discord’s, not ours.
You can also stop using the bot, kick it from a server, or close your Discord account. Kicking it stops new collection in that server. It does not automatically purge the SQLite file.
this website
The site is static pages. The JavaScript here is for the menu. It does not set cookies, and it does not phone home with analytics.
The host and the browser still do normal web things: a request log on their side, a cached file on yours. We do not use that to profile you. Contact is just email.
age
You need a Discord account, and you need to be old enough for Discord. That means 13 or older. Please don’t use the bot if you are under 13.
The explicit persona can only be selected and only used in Discord age-restricted (NSFW) channels. That flag is not proof of anyone’s age. If you are 17 or under, stay out of those channels. The model is told that anyone 17 or under must never be involved in that voice.
the official bot vs running it yourself
Self-hosting means your SQLite file, your keys, your users, and your own privacy policy. The official bot is the one invited from this site.
We can change models, limits, and where the file lives. If that changes what we collect in a way that matters, this page will say so.
if this page changes
If this page changes, the new text applies once it is up. The date at the top is when that happened. Keeping the bot after that is agreement to the new policy.
Questions go to ckazros@owaua.com, Discord ckazros, or the Discord server.