Tzurot Privacy Policy

Status: In effect.

Last updated: 2026-07-26

Tzurot is a Discord bot that lets you talk with AI characters. It is operated by an individual developer (“the operator”, “we”). This policy explains what data the bot stores, why, where it goes, and what control you have over it. It is written to describe what the software actually does — nothing more.

What we collect and store

Account basics. Your Discord user ID, username, timezone (if you set one), your notification preferences, and whether you have completed the 18+ verification (a yes/no flag with a timestamp — we never ask for or store your birthdate or identity documents).

Messages. The content of messages in conversations the bot participates in, kept so characters can hold a coherent conversation. This includes message text, attachments’ AI-generated descriptions, channel and server IDs, and reply context. Please don’t share sensitive personal information (health, financial, or identity details) in conversations — the bot never asks for it and does not need it.

Memories and facts. The bot builds long-term memory for characters: conversation summaries and short factual statements extracted from what is said (for example, “this user’s cat is named Miso”), stored with embeddings for retrieval. These are derived from your messages and are about you.

Your creations. Personas and characters you author, including their descriptions, avatar images, and voice-reference audio clips you upload for voice cloning. Avatar images are served from a public URL without authentication — Discord requires this for the bot to display them — so do not use an avatar image you would not want publicly reachable.

API keys (BYOK). If you connect your own AI-provider API key, it is encrypted at rest with AES-256-GCM (unique IV per encryption, authenticated tags) and used only to call that provider on your behalf. The same encryption applies to any external session credentials you supply for data imports.

Usage records. Per-request logs of provider, model, and token counts — kept to prevent infrastructure abuse, including for users on their own keys. No message content is in these records.

Feedback. If you submit feedback via /feedback, the submission is stored and a copy is posted to a private channel the operator reads.

Diagnostic logs. For 24 hours after each AI response, the bot keeps a “flight recorder” entry containing the full request context — your message, the assembled prompt (including character definition and retrieved memories), and the model’s raw output — used to debug generation problems. You can view your own entries with /inspect; the operator can view all entries during that window. They are deleted automatically after 24 hours.

Retention

Data Kept for
Conversation history 30 days (swept daily)
Diagnostic logs 24 hours (swept hourly)
Data exports you request 24 hours, then deleted
Memories and extracted facts Hidden from use the moment you forget them; rows erased with their persona/character (see below)
Personas, characters, uploads Until you delete them
Feedback you submit Deleted once it is both 90 days old and reviewed by the operator — or when you delete your account
Release-DM delivery records Deleted once 90 days old and settled (the record of your latest notification is kept until it’s replaced or you delete it)
Account basics, usage records Until you delete your account (see “Your controls”), or until the inactivity rule below applies

Inactive accounts

We are not a commercial service that keeps your data forever on the chance you come back. If you have not used the bot for at least 180 days, your account enters the retention process, and which path it takes depends on whether we can still reach you:

Inactivity alone never erases an account you actually used while you are reachable: the notice and its grace period always come first. Any activity resets your inactivity clock; a notification that successfully reaches you resets the unreachability state.

One narrow exception to the notice: accounts with no sign of direct use. If your row shows no trace of actually using the bot — no conversations with its characters, no characters or personas you created, no keys or notification settings you configured — it holds nothing you made, and it is removed without notice once inactive. Such rows usually exist only because you spoke in a channel the bot could see. There is nothing to export, and a deletion notice from a bot you never really used would be noise, not information.

Erasure is complete — everything /settings data delete removes, this removes. It differs from that self-serve deletion in exactly one way, and the difference protects other people rather than you: a character you created that other users have talked to is not deleted here, because deleting it would erase their conversations and memories too. Such a character is transferred to a holding account instead, and keeps a record of who created it so it can be returned if you come back.

This exception applies only to the inactivity rule. If you delete your own account with /settings data delete, the characters you created are deleted outright — shared or not. The command warns you how many other people have memories with each one before you confirm.

We keep a record that an erasure happened (your Discord ID, the date, and how many rows were removed) so we can answer questions about it. That record contains no message content, memories, or character definitions.

Where your data goes (third parties)

Your conversation content is sent to AI providers to generate responses. Which provider depends on your configuration:

Each provider processes data under its own privacy policy. We attach no analytics, telemetry, or advertising services — none exist in the codebase.

We never sell your data.

AI training

Your controls

Age requirement

Tzurot is for adults. Chatting with characters requires confirming you are 18 or older (verification is automatic in Discord age-restricted channels). Do not use the bot if you are under 18.

Security

Secrets (API keys, credentials) are encrypted at rest as described above. Service-to-service traffic is authenticated. Access to production data is limited to the operator. No system is perfectly secure; use the incognito and memory controls for anything you’d rather not have stored.

Changes

Material changes to this policy will be announced through the bot’s release-notes channel (the same opt-out DM system described above) and reflected in the “last updated” date.

Contact

Questions or data requests: use the /feedback command in Discord, or open an issue at github.com/lbds137/tzurot/issues. If you have already deleted your account (or can’t use Discord), GitHub issues is the right channel — erasure requests are honored there too.