Why I built it

A suspicious message often reaches someone who needs a second opinion. Forwarding it can expose account details and spread the same dangerous link. ScamShield helps a person inspect the message and prepare a redacted handoff for a family member, community volunteer or trusted helper.

What it does

Paste a message and its context. ScamShield redacts common phone, email and account identifiers, separates the sender's claims from local checks, and shows warnings, unresolved evidence and next steps. It never opens the message's URLs or contacts the sender. After reviewing the saved case, the user can approve and download a Markdown report to share outside the app.

How it works

The React workspace calls a FastAPI application on AWS EC2. An IAM-authenticated call reaches an Amazon Bedrock AgentCore runtime, where Strands uses inspect_message and run_local_checks to reason over redacted context. Groq GPT-OSS 20B supplies typed AgentAdvice; its credential is held in AWS Secrets Manager.

Deterministic application code owns redaction, evidence checks and the risk index. The agent contributes a constrained explanation and check ordering within severity groups. It cannot browse links, override the approval gate or generate a report on its own. Cases and approved reports are stored in browser-session SQLite stores on the server.

What I verified

The hosted recording checks a fictional bank SMS, displays the high-risk findings and redacted evidence, then creates and downloads a report after approval. Separate tests cover low-risk and needs-context cases, redaction, rejection without export and session isolation.

Community use and limits

The Good Neighbor use case is the person-to-helper handoff. The current build does not provide a shared community inbox or claim adoption by an organization. A family or volunteer can review the exported report, but sharing happens outside the application.

The risk index is rule-based, not a calibrated probability or proof that a sender is safe. Redaction can miss personal details, so review the report before sharing. Use fictional or non-sensitive inputs in the hosted app. No account or API key is required; AI allowances are bounded, and clearing the browser cookie loses access to saved cases.

I built ScamShield as a solo entrant with Codex for implementation, tests and documentation. The video uses synthetic Deepgram narration. The public Apache-2.0 repository includes setup instructions, tests, the deployed architecture and a labeled scripted mode for local testing. The live model route uses AgentCore, Strands and Groq, not Bedrock foundation-model inference.

September 13 update

The hosted intake now offers a redaction preview before model advice or case creation. Editing clears the preview, and outdated responses are discarded. A fresh hosted case and approved-report check passed on September 12.

New AWS Builder article: deadline checks, privacy previews, and reviewable patches.

Built With

Share this project:

Updates

Submission history