Benson Nguyen
Back to case studies

Featured · PM · Research · Prototype

Discord In-DM Image Scam Detection

A PRD and interactive Figma prototype proposing scanning for image-based phishing inside Discord DMs — a gap that Discord’s existing text-based moderation and sender-warning systems structurally cannot cover.

Self-initiated concept exploration, not affiliated with Discord. The product itself is unbuilt — but unlike a pure design exercise, the problem was validated with an original 120-person survey, and every figure on this page comes from that survey or from Discord’s published transparency reporting.

Full PRD: problem → scope → MoSCoW → risks120-person original survey (real data, not simulated)4-screen interactive Figma prototype
01

Context & problem

Members of gaming and crypto-adjacent Discord communities are increasingly targeted by image-based phishing — fake gift offers, doctored “official” notices, and QR codes — that evades text-based moderation. Discord removed over 3 million accounts for deceptive practices in a 12-month period, yet its automated defenses were not built to catch threats embedded in images.

The gap this closes

Discord already warns about messages from strangers and new accounts — a sender-identity signal. That does nothing when the sender is a compromised but familiar account, like a hacked friend. This evaluates the image itself, regardless of who sent it.

The primary user is an active member of a mid-to-large gaming or crypto-adjacent server who receives DMs from unfamiliar accounts and has limited technical background to verify whether an image-based offer is legitimate. Moderators benefit as a secondary stakeholder, not the design target.

Deliberately narrow scope

v1 is DMs only. Public channels already have moderator visibility and existing tooling; DMs are structurally private and have no equivalent safety net.
02

Research & evidence

I surveyed 120 Discord users across gaming, crypto/finance, and university-affiliated servers to test whether this problem was real before designing anything for it.

75.8%

had received a suspicious image, screenshot, or QR code in a Discord DM

91 of 120 respondents

19.8%

had a near-miss or worse before recognising the scam

14.3% almost interacted · 5.5% did

83.3%

would read an automated warning label before dismissing it

drove the “why flagged” panel

The reporting gap

Nearly two-thirds had never reported a scam, and a sixth of those didn’t know it was possible. That reframed reporting as a discoverability problem rather than an enforcement one, and is why the one-tap report action lives inside the warning panel instead of a settings menu.

36.7% reported47.5% never did15.8%didn’t know how

Who answered

Gaming
45.8%
Crypto / finance
29.2%
Mixed
18.3%

Confirms the target segmentation — and its limits, noted in the risks below.

Existing landscape

Third-party tools such as Phantom’s Anti-Scam module address image-based scams at the server and public-channel level. No major solution — including Discord’s own native moderation — currently addresses this pattern inside DMs, where moderators have no visibility at all.

Most-cited red flags were unexpected DMs (22.5%) and suspicious links or QR codes (20.8%).

03

Scope & prioritization

In scope (v1)

  • Direct messages only — structurally private, with no moderator visibility

Out of scope (v1)

  • Server and public channel scanning
  • Video content scanning
  • Any mechanism requiring sender opt-in
Must
  • Automatic OCR scanning of DM images for embedded text and QR codes, checked against known scam patterns and link databases
  • An in-DM warning indicator on a flagged image, shown before the user taps anything in it
  • A “why was this flagged” explanation panel
  • A one-tap report and block action from the warning panel
Should
  • A dismissible first-time education prompt explaining image-based scams
  • Confidence-level tiering (low / medium / high) rather than a flat flag, so users aren’t overwhelmed by false positives
Could
  • User-level reporting trends surfaced to Trust & Safety, feeding the detection model over time
Won’t (v1)
  • Server and public channel scanning
  • Video content scanning
  • Anything requiring sender opt-in — scammers will not opt into being flagged
04

Prototype

A four-screen interactive flow in Figma, walking the scenario the survey described most often: a scam arriving from an account the recipient already trusts.

DM inbox — A scam arriving through a compromised “friend” account — a fake Nitro gift followed by a server invite card carrying a QR code and lookalike link, mirroring the 2026 attack pattern found in research.

Screen 1

DM inbox

A scam arriving through a compromised “friend” account — a fake Nitro gift followed by a server invite card carrying a QR code and lookalike link, mirroring the 2026 attack pattern found in research.

Full size
Warning indicator — A badge appears on the flagged image before the user can interact with it, with the risky elements — QR code and join button — visually dimmed.

Screen 2

Warning indicator

A badge appears on the flagged image before the user can interact with it, with the risky elements — QR code and join button — visually dimmed.

Full size
Why flagged — Tapping the badge opens an explanation of what was detected and a confidence level, with Report & Block and Dismiss as the two clear actions.

Screen 3

Why flagged

Tapping the badge opens an explanation of what was detected and a confidence level, with Report & Block and Dismiss as the two clear actions.

Full size
Resolved — Confirmation that the sender has been reported and blocked, with the conversation now inactive.

Screen 4

Resolved

Confirmation that the sender has been reported and blocked, with the conversation now inactive.

Full size
05

What I'd measure

Framed as hypotheses and target directions to validate post-launch, not claimed results. Three of the four have a real baseline from the survey, which is what makes them testable.

Near-miss / interaction rate

The survey establishes a 19.8% baseline. Success means a measurable drop among users exposed to the in-DM warning.

Warning engagement rate

83.3% said they’d read a warning. Success means confirming that holds in practice — measured as the share who open the “why flagged” panel rather than dismissing immediately.

Reporting gap closure

Only 36.7% had ever reported a scam. Success means more reports submitted directly through the panel’s one-tap action.

False positive rate

Not measurable from survey data, but critical post-launch — over-flagging would erode trust in the warning itself. Flagged as an open question rather than given an invented number.

06

Risks & open questions

The central judgment call

Privacy and DM scanning

Discord DMs are not end-to-end encrypted, and Discord’s existing terms already permit automated scanning of DM content for high-harm categories such as malware, spam, and CSAM. This proposal does not introduce a new category of platform access — it extends an already-disclosed capability to one additional threat type.

The genuine open question is not whether Discord can technically do this, but whether adding this category should require more explicit user-facing transparency than current malware and spam scanning receives — and whether an opt-out should exist for users who would rather forgo the protection. That is a product and legal judgment call, not a technical one, and would need policy and legal input before launch.

False positives eroding trust

If legitimate images are flagged too often, users start ignoring warnings altogether. The single biggest risk to effectiveness — mitigated by starting at a conservative, high-confidence-only threshold.

Scammer adaptation

Scammers moved from text to images to evade moderation; successful image scanning would push them toward video frames, steganography, or OCR-defeating alterations. Ongoing detection updates, not a one-time fix.

Survey sample limitations

The 120 respondents skew toward gaming, crypto/finance, and university servers. Older users, non-English communities, and casual servers are underrepresented. Broader validation needed before a platform-wide decision.

Detection accuracy dependency

The product depends on OCR and pattern-matching holding up across image formats, languages, and evolving templates. A genuine open technical question this PRD does not attempt to solve.

Rollout

A phased rollout starting with opt-in beta testing in a subset of gaming and crypto-adjacent servers similar to those surveyed, so false-positive rate and warning engagement can be validated in practice before expanding platform-wide.

Reflection

I built this specifically to close a gap in my earlier case studies, which relied on hypothetical, self-generated metrics rather than real validation. Every number in the research section comes from a survey I actually ran, and every design decision — the “why flagged” panel, the confidence tiering — traces to a specific finding rather than an assumption.

If this moved forward, the next steps would be usability testing the actual warning copy with real users, and validating detection accuracy with Discord’s Trust & Safety and ML teams — both flagged as open questions in the PRD rather than glossed over.