Privacy Policy

BetterEH · last updated 2026-10-29

This policy covers the BetterEH Discord bot and this site, which receives the evidence attached to reports and unban requests made through it. Both are run by the BetterEH staff team for our Discord community: a public community server where members reach us, and a private staff server where tickets are handled. Neither is a public bot or a public service.

The Discord bot

The bot does two jobs. It is a modmail relay: you DM it, pick what your ticket is about, and staff answer from a private channel that only they can see. And it does support triage: when someone asks in the community server how to appeal a ban, report a player or register a gang, it DMs them the right form so they do not have to wait for somebody to point them at it.

What it reads

The bot reads message content in three places:

Support triage

Each public message is checked, as it arrives, for a question about one of three things: appealing a ban, reporting a player, or registering a gang. Almost every message is not one, and for those the bot does nothing and keeps nothing - the message is not stored, logged or forwarded anywhere.

When a message is a question on one of those topics, the bot sends the person who asked a private DM with the matching form. Nobody else in the channel sees it. It does not DM someone who already has a ticket open, and if the same person keeps asking about the same topic, it waits longer before each repeat, up to twelve hours. When someone says they were banned by our anticheat, the bot instead replies in the channel with a link to a short video explaining those bans.

Most questions are recognised by fixed rules. When a message looks like a question but the rules cannot tell which topic it is about, it is passed to a small language model that we run on our own server, together with up to five of the same person's recent messages in that channel (or replies to them), so a short follow-up like "any update?" can be understood. The model answers with a single topic word and nothing else. It is not a third-party AI service, nothing is sent outside our own servers, and the model keeps nothing once it has answered.

What it stores

The bot does not write your messages into a database, and it does not read or store your DMs with anyone else. Its database is encrypted at rest with AES-256 (SQLCipher).

Server member information

To open a ticket for you, decide who is allowed to close or judge it, and show staff who they are talking to, the bot looks at your membership of our servers, your nickname there, the date you joined and your roles. It uses this while handling your ticket and does not store it. If you leave the server while a ticket is open, the bot notices and closes the ticket, since replies could no longer reach you. It does not collect this for anyone who has not contacted us, does not build lists of members, and does not look at your online status or activity.

This site

Player reports and unban requests do not open a channel. The bot gives you a single-use link to this site, where you verify your Roblox account and upload your clip.

Roblox account verification

Signing in uses Roblox's official OAuth 2.0 with the openid and profile scopes. That gives us your Roblox user id and username, and nothing else. We store those two values against the report you are uploading for, so staff know which account it belongs to. Verification exists because a typed-in username proves nothing - anyone could enter someone else's.

For an unban request we also read your ban record in our Roblox experience - whether you are banned and the reason recorded on it - so that staff judge the appeal against what the ban actually says, and so that appeals against automatic anticheat bans can be turned away without wasting your time.

Everything we collect here

What we never receive

Staff accounts

Staff reviewing reports sign in to the dashboard with Discord, using the identify and guilds.members.read scopes. That tells us their Discord id and username and whether they hold the staff role in our server, which is what the dashboard checks. It gives us no access to their messages or their other servers.

Who else sees it

Server staff, in order to answer your ticket or review your report. Roblox, during sign-in and to deliver the outcome as an in-experience notification. Discord, because your ticket and the outcome are delivered there. Nobody else. We do not sell your data, we do not use it for advertising, and we do not share it with third parties.

Machine learning

None of this - your messages, your ticket, your clip or your appeal - is used to train machine learning or AI models, by us or by anyone else.

The only AI involved is the triage model described above. It runs on our own server, only sorts a public message into one of a few support topics, and is never trained or fine-tuned on anything you write.

How long we keep it

Ticket records are deleted when the ticket closes. Triage records and mirrored attachments are deleted after 30 days, and bot logs after 7. Transcripts, uploaded clips and the decisions made on them are kept as the record of the case and are not deleted automatically. Sign-in state expires after 15 minutes and upload links after one hour.

Your choices

Public messages that are not a support question are never kept. If you would rather not receive triage DMs at all, use /triage off in the server - the bot then skips your messages entirely, and /triage on undoes it. If your DMs are closed, the bot says so once in the channel and deletes that reply after a minute. If you have opened a ticket, you can ask us to delete your transcript, your uploaded clip, or any file of yours we mirrored - contact a staff member in our Discord server and staff can remove it permanently. We may keep the fact that a moderation decision was made where deleting it would undermine the ban or appeal it relates to, and we will tell you if that applies.

Security

Everything we store is encrypted at rest - the bot's database as described above, and everything on this site. Uploaded clips are encrypted with AES-256 before they touch the disk, and the database holding your report, your answers and the account it belongs to is encrypted as a whole. A copy of the disk, or a backup of it, is unreadable without our key.

Upload links work once and expire. Uploads are not listed or browsable, and the review dashboard is restricted to staff. Files are always served as downloads unless they are video, audio or an image, so nothing uploaded here can run as code in your browser.

Children

You must meet Discord's minimum age for your country to use Discord, and therefore this service.

Changes

If this policy changes materially we will say so in our Discord server. Questions: a staff member in our Discord server.

Home · Privacy · Terms