Inspiration

Indians lost ₹22,495 crore to cyber fraud in 2025. More than 1 lakh senior citizens reported losses of about ₹4,000 crore, and "digital arrest" scams alone have taken over ₹3,000 crore, mostly from elderly people.

The people most at risk are parents like Lakshmi Amma (our demo persona): 68, lives in Kurnool, most comfortable in Telugu, and WhatsApp is the only app she uses. She won't install a security app or learn a new interface. Her son Ravi lives in another city.

Scams reach her on WhatsApp: fake KYC alerts, "your policy lapses today", trading-group ads, video calls from fake CBI officers. Scam checkers exist, but they stop at a verdict. We wanted to cover what happens next: bring her family in when it matters, and guide her step by step if money has already gone. So we built Kavach where the scam arrives: as a contact in her WhatsApp.

What it does

Amma forwards a message, screenshot, PDF, link or voice note to Kavach. She gets an answer in Telugu, Hindi or English, with the reasons and what to do next.

  • Evidence before AI. Public data is checked in code first: RBI's Alert List of unauthorised forex platforms, SEBI's validated UPI IDs for brokers, NPCI's list of UPI apps, Google Safe Browsing and TRAI's 1600-series rule. What it finds sets a minimum risk level the model cannot soften. Kavach never tells her something is "safe"; it points her to the official place to verify.
  • Family in the loop. When danger is happening now, such as a "digital arrest" video call, her son gets a WhatsApp alert with I'm calling now and I've reached them buttons. If nobody responds, Kavach alerts again at 5 minutes and emails at 10.
  • Golden hour. If money has already gone, she gets the 1930 helpline first, then a ready complaint. Her family and the partner bank's fraud desk are emailed an incident report, and Kavach checks in after 15 minutes.
  • SOS. Typing HELP alerts the family in seconds, with no AI in the path. If she shares her location, Amazon Location Service adds her address and the nearest police station and hospital.
  • One-tap reporting. Her Chakshu report comes pre-filled: medium, category and the exact text to paste, plus the Check Suspect and 1909 steps.
  • Partners answer for themselves. When a message claims to be from her bank or insurer, and that business is a Kavach partner, Kavach checks her own record: "Nidhira confirms your policy is active until 31 Mar 2027." Partners share only a thin, masked slice for customers who opt in, linked by the mobile number they already hold. They never hand over their customer database. The five partners in our demo (a bank, an insurer, a pharmacy, a home-services firm and a clinic) are fictional.
  • Settings without commands. MENU changes language or family contacts, pauses Kavach, and shows which services are linked and what each one shares.
  • Also in the demo: official shopping links instead of lookalike ads, medicine batch checks against CDSCO's substandard-drug alerts, and appointment booking at a partner clinic.

Kavach is live on WhatsApp. For privacy, the number is shared with judges on request (see Additional info).

Impact and how we measure it

  • Detection on our labelled test set of 100 scam and 100 genuine messages: 99% of scams flagged, 1% false "safe" answers.
  • Family alert to acknowledgement in drills: median 2 seconds.
  • "I already paid" to incident report in the family's inbox: 2 seconds.
  • Who it's for: banks, insurers and UPI apps can offer Kavach on their own verified WhatsApp number, to cut fraud losses and complaints without adding fraud-desk staff.

How we built it

Kavach is serverless on AWS, deployed with SAM in Mumbai (ap-south-1).

  • Channel: AWS End User Messaging Social connects WhatsApp to Amazon SNS. Replies use WhatsApp buttons, lists, location requests, and approved templates for alerts outside the 24-hour window.
  • Inbound Lambda (Python 3.12, arm64): de-duplicates messages, handles consent, language and settings, stores media in S3, and turns voice notes into text with Amazon Transcribe (te-IN, hi-IN, en-IN). SOS, bookings and partner button taps run here as plain code.
  • Agent: a Strands agent on Amazon Bedrock AgentCore Runtime, running Amazon Nova 2 Lite. AgentCore Memory keeps the day's conversation and long-term facts. AgentCore Browser opens suspicious links in an isolated browser that never fills forms. Nova reads screenshots and PDFs.
  • Evidence, model, guard: the evidence step builds a fact sheet from rules, domain checks (lookalikes, domain age via RDAP), registries, community reports and partner records, and sets a risk floor. After the model replies, a guard blocks any reply milder than the floor, any link or number Kavach didn't see, and any reply in the wrong language. The family alert is sent in code, not by the model.
  • Data and follow-ups: DynamoDB holds users, incidents, community reports, partner records and bookings. EventBridge Scheduler runs re-alerts, golden-hour check-ins, reminders, the Sunday family digest and the weekly data refresh. Amazon SES sends family emails and incident reports [and receives forwarded emails in REGION]. Settings live in SSM Parameter Store.
  • Public data jobs: a weekly Lambda refreshes RBI's Alert List. Another reads CDSCO's alert PDFs with Bedrock and saves failed batches to S3.
  • Operator mode: the team can check health, cost and servers from an allow-listed WhatsApp number. A separate agent with a read-only IAM role answers; start, stop and reboot run in Lambda only after a Yes tap, and the request expires in 10 minutes.

262 offline tests cover the rules, the guard, alerts, SOS, settings, bookings, reporting and operator mode.

Responsible AI and privacy

  • Consent first: Kavach works only after the user opts in, and she can pause it anytime from MENU.
  • Safety-critical actions (family alerts, SOS, golden hour) run in code, never at the model's discretion.
  • Partners share signals, not data: opt-in, masked, and her details reach a partner only when she taps Report or Call me back.
  • All demo partners and personas are fictional. Data stays in ap-south-1.

Challenges we ran into

  • Alerts that never arrived. WhatsApp accepts a message, then fails it seconds later, for example when a family member hasn't messaged in 24 hours. We now choose a normal message or a template based on the 24-hour window, log Meta's delivery failures, tell Amma when an alert didn't reach someone, and added a test alert and a health check.
  • A model is not a safety system. Early on, the model sometimes forgot to alert the family, or told Amma to "tap the button below" when no button had been sent. We moved every safety-critical action into code and added a guard that strips promises the system can't keep.
  • Language drift. After Amma switched to English, replies kept coming back in Telugu because conversation memory pulled them back. A per-turn language instruction, a script check and one automatic rewrite fixed it.
  • Public data without APIs. RBI's list is a web page and CDSCO publishes PDFs. We ship a dated copy, refresh it on a schedule, and use Bedrock to turn PDFs into rows.
  • Verifying claims without holding PII. We designed the partner model so a bank or insurer can confirm "nothing is due" without giving us its database.
  • WhatsApp's limits. Three buttons, 20-character titles, short list rows, and live location doesn't reach business accounts. Every flow had to fit inside those limits.

Accomplishments that we're proud of

  • A reply can never be milder than the facts: public data sets the floor and the guard enforces it.
  • Safety paths don't depend on AI. SOS, family alerts and golden-hour steps run in code.
  • A partner model that's useful to banks and insurers and private by design.
  • One WhatsApp contact that handles text, screenshots, PDFs, links and voice notes in Telugu, Hindi and English.
  • An end-to-end golden-hour flow, from the 1930 prompt to a 15-minute check-in.

What we learned

  • For elderly users, fewer choices win: buttons and plain words, never commands, always in their language.
  • LLMs are excellent explainers but unreliable gatekeepers. Evidence first, the model second and a guard last gave us both trust and good explanations.
  • The WhatsApp Business platform has real operating rules (the 24-hour window, template approval, asynchronous failures) that you have to design for from day one.
  • India already publishes useful anti-fraud data. It's scattered across pages and PDFs, and Bedrock makes it usable.
  • AgentCore Memory and Browser handled agent state and safe link inspection, so we could spend our time on the product.

What's next for Kavach

  • Pilot with real partners: a bank, an insurer and a clinic, using the opt-in linking flow or deployed inside the partner's own AWS account.
  • More languages: Tamil, Kannada, Marathi and Bengali.
  • Deeper official reporting: direct hand-off to Chakshu and 1930 if official APIs open up.
  • Production hardening: SES production access, approved templates in every language, and Google Web Risk for commercial use.
  • Reaching more families: SMS and voice-call fallbacks for feature phones, and a family dashboard for guardians.

Built With

Share this project:

Updates

Submission history