Data we process
TulayBot processes the information needed to authenticate users, identify manageable Discord servers, configure Discord–Telegram routes, operate team access, record delivery health, and maintain subscriptions. This can include Discord user and server identifiers, display names, channel identifiers, Telegram chat and topic identifiers, route settings, membership roles, subscription status, and operational timestamps.
Message handling
TulayBot relays message content between the destinations you configure so the service can perform its core function. Message content is processed in transit and is not stored in TulayBot's activity database. TulayBot keeps delivery metadata for reliability, duplicate prevention, bounded safe retries, and the Delivery Recovery Center, including source and destination message identifiers, route and direction, delivery state, attempt and retry counts, retry timing and reason, review state, timestamps, bounded error details, and a source-content hash fingerprint used to detect Discord message edits before a resend. Manual recovery history also stores the acting Discord account ID, recovery action, outcome, and bounded diagnostic detail. This relay delivery and recovery metadata is retained for up to 180 days and does not contain the relayed message body. TulayBot derives workspace and platform reliability analytics from this same retained metadata, such as observed delivery outcomes, retry recovery, latency, route reliability, and error categories; the analytics do not add message-content storage.
AI Translation Beta is optional and disabled by default. When it is enabled for a route direction, the message text being relayed is sent to OpenAI for translation before delivery. Telegram members in an eligible connected workspace may also request on-demand personal translation by replying to a message with the translation command. TulayBot does not store the original or translated conversation text in its database. Shared and personal translation retain aggregate metadata such as workspace and route identifiers, target language, model, character and token counts, success or error status, and timestamp for up to 180 days. Personal usage metadata does not contain the Telegram user identifier. If a member saves a personal target language, TulayBot stores that workspace identifier, Telegram user identifier, language code, and update time until the member resets it or the workspace is released. The workspace dashboard may show only an aggregate count of members with a saved personal language; it does not list those Telegram identities. When a member opens the one-time language picker for a replied message, that source text is held only in process memory for up to 10 minutes and is not written to the TulayBot database. Workspace owners separately control whether Personal Translation is enabled, whether failed private delivery stays private or may fall back to the connected group, an optional per-member daily limit, and the shared monthly AI translation request cap. New workspaces keep Personal Translation disabled and use Private only as the default delivery mode. The durable per-member rate counter stores a one-way hashed member key, request counts, and timestamps rather than the Telegram user identifier or message text, and stale counters are pruned. The cap values, delivery mode, and update time are stored as workspace configuration. If shared translation is unavailable, fails, or has reached the configured monthly cap, TulayBot delivers the original relay message instead.
Smart Community Summaries Beta is optional, disabled by default, and currently limited to Owner Access workspaces. When a workspace owner manually generates a summary, TulayBot reads up to 100 recent messages from the selected connected Discord channel within the chosen 6, 12, or 24 hour window. This can include Telegram-origin messages already relayed into Discord. Selected source text is sent to OpenAI for that request with provider response storage disabled and is not written to the TulayBot database. TulayBot stores the generated structured summary, route identifier, window, message count, model, generation time, and expiry for up to seven days. Summary usage metadata such as workspace and route identifiers, request identifier, window, message count, input character count, model, status, token counts, provider response identifier, and timestamps is retained for up to 180 days for request caps and operational review. Failed or uncertain attempts count toward the owner-configured monthly cap and the hard three-request daily workspace limit, and TulayBot does not retry them automatically. Team members with workspace access may read a retained summary, but only the workspace owner can enable or generate summaries. Disconnecting a route removes its retained summaries; releasing the workspace removes its summary controls, usage, and summaries.
Community modules
When a workspace owner enables Levels, TulayBot stores the Discord server and member identifiers, XP total, counted-message total, and award timestamps needed for ranks and leaderboards. It also stores owner-configured reward rules, channel and role exclusions, level-up message templates, and a bounded set of recent award timestamps for rate limits. It does not store the content of messages used to award XP. Ask TulayBot is optional. Guided actions use no AI. If the platform owner enables AI, general support questions, up to two short previous questions, relevant Help excerpts and minimal role/plan context are sent to OpenAI with response storage disabled. TulayBot does not save chat text. Hashed member/workspace identifiers, request timestamps, model, token usage and estimated costs are retained for 90 days for quotas and budget control. Provider abuse-monitoring retention may still apply; see https://developers.openai.com/api/docs/guides/your-data. Never submit credentials, linking codes, private messages or payment details. Earlier backups can retain older usage records. Reaction Roles stores owner-configured panel, channel, message, role, label, style, and timestamp metadata so button selections can add or remove Discord roles. Autoroles stores only the selected server and role configuration needed for new human members; bot accounts are excluded and former member roles are not stored.
Sticky Messages stores the workspace owner's configured message text and optional embed, channel and bot-message identifiers, activity counts, repost timing, delivery-attempt identifiers, and error status. Member message content is not stored for Sticky Messages. Owners can pause or remove a sticky; releasing a server deletes its configuration, but does not remove existing Discord posts. Remove stickies before releasing a server to clean up their recorded posts.
Auto Purge stores owner-configured channel cleanup rules, preview message identifiers and creation timestamps, scheduling cursors, confirmed deletion counts, and error status. It reads channel history to evaluate age, author type, and pin status, but does not store the contents of messages it evaluates. Owners must preview a rule before enabling scheduled deletion. Deletion is permanent: TulayBot backups do not contain copies of purged messages. Existing Logging settings may separately send deletion information to configured Discord log channels.
Tags stores workspace-authored names, message text, embeds, audience settings, revisions and update times. Tags are sent only when a member invokes the command. Removing a tag keeps previously sent Discord messages; releasing the server removes its saved tags. Audit records identify configuration changes without copying tag message content.
Triggers stores owner-configured matching phrases, channel selections, linked Tag identifiers, cooldown settings, last attempted message identifiers and error status. New human message text is checked in memory and is not retained by the Triggers module. Deleting or restricting a linked Tag pauses its triggers. Removing a trigger keeps prior Discord replies; releasing a server removes its trigger configuration.
Moderation stores member and moderator identifiers, a member display name, action, reason, timestamps, duration and outcome in workspace case history. Pending confirmations expire after five minutes. Case access requires the Moderation grant. Optional staff notifications send case details to the configured Discord channel. Removing a workspace deletes its moderation settings and cases, subject to retained backups. Warnings do not send direct messages. Ban actions through this dashboard preserve existing member messages.
Scheduled moderation stores the confirmed action, actor, target, timezone and execution time. Temporary bans retain separate expiry records so cleanup can continue after workspace release or subscription expiry while the bot remains installed. These records include the original ban reason for matching against Discord. Completed or rejected cleanup records are removed after 30 days; unresolved expiry records remain for review. Lookup queries are sent to Discord but are not saved as moderation cases.
Connected services
Discord provides authentication, server information, bot installation, role management, interactions, and message delivery. Telegram provides bot access and destination delivery. PayPal processes subscriptions and returns billing status to TulayBot. Each provider processes information under its own terms and privacy policy.
Cancellation feedback and plan guidance
The optional cancellation survey stores your chosen reason, submitted text (up to 1,000 characters), relevant plan, submission time and cancellation outcome. Only the TulayBot platform owner can view it. Active feedback records are removed after 30 days; retained verified backups may contain earlier records. Survey content is not sent to PayPal or an AI provider. Minimal user/workspace suggestion timestamps are retained for up to 90 days to limit reminders and remember dismissals. Opening help or dismissing a suggestion does not change billing.
Retention
Account, route, team-access, billing, audit, delivery, Levels, Reaction Roles, Autoroles, Sticky Messages, and Auto Purge data is retained while needed to provide the service, protect accounts, resolve operational problems, meet billing obligations, and preserve verified backups. Releasing a server removes its server-specific module settings and participation records through database relationships. Server-specific bot profile images and banners are sent to Discord; TulayBot stores Discord reference hashes rather than those uploaded image contents. Custom workspace logos and owner-configured website images are stored in the TulayBot database and included in verified backups.
Your choices
- You can pause or disconnect routes from the dashboard.
- Workspace owners can disable Levels, remove Reaction Role panels, remove team members, and release unused servers.
- You can cancel subscription renewal while keeping access through the applicable paid period.
- You can stop using TulayBot and remove the bot from connected services.
Security
TulayBot uses Discord OAuth state verification, HTTPS, secure and HTTP-only session cookies, owner and role-based permissions, restricted server binding, audit records, and verified database backups. No internet service can guarantee absolute security, but access is limited to what is needed to operate the product.
Policy changes and questions
This policy may be updated as TulayBot adds features. Material changes will be reflected by the updated date. Customers can use the Help & setup guide inside the dashboard for support and service questions.