What phpbotscout does with your messages¶
phpbotscout is a bot. It answers questions about the phpboyscout toolkit, and it flags content for human moderators. This page says plainly what it reads, what it keeps, and what you can do about it.
If anything here is unclear or you think it is wrong, say so — the appeal route at the bottom is for moderation decisions, but the contact is the same for everything else.
What it reads¶
Only the channels it has been added to. These are listed in the server's channel topic and are all public. If a channel is not on that list, the bot does not see it.
It does not read direct messages. It does not read private channels. It does not read voice.
Within the channels it watches, it reads every message — it has to, in order to answer questions and flag content. That includes messages not addressed to it.
What it does with them¶
Answering. When you ask something — by mentioning it, replying to it, or using /ask — your
question is sent to an AI model to produce an answer, along with relevant extracts from the public
phpboyscout documentation.
Provider: Anthropic, model Claude Haiku 4.5, through their API. The model runs on Anthropic's infrastructure, not ours, and your question text reaches them. Their handling of it is governed by Anthropic's privacy policy.
What is sent, exactly. The text of your question, and extracts from the public phpboyscout documentation that might answer it. That is all.
Your Discord name, your user ID, the channel, and the server are not sent. The provider receives a question with no idea who asked it or where. This is a property of how the request is built rather than a promise about intent — there is no field for it to travel in.
If the model changes, this page changes with it. It is named here because you cannot make a judgement about a third party you have not been told about.
Moderation. Not active yet. When it is, messages will be checked against a ruleset, most of it running locally on the server, and an ambiguous message may be sent to the same provider named above for a second opinion. This paragraph describes what will happen, not what happens today — it is here so the change is announced before it is made rather than after. This page will drop the caveat when moderation goes live.
Nothing else. It does not build profiles, does not track you across channels, and does not use anything you write to train a model.
What it keeps, and for how long¶
| What | How long |
|---|---|
| Message content it has read (thread context, cached extracts, model requests) | 30 days |
| Moderation records — what was flagged, what a moderator decided | 12 months, with the message content replaced by a one-way hash after 30 days |
| Questions you ask it, and how often each subject comes up | 180 days, reducing to 30 — see below |
| The search index over public documentation | For as long as the source is public — this contains no member data |
The reason moderation records outlive message content: if you contest a decision months later, somebody needs to be able to reconstruct what happened. After 30 days that record says what was decided and why, but no longer holds what you wrote.
Why questions are kept longer, and what is kept¶
Your question is kept; who asked it is not. The text is stored so the project can see which subjects keep coming up and write documentation for them — that count is the most useful thing this bot produces. Your identity is stored only as a one-way hash, and that hash is thrown away and regenerated whenever the bot is redeployed.
Anything that looks like a secret is removed before the question is stored. If you paste a token into a question, the token does not reach the database.
180 days rather than 30, for now. Traffic is low enough that a 30-day window would expire most questions before a pattern could be seen, which would defeat the reason for keeping them at all. This reduces to 30 days once the bot is busy enough for the shorter window to show the same thing — it is a starting position, not the settled answer.
If you ask for your data to be deleted, your questions are detached from you rather than destroyed: what remains is an anonymous line of text that was already public in the channel, counted towards a documentation gap. Nothing links it back to you.
What leaves the server¶
Two things, and only two.
Your question, to an AI provider. Covered above. Today this happens only when you ask the bot something in a watched channel. It will also cover ambiguous moderation checks once moderation is active.
An issue on GitLab, but only if you say so. When the bot cannot answer, it offers to raise an issue so a maintainer sees it. If you accept, it shows you exactly what it will post — title and body, both editable — before anything is created.
That issue is public, and it credits you by your Discord name. This is stated on the screen where you approve it, because it is the point at which something you wrote in a chat becomes part of a public record. If you would rather not be named, edit it or decline; the bot will not file it either way without you pressing the button.
Once an issue exists it is on GitLab under GitLab's terms, and outside anything this page controls. Deleting your data here does not remove it from there — that needs the issue itself edited or deleted, which a maintainer does by hand.
Moderation¶
The bot does not decide anything. It flags. A human moderator reviews the flag, sees the message in context, and makes the decision. If they act, the bot carries out what they chose — but the choice was theirs.
It cannot ban, delete or time anyone out on its own initiative.
If a moderator acts on your message, you will get a direct message saying what happened, why, and how to contest it. If your privacy settings block messages from server members, that notice will not reach you — the moderators are told when delivery fails, but you may want to check your settings if you would rather hear directly.
If you think a decision was wrong¶
Use /appeal in the server, or contact the moderators directly. A different moderator reviews
it, with the original record in front of them.
If an appeal succeeds it is recorded as a mistake by the detection system, not just reversed quietly. That number is tracked, because a moderation system nobody measures is a moderation system nobody can trust.
Messages about self-harm¶
These are handled differently from rule violations, because they are not one.
They are not treated as something to enforce against, are not deleted, and do not go through the appeals process. They are routed to a human, quickly, along with support resources. Nobody is sanctioned for being in difficulty.
Your data¶
To see or delete what is held about you, contact the moderators or email [email protected]. Deletion covers every store — the index, caches, logs and moderation records.
Two honest limits. Anything already published to a GitLab issue is outside this system, as above. And a moderation record may be retained where deleting it would make an active dispute impossible to resolve — if that applies, you will be told.
Things worth knowing¶
The bot is often wrong. It answers from documentation and cites where it got each claim. Follow the links. If it cannot find something it will say so rather than guess, but "confident and wrong" is a failure mode of every system like this, including this one.
Reactions are feedback. The 👍 and 👎 on an answer are recorded, without your name attached, and used to work out which answers are useful.
It is not a person. It has no memory of you between conversations and no opinions about you.
Questions about this page, or anything on it: [email protected].