A fair review.
A clear outcome.
Think your domain was flagged incorrectly? Submit it for review. We check the evidence, reassess the listing, and give you a tracking ID.
Every appeal is partially analyzed by AI, but the final call still needs an operator reviewer. If no operator manages to confirm yours within 48 hours, the system auto-approves — your domain is removed from our site, GitHub repository, and database. The clock starts the moment you submit.
Track your appeal
Follow the review using your saved appeal ID.
Paste your appeal ID (UUID) or open the tracking URL we sent you.
01 — The review process
Every appeal gets
a closer look.
Follow the evidence, the review, and the outcome with your appeal ID.
02 — Evidence & corrections
Built around the facts.
What we cross-check
- Our internal threat-intel record
- Current VirusTotal verdict
- urlscan.io latest scan
- DNS records (MX, SPF, DMARC)
- SSL certificate history (crt.sh)
- Wayback Machine first snapshot
- Domain age via RDAP
If approved
- Removed from internal databases
- Removed from our public threat-intel repo with a public commit URL on file
- Cached previews, OG cards and screenshots cleared
- Propagation across partner feeds within an hour
What we can change
We don't have a “delete this site” button. We only scan, analyze, and forward findings to registrars and partner feeds. The actual takedown is their decision.
Legitimate sites have nothing to fear — but we still try not to make mistakes, and every false positive teaches us how to do better.
03 — Straight answers
About apologies.
“Harshness”, and what we’re accused of.
Why didn’t you apologise before?
We always removed the domain — that was never in question. What we didn’t do was write to say sorry. Not out of arrogance: we simply didn’t think a letter from us had value for anyone. A removal is concrete; an apology is words. We were wrong about that. For someone who lost traffic or had to deal with their registrar, hearing plainly that the mistake was ours matters. It isn’t hard for us, and we’ve always tried to do it where we could.
The real obstacle was data. We are strictly against keeping non-public data: every stored address is a liability and a risk. PhishDestroy is not our job, and it is built so that it can stop being ours at any moment without breaking. It must not depend on us. Mailing lists, user records and retained logs all tie it to us personally.
Now we can do it without storing anything. If your appeal was approved — today or at any point in the past — enter your appeal ID and an address below. We send one apology, with a PDF letter you can forward to your registrar or customers, and the address is discarded. One false positive — one letter.
“PhishDestroy is harsh.”
We hear this a lot. We won’t argue — but we honestly don’t see where this harshness is, or who it’s directed at. So here is exactly what we do, and you can check every part of it.
“You mass-report registrars.”
“Mass” describes how many phishing domains we handle, not how hard we hit any one of them. A domain gets one report, sent to its registrar. A follow-up goes out only if the domain is still live, and it may also be sent to ICANN or the TLD operator. Follow-ups are strictly rate-limited: never sooner than 48 hours after the previous report. By our own data, about 7% of domains in 2026 received anything beyond the first report — every one of them confirmed malicious. Our system is open: the number of reports sent for any domain is public.
We don’t shout “ban them” at registrars. We have no power to force anyone, and our report templates have been public for a long time. They ask the registrar’s abuse team to urgently investigate the domain, its owner and its content. We don’t claim the owner is malicious, or even that the content belongs to them. We say the site may have been compromised or hacked, and ask the registrar or host to check. We explicitly respect their internal procedures and leave the decision to their AUP and Terms of Service. The report also notes that the domain was added to our public list, with a timestamp, to inform the security community.
We don’t accuse anyone, and we don’t demand blocking. That would be improper, and it is beyond our authority. Our conclusions come from qualified scanning systems and indicators we collect ourselves, but no scanner, certified or not, can guarantee zero errors — cloaking alone makes sure of that. We have never claimed we don’t make mistakes. We say the opposite everywhere.
If we were attacking registrars, they would have blocklisted us long ago.
This myth has an author. About a year ago, scammers published a guide to getting around NiceNIC suspensions. Its template letter to the registrar claimed their scam casino was the target of “coordinated mass attacks ordered by competitors”.
“PhishDestroy DDoSes websites.”
No. This one was invented by AI, from the words “seed-phrase flooding”. To an AI, “flood” means a malicious attack. That isn’t what it is.
Seed flooding means submitting fake recovery phrases into a phishing kit’s collection form. This devalues the stolen data and reveals how the kit processes it, so its backend can be reported. Services like EmailJS have mostly responded by revoking the keys that identified the phishing sites. We have used the method in many infrastructure investigations, and the full method is described at /seed-flooding/.
Every run is logged — target, time and request count. Volumes can be large, sometimes up to a million submissions. But it was almost never fully automated. Years ago we tried to automate it against Google-ad phishing forms, and it didn’t work: phishers changed formats, added captchas and encrypted payloads, and finding the window automatically was not possible.
- One submission is a single POST of 12 words plus a response status. Opening a website from your own IP weighs far more.
- Almost every use in all these years was inside Cloudflare, from Cloudflare to Cloudflare. Given the packet size, the shared infrastructure and the load distribution, it cannot work as an attack. The two exceptions were handled with basic precautions: the hosting provider was warned about our testing.
- We are a non-profit project. We have no botnet, no proxies, nothing used to take a server down.
- A legitimate site has nothing to fear. If you have a form at all, a 12/24-word phrase does nothing to it. Kit handlers have specific variables; on a normal site these are harmless POST requests to nowhere.
We need the opposite of an outage: the phishing site must stay up while the registrar checks it. PhishDestroy has never DDoSed anyone. We don’t think this method is pleasant, but there is no malice in it, and we keep it within decent limits.
“Someone is using your system against a competitor.”
Tell us directly — through a GitHub issue or the Telegram bot. We answer.
We have no interest in listing anything legitimate or mistaken. We gain nothing from it, only damage to our reputation and stricter filters on our own system. But the system has contributors. The right to submit without checks is earned only after a substantial number of domains has passed standard review first. That status has value, and it has been abused, as with some “stress-test” services and a grey Indonesian casino operation.
We are strictly against anyone using PhishDestroy for personal gain instead of fighting phishing. Even if your own service isn’t entirely clean, if you believe someone is paying for takedowns, send us the domain or domains. We’ll check. If a member of our community sells takedowns, we block that member and every domain they listed commercially. Any question can be resolved. But if your site is actually illegal, we’re unlikely to remove it.
Do you investigate your own mistakes?
Yes. Every false positive feeds back into our rules. Mass cases or anomalies — several legitimate sites in the database at once — never go unnoticed: we find which signal failed, which source fed it, and what else that source touched.
Is every correction public?
Yes. Every false-positive domain is publicly removed from GitHub and added to allow/allowlist.json as a separate commit. A correction nobody can verify is worth nothing.
Common questions
Before you appeal.
How the review works, what we check, and what happens next.
How fast is the decision?
Within 48 hours of submission. Our AI partially pre-checks each appeal, but the final decision still needs an operator reviewer. If no operator manages to confirm in time, the system auto-approves and removes your domain from our site, GitHub repo and database — no human approval needed. The clock is enforced in code, not policy.
Will you email me?
Only if you ask: after approval you can request a one-time apology above. We're privacy-first — we don't store request logs and we don't run a mailing pipeline. Track your appeal by ID using the link we give you on submit. We only reach out by email in rare cases that need clarification.
Do you actually take sites down?
No. We don't have a “delete this site” button. We scan, analyze, and forward our findings to domain registrars, hosting providers and partner threat-intel feeds. The actual takedown decision is theirs — and registrars only act on legitimate phishing. If your site is legitimate, you have nothing to fear.
Do I need to provide proof of ownership?
No. Just send the domain and a sentence of context. We do the verification ourselves — cross-checking against current threat-intel, DNS records, certificate history and our own evidence. Asking owners to prove themselves felt invasive, so we stopped.
Why was my domain listed in the first place?
Most listings come from automated detection of phishing kits, drainer scripts, brand impersonation, or community reports. If you want to see exactly what evidence we hold, submit an appeal and check the public tracking page.
Do you auto-decide with AI yet?
Not yet — we're working toward it carefully. Right now appeals go through automated triage that surfaces signals (VirusTotal, urlscan, DNS, certificate history) but the decision is still made by a human. We refuse to automate something that has real-world consequences for site owners until we trust the system enough.
What if I'm rejected?
You can re-submit later if circumstances change, or open a GitLab issue for public discussion if you believe the rejection was wrong. We don’t run a back-and-forth email pipeline — the goal is fair decisions, not negotiation.