Phishwash — Privacy Policy
Last updated: 11 August 2026 Provider: Cadwynbloc Ltd, United Kingdom Contact: hello@cadwynbloc.com
1. Who we are and what this covers
Phishwash is a Discord bot that removes phishing, impersonation and DM-solicitation scams from Discord servers, and answers member questions from documentation the server operator supplies.
This policy covers personal data processed by the Phishwash bot and its supporting infrastructure. It does not cover Discord itself — your use of Discord is governed by Discord's own privacy policy.
Who decides what. For the server operator who installs Phishwash, Cadwynbloc is a data controller in respect of their account and billing.
For the members of that server, responsibility is shared, and it is more useful to say plainly who decides what than to apply a single label:
| The server operator decides | Cadwynbloc decides |
|---|---|
| Which channels are monitored | How long data is kept (section 3) |
| Which roles are exempt | That analysis uses Anthropic (section 4) |
| Whether enforcement is active | Where data is hosted (section 6) |
| Whether automatic banning is on | What the system treats as a scam |
| What the knowledge base contains | Whether to share threat intelligence, if the operator opts in |
Server operators should account for Phishwash in their own privacy notice.
Whatever the formal characterisation, we do not use it to avoid helping you. Deletion requests are honoured directly, by us, without the operator's involvement — see section 8.
2. What Phishwash reads
Phishwash reads messages in the channels a server administrator explicitly selects during setup. It reads nothing in any other channel, and it never reads direct messages.
For each message in a monitored channel, the bot has access to the message text, attachments, the author's display name, their account age, and how long they have been in that server. This requires Discord's Message Content privileged intent, which is fundamental to the service: an anti-phishing tool that cannot read messages cannot identify a phishing message.
Phishwash does not use Discord's Server Members intent or Presence intent. It never downloads or stores a server's member list.
3. What is stored, and for how long
The overwhelming majority of messages are never stored at all. A message that is not acted upon leaves no record beyond an anonymous daily counter of how many messages were seen.
| What | Contains | Retained |
|---|---|---|
| Action records | Discord user ID, channel ID, timestamp, the classifier's verdict, confidence score and reason, and what action was taken | 365 days |
| Message excerpt | Up to 900 characters of the message that was acted upon, so a moderator can review the decision | 30 days, then erased from the action record |
| Verdict cache | A one-way SHA-256 hash of normalised message text, and the verdict | 24 hours |
| Rate-limit counters | Discord user ID and a count of analyses triggered in the current hour | 2 hours |
| Usage records | Per-server counts and costs. No user identifiers, no message content | Aggregated after 7 days, retained indefinitely as totals |
| Server configuration | Channel IDs, role IDs, settings, and the knowledge base text the operator supplied | Until the operator removes it or uninstalls |
Action records are kept for 365 days because repeat-offence escalation depends on them: a member's second DM-solicitation offence is treated more seriously than their first. Message excerpts are erased at 30 days because reviewing a moderation decision is only useful while it is recent.
Deletion runs automatically. There is no manual step and no archive.
4. Automated processing and AI analysis
Messages that the free filtering layer cannot decide on — roughly 2% of traffic — are sent to Anthropic's Claude API for analysis. What is sent is:
- the message text
- the author's display name (not their username, ID, or any account identifier)
- the age of their account in days, and their time in the server in days
- whether the message has an attachment
No Discord user ID, email address, or any other account identifier is ever sent to Anthropic. Anthropic processes this data as our sub-processor and does not use it to train models.
This is automated decision-making and it can result in a message being deleted and a member being timed out or, where the operator has explicitly enabled it, banned. Two safeguards apply. Every action is reported to the server's moderators with the reasoning and a one-click undo. And automatic banning is off by default — it only ever happens if the server operator turns it on.
If you believe Phishwash has acted against you wrongly, contact the moderators of that server first: they can reverse it immediately. You may also contact us directly at hello@cadwynbloc.com.
5. Sharing between servers
Server operators may opt in to contributing threat intelligence. When enabled, confirmed scams contribute a one-way SHA-256 hash of the normalised message text and the classifier's stated reason to a shared blocklist.
No message content, no user identifiers, and no server identifiers are shared. The hash cannot be reversed to recover the original message. A hash is only promoted to the fleet-wide list after being independently confirmed in at least two servers.
This is off by default and controlled by the server operator.
6. Where data is held
All data is stored on a dedicated server in Germany (Hetzner Online GmbH). Data is not transferred outside the European Economic Area, except that AI analysis is performed by Anthropic, which may process data in the United States under appropriate safeguards.
7. Who we share data with
- Anthropic — AI analysis, as described in section 4
- Hetzner Online GmbH — hosting, Germany
- Stripe — payment processing for paid plans (server operators only; no member data)
We do not sell data. We do not use it for advertising. We do not use member messages to train any model.
8. Your rights
If you are in the UK or EEA you have the right to access, rectify, erase, restrict, port, and object to the processing of your personal data.
Deletion requests are honoured directly. Email hello@cadwynbloc.com with your Discord user ID and we will erase every record we hold about you — every action record and rate-limit row — without needing the server operator's involvement. We will respond within 30 days.
For requests to access your data we may need to consult the operator of the server concerned, and we will tell you if we do. We may also withhold parts of a response where disclosing them would undermine the detection of fraud — for example the specific reasoning behind a decision, which would tell someone how to evade it.
You may also complain to the UK Information Commissioner's Office (ico.org.uk) or your local supervisory authority.
9. Lawful basis
For server members, the basis is legitimate interests — protecting a community from fraud and impersonation. We consider this balanced because the data held is minimal, retention is short, ordinary conversation is never stored, and every automated action is reviewable and reversible by a human.
For server operators, the basis is contract — providing the service they signed up to.
10. Children
Discord requires users to be at least 13. Phishwash is not directed at children and we do not knowingly process the data of anyone below Discord's minimum age.
11. Security
The database is accessible only to the service account that runs the bot. The server accepts no inbound connections other than administrative SSH. Credentials are held outside the application directory with restricted permissions. Access is limited to Cadwynbloc personnel who need it.
12. Changes
Material changes will be announced in the Phishwash support server and reflected in the "last updated" date above.