function Hero({ setRoute }) { return (
Based on familiar stories around us

Scammers don't take days off.
Neither does Arthur.

Arthur is 73. His password has been exposed 47 times. And his new girlfriend was a deepfake. He needs some help.

Emma, Jack, Arthur
); } function FeaturesGrid() { const items = [ { icon: 'lock', title: 'Email Breach Monitoring', body: 'We automatically scan your email addresses against known data breaches every 48 hours and alert you when your credentials are exposed.', image: 'images/feature-email.png', imageAlt: 'Monitor up to 3 emails — pull down to refresh' }, { icon: 'pin', title: 'Deepfake Detection', body: 'See a suspicious photo or video frame anywhere on your phone? Take a screenshot and share it to Protect-Me. Our AI gives you a confidence score in seconds.', image: 'images/feature-deepfake.png', imageAlt: 'Share any suspicious image for instant deepfake analysis' }, { icon: 'warn', title: 'Scam Alerts', body: 'Friendly comic-style alerts about scams trending in your region, delivered twice a month. See what\'s coming before it arrives.', image: 'images/feature-scam.png', imageAlt: 'Comic-style scam alerts for your region' }, ]; return (
How We Protect You

Three Ways We Keep You Safe

From monitoring your email history to detecting AI-generated fakes, we cover every angle.

{items.map((it, i) => (

{it.title}

{it.body}

{it.imageAlt}
))}
); } function StoryTimeline() { const cards = [ { title: '47 Breaches', body: <>Arthur has been using the same email since 2003. Same password too—arthur1952—for everything. His daughter Emma convinced him to check it., result: { kind: 'danger', inner: <>47 data breaches found. LinkedIn, Adobe, Dropbox, Yahoo, MySpace… and 42 more. }, quote: { body: <>"But I use that password for everything!", who: '— Arthur' } }, { title: "Dad's Got a Girlfriend", body: <>Two weeks later, Arthur is smiling more, wearing a new shirt, buying flowers. He met someone online—"Maria," a nurse working abroad. His son Jack took a closer look., result: { kind: 'warning', inner: <>AI-Generated Image — Confidence: 94%
Inconsistent lighting, unnatural skin texture, artifact patterns detected. }, quote: { body: <>"So… Maria isn't real?"
"The photos aren't, Dad."
"Well… at least I got a nice shirt out of it.", who: '— Arthur, making everyone laugh' } }, { title: 'One Step Ahead', body: <>One month later, Arthur gets a comic-style alert about romance scams in his region. He reads it, grins, and shares it with his mates at the coffee shop., result: { kind: 'safe', inner: <>"Ha! Not today." }, quote: { body: <>"Have you lot checked your old emails? You won't believe what I found.", who: '— Arthur, now the family\'s security advocate' } }, ]; return (
Arthur's Girlfriend

Meet Arthur

A story about passwords, romance scams, and staying one step ahead.

Arthur, 73, in his living room
Arthur, 73 Retired teacher · Surrey · uses the same password for everything
{cards.map((c, i) => (
{i + 1}

{c.title}

{c.body}

{c.result.inner}
{c.quote.body}{c.quote.who}
))}
); } function CTA() { return (
One Step Ahead

Stay One Step Ahead

Protect yourself and your family from data breaches, deepfakes, and scams.

); } Object.assign(window, { Hero, FeaturesGrid, StoryTimeline, CTA });