PageSourceSearch

https://cyberforget.com/static/js/6898.ca59e49c.chunk.js

js cyberforget.com collected 2026-10-02 01:26:55 UTC 47,887 bytes, 2 lines download raw bytes

1/*! For license information please see 6898.ca59e49c.chunk.js.LICENSE.txt */
2"use strict";(self.webpackChunkfrontend_v1=self.webpackChunkfrontend_v1||[]).push([[6898],{1570:(e,t,a)=>{a.d(t,{A:()=>s});const s=(0,a(6230).A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]])},2257:(e,t,a)=>{a.d(t,{A:()=>s});const s=(0,a(6230).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},2642:(e,t,a)=>{a.d(t,{Wj:()=>c,l_:()=>i,mK:()=>o,nL:()=>r});a(9950);var s=a(6455),n=a(4414);const r=e=>{let{title:t,description:a,keywords:r,canonical:o,image:i="https://cyberforget.com/og-default.png",type:c="website",author:l="CyberForget Security Team",twitterHandle:d="@CyberForget",noindex:u=!1}=e;return(0,n.jsxs)(s.mg,{children:[(0,n.jsx)("title",{children:t}),(0,n.jsx)("meta",{name:"description",content:a}),r&&(0,n.jsx)("meta",{name:"keywords",content:r}),(0,n.jsx)("meta",{name:"author",content:l}),o&&(0,n.jsx)("link",{rel:"canonical",href:o}),(0,n.jsx)("meta",{name:"robots",content:u?"noindex, nofollow":"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"}),(0,n.jsx)("meta",{property:"og:type",content:c}),(0,n.jsx)("meta",{property:"og:site_name",content:"CyberForget"}),(0,n.jsx)("meta",{property:"og:title",content:t}),(0,n.jsx)("meta",{property:"og:description",content:a}),o&&(0,n.jsx)("meta",{property:"og:url",content:o}),(0,n.jsx)("meta",{property:"og:image",content:i}),(0,n.jsx)("meta",{property:"og:image:width",content:"1200"}),(0,n.jsx)("meta",{property:"og:image:height",content:"630"}),(0,n.jsx)("meta",{property:"og:locale",content:"en_US"}),(0,n.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,n.jsx)("meta",{name:"twitter:site",content:d}),(0,n.jsx)("meta",{name:"twitter:title",content:t}),(0,n.jsx)("meta",{name:"twitter:description",content:a}),(0,n.jsx)("meta",{name:"twitter:image",content:i})]})},o=e=>{let{title:t,description:a,keywords:o,canonical:i,image:c,toolName:l,toolDescription:d,rating:u="4.8",ratingCount:h="50000",price:m="0",faqItems:p=[]}=e;const g={"@context":"https://schema.org","@graph":[{"@type":"WebApplication",name:l,url:i,description:d,applicationCategory:"SecurityApplication",operatingSystem:"Web browser",offers:{"@type":"Offer",price:m,priceCurrency:"USD"},aggregateRating:{"@type":"AggregateRating",ratingValue:u,ratingCount:h},provider:{"@type":"Organization",name:"CyberForget",url:"https://cyberforget.com"}},{"@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://cyberforget.com"},{"@type":"ListItem",position:2,name:l,item:i}]}]};return p&&p.length>0&&g["@graph"].push({"@type":"FAQPage",mainEntity:p.map(e=>({"@type":"Question",name:e.question,acceptedAnswer:{"@type":"Answer",text:e.answer}}))}),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r,{title:t,description:a,keywords:o,canonical:i,image:c,type:"website"}),(0,n.jsx)(s.mg,{children:(0,n.jsx)("script",{type:"application/ld+json",children:JSON.stringify(g)})})]})},i=e=>{let{title:t,description:a,keywords:o,canonical:i,image:c,productName:l,price:d,currency:u="USD",availability:h="InStock",rating:m,ratingCount:p}=e;const g={"@context":"https://schema.org","@type":"Product",name:l,description:a,image:c,offers:{"@type":"Offer",price:d,priceCurrency:u,availability:`https://schema.org/${h}`,url:i,priceValidUntil:"2026-12-31"}};return m&&p&&(g.aggregateRating={"@type":"AggregateRating",ratingValue:m,ratingCount:p}),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r,{title:t,description:a,keywords:o,canonical:i,image:c,type:"product"}),(0,n.jsx)(s.mg,{children:(0,n.jsx)("script",{type:"application/ld+json",children:JSON.stringify(g)})})]})},c=e=>{let{title:t,description:a,keywords:o,canonical:i,image:c,author:l,datePublished:d,dateModified:u,articleBody:h}=e;const m={"@context":"https://schema.org","@type":"Article",headline:t,description:a,image:c,datePublished:d,dateModified:u||d,author:{"@type":"Person",name:l},publisher:{"@type":"Organization",name:"CyberForget",logo:{"@type":"ImageObject",url:"https://cyberforget.com/logo.png"}}};return h&&(m.articleBody=h),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r,{title:t,description:a,keywords:o,canonical:i,image:c,type:"article",author:l}),(0,n.jsx)(s.mg,{children:(0,n.jsx)("script",{type:"application/ld+json",children:JSON.stringify(m)})})]})}},2989:(e,t,a)=>{a.d(t,{A:()=>s});const s=(0,a(6230).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])}
2,4082:(e,t,a)=>{a.d(t,{A:()=>o});var s=a(2720),n=a(105);class r{static calculateRiskLevel(e){return e&&0!==e.length?e.length>=5?"critical":e.length>=3?"high":e.length>=2?"medium":"low":"low"}static async checkEmailBreaches(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=Date.now();try{try{fetch((0,n.e9)("/api/v1/telemetry/log-search"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({search_type:"email_scan",status:"success",userId:"anonymous"})}).catch(e=>console.warn("Telemetry check skipped:",e.message))}catch(r){console.warn("Failed to log email scan telemetry:",r.message)}0;const i=await fetch(s.Sn.NEXSEC.EMAIL_START,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e})});let c;try{c=await i.json()}catch(o){c={}}if(!i.ok||!c.success)return{success:!1,error:c.error||`Scan failed (${i.status})`};const l=s.Sn.NEXSEC.EMAIL_POLL(c.uid,c.jobId),d=2e3,u=14e4;let h=null;for(;Date.now()-a<u;){const e=await fetch(l);let s;try{s=await e.json()}catch(o){s={}}if(!e.ok||!s.success)return{success:!1,error:s.error||"Scan failed"};if(h=s,"done"===s.status||"error"===s.status)break;const n=(s.found||[]).length,r=(s.results||[]).length;t.onProgress&&t.onProgress({stage:"scanning",foundCount:n,serviceCount:r,elapsedMs:Date.now()-a}),await new Promise(e=>setTimeout(e,d))}if(!h||"done"!==h.status&&"error"!==h.status)return{success:!1,error:"Scan timed out. Please try again."};if("error"===h.status)return{success:!1,error:h.error||"Scan failed. Please try again."};const m=Array.isArray(h.found)?h.found:[],p=m.filter(e=>e&&e.breach).map(e=>({Name:e.breach.title,BreachDate:e.breach.date,PwnCount:e.breach.pwnCount,DataClasses:e.breach.dataClasses,isVerified:!0,site:e.name,domain:e.domain,breach:e.breach}));return{success:!0,breaches:p,sites:m.filter(e=>e&&!1!==e.exists).map(e=>({name:e.name||e.domain,domain:e.domain||null,breach:e.breach||null})),count:p.length,status:p.length>0?"compromised":"clean",riskLevel:this.calculateRiskLevel(p),foundCount:m.length,serviceCount:(h.results||[]).length,results:h.results||[],scanSeconds:Math.round((Date.now()-a)/1e3)}}catch(i){return console.error("Error checking email breaches:",i),{success:!1,error:i.message||"Unable to check email breaches"}}}static async checkPasswordSafety(e){try{try{fetch((0,n.e9)("/api/v1/telemetry/log-search"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({search_type:"password_check",status:"success",userId:"anonymous"})}).catch(e=>console.warn("Telemetry check skipped:",e.message))}catch(t){console.warn("Failed to log password check telemetry:",t.message)}const a=(new TextEncoder).encode(e),s=await crypto.subtle.digest("SHA-1",a),r=Array.from(new Uint8Array(s)).map(e=>e.toString(16).padStart(2,"0")).join("").toUpperCase(),o=r.substring(0,5),i=r.substring(5),c=await fetch(`${this.PWNED_PASSWORDS_URL}/range/${o}`,{method:"GET",headers:{"user-agent":"CyberForget-Security-Platform"}});if(!c.ok)throw new Error("Password check unavailable");const l=(await c.text()).split("\n");for(const e of l){const[t,a]=e.trim().split(":");if(t===i)return{success:!0,compromised:!0,occurrences:parseInt(a,10),status:"pwned"}}return{success:!0,compromised:!1,occurrences:0,status:"safe"}}catch(a){return console.error("Password safety check error:",a),{success:!1,error:a.message||"Unable to check password safety",status:"error"}}}static formatBreachReport(e,t){return t.success?"clean"===t.status?this.formatCleanReport(e):this.formatCompromisedReport(e,t):{type:"error",email:e,status:"error",title:"Scan Error",message:t.error,suggestions:["Check your internet connection","Verify the email address is correct","Try again in a few moments"]}}static formatCleanReport(e){return{type:"clean",email:e,status:"clean",title:"Email Security: All Clear",subtitle:"No breaches found in our comprehensive database",stats:{breaches:0,records:"12+ Billion",sources:"850+",accuracy:"99.9%"},message:"\ud83c\udf89 Great news! This email hasn't appeared in any known data breaches in our comprehensive database of 12+ billion compromised accounts from 850+ verified sources.",recommendations:[{icon:"\ud83d\udee1\ufe0f",title:"Continue using this email safely",description:"Your email is clean and secure"},{icon:"\ud83d\udd0d",title:"Run Data Broker Scanner",description:"Check for exposed personal information",action:"data_broker_scan"},{icon:"\ud83d\udcca",title:"Set up monitoring alerts",description:"Get notified of future security threats",action:"security_monitoring"},{icon:"\ud83d\udd10",title:"Enable 2FA on important accounts",description:"Add extra security to accounts using this email"}],nextSteps:["Your email is secure - continue using it safely","Consider running our Data Broker Scanner for complete protection","Set up monitoring for future breach alerts"]}}static formatCompromisedReport(e,t){const a=t.breaches.sort((e,t)=>
2new Date(t.date||t.BreachDate)-new Date(e.date||e.BreachDate)).slice(0,5);t.breaches.reduce((e,t)=>e+(t.pwnCount||t.PwnCount||0),0);return{type:"compromised",email:e,status:"compromised",title:"\ud83d\udea8 Critical Security Alert: Email Compromised",subtitle:`Found in ${t.count} major data breaches affecting 705+ million accounts`,message:`\u26a0\ufe0f **URGENT ACTION REQUIRED** - This email has been exposed in ${t.count} significant data breaches. Your personal information including passwords, names, and other sensitive data may be circulating on the dark web. Immediate security measures are essential to protect your accounts and identity.`,breaches:a,count:t.count,urgentActions:[{icon:"\ud83d\udd10",title:"Change passwords immediately",description:"Update passwords on all accounts using this email",priority:"critical"},{icon:"\ud83d\udee1\ufe0f",title:"Enable 2-factor authentication",description:"Add extra security wherever possible",priority:"high"},{icon:"\ud83d\udc40",title:"Monitor accounts closely",description:"Watch for suspicious activity",priority:"high"},{icon:"\ud83d\udd0d",title:"Run Data Broker Scanner",description:"Check what else might be exposed",priority:"critical",action:"data_broker_scan"}],recommendations:["Secure your accounts immediately - don't delay","Run our Data Broker Scanner to see what else is exposed","Set up monitoring alerts for future breaches","Consider using email aliases for new account signups"],riskLevel:t.count>=3?"high":t.count>=2?"medium":"low"}}static formatPasswordReport(e){return e.success?"safe"===e.status?"\u2705 **Password Security Check**\n\n**Status:** \ud83d\udfe2 **SAFE**\n**Breaches Found:** 0\n\n**Great choice!** This password hasn't appeared in any known data breaches.\n\n**Security Tips:**\n\u2022 Use unique passwords for each account\n\u2022 Consider using a password manager\n\u2022 Enable 2-factor authentication\n\u2022 Avoid personal information in passwords":`\u26a0\ufe0f **Password Security Alert**\n\n**Status:** \ud83d\udd34 **COMPROMISED**\n**Found in breaches:** ${e.occurrences.toLocaleString()} times\n\n**\ud83d\udea8 This password is unsafe!** It has appeared in data breaches and should never be used.\n\n**Immediate Actions:**\n1. **Change this password immediately** on all accounts\n2. **Use a unique, strong password** for each account\n3. **Enable 2-factor authentication**\n4. **Consider a password manager**\n\n**Why this matters:** Cybercriminals use lists of compromised passwords to break into accounts. Using this password puts your accounts at serious risk.`:`\u274c **Password Check Error**\n\nUnable to check password safety: ${e.error}`}}r.PWNED_PASSWORDS_URL="https://api.pwnedpasswords.com";const o=r},5748:(e,t,a)=>{a.d(t,{Mn:()=>l,Vf:()=>s,Y$:()=>i,Z8:()=>n,aB:()=>c,oo:()=>o});const s="breaches",n={checks:[]},r=e=>String(e||"").trim().toLowerCase(),o=e=>[...(null===e||void 0===e?void 0:e.checks)||[]].sort((e,t)=>(t.checkedAt||"").localeCompare(e.checkedAt||""))[0]||null,i=(e,t,a)=>{const s=r(t),n=[...new Set(a.filter(Boolean))].sort(),o=((e,t)=>((null===e||void 0===e?void 0:e.checks)||[]).find(e=>e.email===r(t))||null)(e,s),i=o?n.filter(e=>!o.names.includes(e)):[];return{history:{checks:[{email:s,checkedAt:(new Date).toISOString(),count:n.length,names:n,newNames:i},...((null===e||void 0===e?void 0:e.checks)||[]).filter(e=>e.email!==s)].slice(0,10)},previous:o,newNames:i}},c=(e,t)=>{const a=new Map;return[...(null===t||void 0===t?void 0:t.checks)||[],...(null===e||void 0===e?void 0:e.checks)||[]].forEach(e=>{const t=a.get(e.email);(!t||(e.checkedAt||"")>(t.checkedAt||""))&&a.set(e.email,e)}),{checks:[...a.values()].sort((e,t)=>(t.checkedAt||"").localeCompare(e.checkedAt||"")).slice(0,10)}},l=e=>Math.max(0,Math.floor((Date.now()-new Date(e).getTime())/864e5))},6311:(e,t,a)=>{a.d(t,{A:()=>s});const s=(0,a(6230).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},6898:(e,t,a)=>{a.r(t),a.d(t,{default:()=>D});var s=a(9950),n=a(4082),r=a(2642),o=a(2989),i=a(6311),c=a(4414);const l=e=>{let{stages:t,stage:a,liveStatus:s,email:n}=e;return(0,c.jsxs)("section",{className:"rounded-2xl border border-white/10 bg-white/[0.03] p-6 sm:p-8","aria-live":"polite",children:[(0,c.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,c.jsx)(o.A,{className:"w-5 h-5 text-primary animate-spin","aria-hidden":"true"}),(0,c.jsxs)("div",{className:"min-w-0",children:[(0,c.jsxs)("h3",{className:"text-base font-bold text-white m-0",children:["Checking ",n]}),(0,c.jsx)("p",{className:"text-sm text-gray-400 m-0",children:s||"Starting the scan\u2026"})]})]}),(0,c.jsx)("ol",{className:"list-none p-0 m-0 space-y-2.5",children:t.map((e,t)=>
2{const s=t<a-1,n=t===a-1;return(0,c.jsxs)("li",{className:"flex items-center gap-3",children:[(0,c.jsx)("span",{className:"w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 "+(s?"bg-accent/15 text-accent":n?"bg-primary/15 text-primary":"bg-white/5 text-gray-600"),children:s?(0,c.jsx)(i.A,{className:"w-3 h-3","aria-hidden":"true"}):n?(0,c.jsx)(o.A,{className:"w-3 h-3 animate-spin","aria-hidden":"true"}):(0,c.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-current"})}),(0,c.jsx)("span",{className:"text-sm "+(s?"text-gray-500":n?"text-white font-medium":"text-gray-500"),children:e})]},e)})})]})};var d=a(2074),u=a(4321),h=a(4814),m=a(8135),p=a(7453),g=a(6243),y=a(8325),b=a(1570),f=a(7255),x=a(7737),w=a(9126),k=a(2257);const v=[{icon:u.A,title:"Change the passwords on those services",body:"Start with anything reused. The vault generates and stores strong ones, encrypted in your browser.",to:"/dashboard?tab=vault",cta:"Open the vault"},{icon:h.A,title:"Get your details off data broker sites",body:"Brokers resell the address, name and phone that make these accounts easy to link together.",to:"/data-removal",cta:"Run a broker scan"},{icon:m.A,title:"Stop handing out your real address",body:"Use a disposable inbox for sign-ups you don\u2019t trust, so the next leak isn\u2019t yours.",to:"/temp-email",cta:"Get a disposable inbox"}],S=e=>{let{breach:t}=e;const[a,n]=(0,s.useState)(!1),r="number"===typeof(o=t.PwnCount)&&o>0?o.toLocaleString():null;var o;const i=t.DataClasses||[];return(0,c.jsxs)("li",{className:"border-t border-white/8 first:border-t-0",children:[(0,c.jsxs)("button",{type:"button",onClick:()=>n(e=>!e),"aria-expanded":a,className:"w-full flex items-center justify-between gap-3 py-4 text-left bg-transparent border-none cursor-pointer",children:[(0,c.jsxs)("span",{className:"min-w-0",children:[(0,c.jsx)("span",{className:"block text-white font-semibold truncate",children:t.Name}),(0,c.jsxs)("span",{className:"block text-xs text-gray-500",children:[(l=t.BreachDate,(l?Str
2ing(l).slice(0,4):null)||"Date unknown"),r&&` \xb7 ${r} accounts exposed`]})]}),(0,c.jsx)(p.A,{className:"w-4 h-4 text-gray-400 flex-shrink-0 transition-transform "+(a?"rotate-180":""),"aria-hidden":"true"})]}),a&&(0,c.jsxs)("div",{className:"pb-4 space-y-3",children:[i.length>0&&(0,c.jsxs)("div",{children:[(0,c.jsx)("p",{className:"text-xs uppercase tracking-wider text-gray-500 m-0 mb-2",children:"What was exposed in that breach"}),(0,c.jsx)("ul",{className:"list-none p-0 m-0 flex flex-wrap gap-1.5",children:i.map(e=>(0,c.jsx)("li",{className:"text-xs text-gray-300 bg-white/5 border border-white/10 rounded-full px-2.5 py-1",children:e},e))})]}),(0,c.jsxs)("p",{className:"text-sm text-gray-400 m-0",children:["Change your password on ",t.Name," and anywhere you reused it."]})]})]});var l},j=e=>{let{email:t,breaches:a=[],sites:s=[],historyNote:n,historySavesToAccount:r,onExport:o,onRescan:i}=e;const l=0===a.length,u=l?g.A:y.A;return(0,c.jsxs)("div",{className:"cf-contained space-y-4 my-8",children:[(0,c.jsxs)("section",{className:"rounded-2xl border p-6 sm:p-8 "+(l?"border-accent/25 bg-accent/[0.06]":"border-amber-500/25 bg-amber-500/[0.07]"),children:[(0,c.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-5",children:[(0,c.jsxs)("div",{className:"flex items-start gap-4 min-w-0",children:[(0,c.jsx)("span",{className:"w-12 h-12 rounded-xl flex items-center justify-center flex-shrink-0 "+(l?"bg-accent/15 text-accent":"bg-amber-500/15 text-amber-300"),children:(0,c.jsx)(u,{className:"w-6 h-6","aria-hidden":"true"})}),(0,c.jsxs)("div",{className:"min-w-0",children:[(0,c.jsx)("h2",{className:"text-xl sm:text-2xl font-bold text-white m-0 mb-1.5",children:l?"No known breaches for this address":`${a.length} breached service${1===a.length?"":"s"} linked to this address`}),(0,c.jsx)("p",{className:"text-sm text-gray-300 m-0 break-all",children:t}),(0,c.jsx)("p",{className:"text-sm text-gray-400 m-0 mt-2 max-w-xl",children:l?"Nothing matched the breach records we check. That isn\u2019t a guarantee \u2014 breaches surface late, so it\u2019s worth re-checking now and then.":"These services were breached and this address has an account with them. That doesn\u2019t confirm this address was in the dump \u2014 but it\u2019s where to change passwords first."})]})]}),(0,c.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,c.jsxs)("button",{type:"button",onClick:i,className:"inline-flex items-center gap-2 text-sm font-semibold text-gray-200 bg-white/5 hover:bg-white/10 border border-white/15 rounded-xl px-4 py-2.5 cursor-pointer transition-colors",children:[(0,c.jsx)(b.A,{className:"w-4 h-4"})," Check another"]}),o&&(0,c.jsxs)("button",{type:"button",onClick:o,className:"inline-flex items-center gap-2 text-sm font-semibold text-gray-200 bg-white/5 hover:bg-white/10 border border-white/15 rounded-xl px-4 py-2.5 cursor-pointer transition-colors",children:[(0,c.jsx)(f.A,{className:"w-4 h-4"})," Save report"]})]})]}),n&&(0,c.jsxs)("p",{className:"flex items-center gap-2 text-sm text-gray-300 mt-5 mb-0 pt-4 border-t border-white/10",children:[(0,c.jsx)(x.A,{className:"w-4 h-4 flex-shrink-0 text-gray-500","aria-hidden":"true"}),n.newNames.length>0?`${n.newNames.length} new since your last check on ${new Date(n.previousAt).toLocaleDateString()}: ${n.newNames.join(", ")}.`:`Nothing new since your last check on ${new Date(n.previousAt).toLocaleDateString()}.`]})]}),a.length>0&&(0,c.jsxs)("section",{className:"rounded-2xl border border-white/10 bg-white/[0.03] p-6 sm:p-7",children:[(0,c.jsx)("h3",{className:"text-lg font-bold text-white m-0 mb-1",children:"Breached services"}),(0,c.jsx)("p",{className:"text-sm text-gray-400 m-0 mb-4",children:"Tap one to see what that breach exposed."}),(0,c.jsx)("ul",{className:"list-none p-0 m-0",children:a.map((e,t)=>(0,c.jsx)(S,{breach:e},`${e.Name}-${t}`))})]}),s.length>0&&(0,c.jsxs)("section",{className:"rounded-2xl border border-white/10 bg-white/[0.03] p-6 sm:p-7",children:[(0,c.jsxs)("div",{className:"flex items-center gap-3 mb-1",children:[(0,c.jsx)(w.A,{className:"w-5 h-5 text-primary flex-shrink-0","aria-hidden":"true"}),(0,c.jsxs)("h3",{className:"text-lg font-bold text-white m-0",children:["Accounts found on ",s.length," site",1===s.length?"":"s"]})]}),(0,c.jsx)("p",{className:"text-sm text-gray-400 m-0 mb-4",children:"These sites confirmed an account registered to this address. That isn\u2019t a breach on its own \u2014 it\u2019s a map of where the address is in use."}),(0,c.jsx)("ul",{className:"list-none p-0 m-0 grid sm:grid-cols-2 lg:grid-cols-3 gap-2",children:s.map(e=>(0,c.jsxs)("li",{className:"flex items-center justify-between gap-2 rounded-xl border border-white/10 bg-white/[0.02] px-3.5 py-2.5",children:[(0,c.jsx)("span",{className:"text-sm text-white font-medium truncate",children:e.name||e.domain}),e.breach&&(0,c.jsx)("span",{className:"flex-shrink-0 text-[11px] text-amber-200 bg-amber-500/15 border border-amber-500/30 rounded-full px-2 py-0.5 whitespace-nowrap",children:"breached"})]},e.domain||e.name))})]}),(0,c.jsxs)("section",{className:"rounded-2xl border border-white/10 bg-white/[0.03] p-6 sm:p-7",children:[(0,c.jsx)("h3",{className:"text-lg font-bold text-white m-0 mb-1",children:"What to do next"}),(0,c.jsx)("p",{className:"text-sm text-gray-400 m-0 mb-5",children:"All free, and none of it needs a card."}),(0,c.jsx)("div",{className:"grid md:grid-cols-3 gap-4",children:v.map(e=>{let{icon:t,title:a,body:s,to:n,cta:r}=e;return(0,c.jsxs)("div",{className:"rounded-xl border border-white/10 bg-white/[0.02] p-5 flex flex-col",children:[(0,c.jsx)("span",{className:"w-10 h-10 rounded-lg bg-primary/10 text-primary flex items-center justify-center mb-4",children:(0,c.jsx)(t,{className:"w-5 h-5","aria-hidden":"true"})}),(0,c.jsx)("h4",{className:"text-white font-bold text-sm m-0 mb-2",children:a}),(0,c.jsx)("p",{className:"text-sm text-gray-400 leading-relaxed m-0 mb-4",children:s}),(0,c.jsxs)(d.N_,{to:n,className:"no-underline mt-auto inline-flex items-center gap-1.5 text-sm font-semibold text-primary hover:underline",children:[r," ",(0,c.jsx)(k.A,{className:"w-3.5 h-3.5","aria-hidden":"true"})]})]},a)})})]}),(0,c.jsx)("p",{className:"text-xs text-gray-500 text-center m-0",children:r?"Saved to your dashboard so we can show what\u2019s new next time \u2014 we keep only the date and the breach n
2ames.":"Saved in this browser so we can show what\u2019s new next time. Sign in to keep it on your dashboard."})]})};var C=a(4959),N=a(9324),A=a(105),E=a(9140),T=a(5748);(0,A.e9)();const D=()=>{const e=[{title:"Account Deleter",description:"Find delete links for old accounts that could still expose your identity.",href:"/delete-account",icon:N.s0Q},{title:"Virus Scanner",description:"Check suspicious files before you open them on your device.",href:"/file-scan",icon:N.imB},{title:"CV Analyser",description:"Review resumes for privacy leaks before uploading them to job boards.",href:"/employability-scan",icon:N.eST},{title:"Removal Guides",description:"Step-by-step opt-out guides for the sites that publish personal data.",href:"/opt-out-guides",icon:N.ReK}],t=[{title:"Password Strength",description:"Test whether exposed passwords are easy to crack.",href:"/password-check",icon:N.DW4},{title:"Deep Broker Scan",description:"Find data brokers that may be selling your personal details.",href:"/scanning",icon:N.MjD},{title:"Temporary Email",description:"Create a disposable inbox for signups and verification emails.",href:"/temp-email",icon:N.y_8}],[a,o]=(0,s.useState)(""),[i,d]=(0,s.useState)(!1),[u,h]=(0,s.useState)([]),[m,p]=(0,s.useState)([]),[g,y]=(0,s.useState)(""),[b,f]=(0,s.useState)(!1),[x,w]=(0,s.useState)(0),[k,v]=(0,s.useState)(""),[S,A]=(0,s.useState)(!1),[D,R]=(0,s.useState)(!1),[I,P]=(0,s.useState)(!1),[M,$,{signedIn:B}]=(0,E.A)(T.Vf,T.Z8,T.aB),[F,O]=(0,s.useState)(null),[U,L]=(0,s.useState)(null),[W,Y]=(0,s.useState)(null),[_,q]=(0,s.useState)(null),[G,V]=(0,s.useState)([]),[H,z]=(0,s.useState)(0),[J,K]=(0,s.useState)({breaches:0,pastes:0,accounts:0,recentBreaches:0,darkWebMentions:0}),[Q,X]=(0,s.useState)(null),[Z,ee]=(0,s.useState)(null),[te,ae]=(0,s.useState)(!1),[se,ne]=(0,s.useState)("1year"),[re,oe]=(0,s.useState)(!1),[ie,ce]=(0,s.useState)("all"),[le,de]=(0,s.useState)("date"),[ue,he]=(0,s.useState)("cards"),[me,pe]=(0,s.useState)(new Set),[ge,ye]=(0,s.useState)(new Set),[be,fe]=(0,s.useState)("dashboard"),[xe,we]=(0,s.useState)(new Set),[ke,ve]=(0,s.useState)([]),[Se,je]=(0,s.useState)([]),[Ce,Ne]=(0,s.useState)(""),[Ae,Ee]=(0,s.useState)(""),[Te,De]=(0,s.useState)(!1),[Re,Ie]=(0,s.useState)(""),[Pe,Me]=(0,s.useState)(!1),[$e,Be]=(0,s.useState)(0),[Fe,Oe]=(0,s.useState)(null),[Ue,Le]=(0,s.useState)(!1),We=((0,s.useRef)(null),(0,s.useRef)(null),(0,s.useRef)(null)),Ye=(0,s.useRef)(null),_e=["Checking which services have an account for this address","Matching those services against known breach records","Pulling what each breach exposed","Putting your report together"],qe=[{icon:N.DW4,title:"Use Unique Passwords",description:"Never reuse passwords across multiple accounts. Each account should have a unique, strong password.",priority:"critical",action:"Generate unique passwords for all accounts",timeToComplete:"30 min"},{icon:N.imB,title:"Enable Two-Factor Authentication",description:"Add an extra layer of security with 2FA on all important accounts, especially email and financial services.",priority:"high",action:"Enable 2FA on your most important accounts",timeToComplete:"15 min"},{icon:N.pS3,title:"Monitor Your Digital Footprint",description:"Regularly check what personal information is publicly available about you online.",priority:"medium",action:"Google yourself and check privacy settings",timeToComplete:"20 min"},{icon:N.z$e,title:"Set Up Breach Alerts",description:"Use monitoring services to get notified immediately when your data appears in new breaches.",priority:"high",action:"Subscribe to breach monitoring services",timeToComplete:"10 min"},{icon:N.CN3,title:"Review Privacy Settings",description:"Regularly audit privacy settings on social media and online accounts to minimize data exposure.",priority:"medium",action:"Review privacy settings on all platforms",timeToComplete:"25 min"},{icon:N.cbP,title:"Backup Important Data",description:"Keep secure backups of important data to protect against ransomware and data loss.",priority:"high",action:"Set up automated secure backups",timeToComplete:"45 min"}],Ge=e=>new Promise(t=>
2setTimeout(t,e)),[Ve,He]=(0,s.useState)(!1),ze=e=>{if(console.log("calculateSecurityScore called with breaches:",e),!e||0===e.length)return console.log("No breaches, returning 100"),100;let t=0;const a=e.length;console.log("Breach count:",a),a<=5?(t+=5*a,console.log(`First 5 breaches: ${a} * 5 = ${5*a} `)):a<=15?(t+=25+3*(a-5),console.log(`6 - 15 breaches: 25 + ${a-5} * 3 = ${25+3*(a-5)} `)):(t+=55+1*(a-15),console.log(`16 + breaches: 55 + ${a-15} * 1 = ${55+1*(a-15)} `)),console.log("Base deduction after breach count:",t);let s=0,n=!1,r=!1;e.forEach((e,t)=>{var a;console.log(`Processing breach ${t+1}: `,e.Name,e.PwnCount);const o=e.PwnCount||0;o>1e8?(s+=8,console.log("Very massive breach (+8)")):o>1e7?(s+=5,console.log("Large breach (+5)")):o>1e6?(s+=3,console.log("Medium breach (+3)")):o>1e5&&(s+=2,console.log("Small-medium breach (+2)"));const i=new Date(e.BreachDate),c=(Date.now()-i.getTime())/864e5;console.log(`Breach date: ${e.BreachDate}, days since: ${c} `),c<1095&&(n=!0,console.log("Recent breach detected"));const l=["passwords","password","financial","social security","credit card","bank","payment"],d=null===(a=e.DataClasses)||void 0===a?void 0:a.some(e=>l.some(t=>e.toLowerCase().includes(t)));console.log(`Data classes: ${JSON.stringify(e.DataClasses)}, has sensitive: ${d} `),d&&(r=!0)}),console.log("Severity bonus:",s),console.log("Has recent breach:",n),console.log("Has sensitive data:",r),t+=s,n&&(t+=10),r&&(t+=15),console.log("Total security deduction:",t);const o=Math.max(5,100-t);return console.log("Final security score:",o),Math.round(o)},Je=e=>e>=80?{level:"critical",color:"#ff3b30",label:"Critical Risk"}:e>=60?{level:"high",color:"#ff9500",label:"High Risk"}:e>=40?{level:"medium",color:"#ffcc00",label:"Medium Risk"}:e>=20?{level:"low",color:"#34c759",label:"Low Risk"}:{level:"safe",color:"#00ff00",label:"Secure"},Ke=e=>e>1e7?"critical":e>1e6?"high":e>1e5?"medium":"low";(0,s.useEffect)(()=>{window.scrollTo(0,0)},[]),(0,s.useEffect)(()=>{if(0===u.length&&!a)return;const e=821,t=115796,s=228e6,n=47,r=2340;let o=0;oe(!0);const i=setInterval(()=>{o++;const a=o/80,c=1-Math.pow(1-a,3);K({breaches:Math.floor(e*c),pastes:Math.floor(t*c),accounts:Math.floor(s*c),recentBreaches:Math.floor(n*c),darkWebMentions:Math.floor(r*c)}),o>=80&&clearInterval(i)},31.25);return()=>clearInterval(i)},[u.length,a]),(0,s.useEffect)(()=>{const e=setInterval(()=>{z(e=>(e+1)%qe.length)},5e3);return()=>clearInterval(e)},[]),(0,s.useEffect)(()=>{if(u.length>0){const e=ze(u),t=100-e;let a=0,s=0;const n=60;let r=0;const o=setInterval(()=>{r++;const i=r/n,c=1-Math.pow(1-i,2);a=Math.floor(e*c),s=Math.floor(t*c),L(s),ee(s),X(a),Y(s),r>=n&&clearInterval(o)},1500/n)}else L(null),ee(null),X(null),Y(null)},[u]);[...u.filter(e=>"all"===ie||("recent"===ie?"recent"===(e=>{const t=(Date.now()-new Date(e).getTime())/864e5;return t<30?"recent":t<365?"moderate":t<1095?"old":"ancient"})(e.BreachDate):"high-risk"!==ie||("critical"===Ke(e.PwnCount)||"high"===Ke(e.PwnCount))))].sort((e,t)=>"date"===le?new Date(t.BreachDate)-new Date(e.BreachDate):"severity"===le?t.PwnCount-e.PwnCount:"name"===le?e.Name.localeCompare(t.Name):0);return(0,c.jsxs)("div",{className:"enhanced-data-leak-page",children:[(0,c.jsx)(r.mK,{title:"Free Email Breach Checker: Scan 12 Billion Records | CyberForget",description:"Instantly check if your email has been leaked in a data breach. Scan 12B+ records and dark web databases. AI-powered identity protection.",keywords:"email breach check, have i been pwned, password leak check, dark web scan, identity theft check",canonical:"https://cyberforget.com/data-leak",image:"https://cyberforget.com/og-breach-check.png",toolName:"AI Breach Scanner",toolDescription:"AI-powered email breach detection and risk analysis tool",faqItems:[{question:"How do I know if my email has been leaked?",answer:"Our AI-powered scanner checks your email against over 12 billion records from known data breaches and dark web databases to identify if your information has been compromised."},{question:"What should I do if my data is in a breach?",answer:"Immediately change your passwords for the affected accounts. Enable Two-Factor Authentication (2FA) where possible, and consider using a comprehensive monitoring service to prevent identity theft."},{question:"Is this email checker safe to use?",answer:"Yes, absolutely. We do not store your email or use it for marketing. We only query public breach databases to check for exposure. Your privacy is our top priority."},{question:"Can I remove my info from the dark web?",answer:"While you can't 'delete' data from the dark web once it's there, you can make it useless to hackers by changing passwords and monitoring your identity. You can also remove your data from 'Data Broker' sites that fuel these breaches."}],rating:"4.9",ratingCount:"75000",price:"0"}),(0,c.jsxs)("div",{className:"user-focused-container",children:[(0,c.jsx)("section",{className:"data-leak-revamp-hero","aria-labelledby":"data-leak-title",children:(0,c.jsxs)("div",{className:"data-leak-hero-grid",children:[(0,c.jsxs)("div",{className:"data-leak-hero-copy",children:[(0,c.jsxs)("div",{className:"data-leak-kicker",children:[(0,c.jsx)(C.g,{icon:N.imB}),"CyberForget Breach Check"]}),(0,c.jsx)("h1",{id:"data-leak-title",children:"Check if your email was leaked."}),(0,c.jsx)("p",{children:"Search known breach records, paste dumps, and exposure signals in seconds. If we find a hit, you get the plain-English next steps to lock things down."}),(0,c.jsx)("div",{className:"data-leak-proof-grid","aria-label":"Breach checker stats",children:[{label:"Breach records",value:"12B+"},{label:"Known incidents",value:"500+"},{label:"Email check",value:"Free"}].map(e=>(0,c.jsxs)("div",{className:"data-leak-proof-card",children:[(0,c.jsx)("strong",{children:e.value}),(0,c.jsx)("span",{children:e.label})]},e.label))})]}),(0,c.jsxs)("div",{className:"data-leak-scan-panel",children:[(0,c.jsxs)("div",{className:"data-leak-panel-header",children:[(0,c.jsxs)("div",{children:[(0,c.jsx)("span",{children:"Private scan"}),(0,c.jsx)("h2",{children:"Email exposure check"})]}),(0,c.jsx)(C.g,{icon:N.DW4})]}),(0,c.jsxs)("form",{onSubmit:async e=>{if(e.preventDefault(),a){console.log("Email Submit Triggered"),d(!0),y(""),f(!0),w(0),h([]),p([]),A(!1),R(!1),P(!1),v(""),O(null);try{for(let t=1;t<=_e.length;t++)w(t),await Ge(200);const e=await n.A.checkEmailBreaches(a,{onProgress:e=>{let{foundCount:t,elapsedMs:a}=e;w(5);const s=Math.round((a||0)/1e3);v(t>0?`${t} service${1===t?"":"s"} matched so far \u2014 still checking\u2026`:`Checking services\u2026 ${s}s elapsed. This usually takes under a minute.`)}});if(console.log("Email breach check result:",e),e.success){P(!0),p(e.sites||[]);const{history:t,previous:s,newNames:n}=(0,T.Y$)(M,a,(e.breaches||[]).map(e=>e.name||e.Name));if($(t),O(s?{previousAt:s.checkedAt,newNames:n}:null),e.breaches&&e.breaches.length>0){const t=e.breaches.map(e=>({Name:e.name||e.Name,BreachDate:e.date||e.BreachDate,PwnCount:e.pwnCount||e.PwnCount||0,DataClasses:e.dataClasses||e.DataClasses||[]}));h(t),console.log("=== SECURITY SCORE DEBUG ==="),console.log("Formatted breaches:",t),console.log("Number of breaches:",t.length);const a=ze(t);console.log("Calculated security score:",a),q(a),console.log("Security score state should be set to:",a),X(100-a)}else h([]),q(100),X(0);setTimeout(()=>{Le(!0),setTimeout(()=>{We.current&&We.current.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"})},500)},1e3),v("Scan complete \u2014 building your report\u2026")}else P(!1),v(e.error||"Unable to check email. Please try again later."),y(e.error||"Unable to check email. Please try again later.")}catch(t){console.error("Error fetching email breaches:",t),P(!1),y("Failed to fetch email breaches. Please try again later.")}finally{d(!1),f(!1),R(!0),setTimeout(()=>{Ye.current&&Ye.current.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"})},500)}}else y("Please enter a valid email address.")},className:"primary-email-form data-leak-primary-form",children:[(0,c.jsx)("label",{htmlFor:"breach-email",children:"Email address"}),(0,c.jsxs)("div",{className:"primary-input-group data-leak-input-row",children:[(0,c.jsx)("input",{id:"breach-email",type:"email",placeholder:"[email protected]",value:a,onChange:e=>{o(e.target.value),R(!1)},required:!0,className:"primary-email-input data-leak-email-input","aria-label":"Email Address"}),(0,c.jsx)("button",{type:"submit",className:"primary-scan-button data-leak-scan-button",disabled:i,"aria-label":"Check for Data Breaches",onMouseEnter:()=>!i&&He(!0),onMouseLeave:()=>He(!1),children:i?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("div",{className:"primary-spinner"}),(0,c.jsx)("span",{children:"Scanning..."})]}):(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(C.g,{icon:N.MjD}),(0,c.jsx)("span",{children:"Check email"})]})})]})]}),(0,c.jsxs)("div",{className:"data-leak-privacy-note",children:[(0,c.jsx)(C.g,{icon:N.CN3}),(0,c.jsx)("span",{children:"We use your email only for this lookup and do not save it for marketing."})]}),(0,c.jsxs)("div",{className:"data-leak-signal-list","aria-label":"What this scan checks",children:[(0,c.jsxs)("div",{children:[(0,c.jsx)(C.g,{icon:N.hem}),(0,c.jsx)("span",{children:"Known public breaches"})]}),(0,c.jsxs)("div",{children:[(0,c.jsx)(C.g,{icon:N.pS3}),(0,c.jsx)("span",{children:"Paste and leak indicators"})]}),(0,c.jsxs)("div",{children:[(0,c.jsx)(C.g,{icon:N.YEm}),(0,c.jsx)("span",{children:"Action plan after results"})]})]}),g&&(0,c.jsxs)("div",{className:"simple-error",children:[(0,c.jsx)(C.g,{icon:N.zpE}),(0,c.jsx)("span",{children:g})]}),b&&!D&&(0,c.jsx)(l,{stages:_e,stage:x,liveStatus:k,email:a})]})]})}),D&&(0,c.jsx)("div",{ref:Ye,children:(0,c.jsx)(j,{email:a,breaches:u,sites:m,historyNote:I?F:null,historySavesToAccount:B,onExport:()=>{const e=new Date,t=e.toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}),s=(()=>{const s=u.reduce((e,t)=>
2e+(t.PwnCount||0),0),n=u.length>0?u.reduce((e,t)=>new Date(t.BreachDate)<new Date(e.BreachDate)?t:e).BreachDate:null,r=[...new Set(u.flatMap(e=>e.DataClasses||[]))];return`\n# \ud83d\udee1\ufe0f CYBERFORGET SECURITY REPORT\n    ** Comprehensive Email Security Analysis **\n\n        ---\n\n## \ud83d\udcca EXECUTIVE SUMMARY\n\n    ** Email Analyzed:** ${a}\n** Report Generated:** ${t}\n** Scan Time:** ${e.toLocaleTimeString()}\n\n### \ud83c\udfaf RISK ASSESSMENT\n    - ** Overall Risk Score:** ${Z||_||0}/100\n        - ** Threat Level:** ${Je(Z||_||0).label}\n- ** Status:** ${u.length>0?"\ud83d\udea8 COMPROMISED":"\u2705 SECURE"}\n\n### \ud83d\udcc8 SECURITY STATISTICS\n    - ** Total Incidents Found:** ${u.length}\n- ** Total Accounts Exposed:** ${s.toLocaleString()}\n- ** Oldest Incident:** ${n?new Date(n).getFullYear():"N/A"}\n- ** Data Types Compromised:** ${r.length} categories\n\n---\n\n## \ud83d\udd0d DETAILED SECURITY ANALYSIS\n\n${u.length>0?u.map((e,t)=>`\n### ${t+1}. ${e.Name}\n- **Date of Incident:** ${new Date(e.BreachDate).toLocaleDateString()}\n- **Accounts Affected:** ${(e.PwnCount||0).toLocaleString()}\n- **Severity Level:** ${Ke(e.PwnCount)}\n- **Data Compromised:** ${(e.DataClasses||[]).join(", ")}\n- **Risk Impact:** ${e.PwnCount>1e7?"CRITICAL - Mass exposure event":e.PwnCount>1e6?"HIGH - Major data incident":e.PwnCount>1e5?"MEDIUM - Significant exposure":"LOW - Limited exposure"}\n`).join("\n"):"\u2705 **Good News!** No incidents were found for this email address in our database of 12+ billion security records."}\n\n---\n\n## \ud83d\udd12 DATA EXPOSURE ANALYSIS\n\n### Categories of Information Potentially Compromised:\n${r.length>0?r.map(e=>`- ${e}`).join("\n"):"- No data categories compromised"}\n\n### Exposure Timeline:\n${u.length>0?u.sort((e,t)=>new Date(e.BreachDate)-new Date(t.BreachDate)).map(e=>`- ${new Date(e.BreachDate).getFullYear()}: ${e.Name}`).join("\n"):"- No exposure events found"}\n\n---\n\n## \u26a0\ufe0f IMMEDIATE ACTION ITEMS\n\n${u.length>0?"\n### \ud83d\udea8 CRITICAL ACTIONS (Do Today)\n1. **Change Passwords Immediately**\n   - Update password for this email account\n   - Change passwords on all accounts using this email\n   - Use unique, strong passwords (16+ characters)\n\n2. **Enable Two-Factor Authentication**\n   - Add 2FA to all critical accounts\n   - Use authenticator apps (Google Auth, Authy)\n   - Avoid SMS-based 2FA when possible\n\n3. **Monitor Financial Accounts**\n   - Check bank statements for unauthorized transactions\n   - Review credit reports for suspicious activity\n   - Consider placing fraud alerts with credit bureaus\n\n### \ud83d\udd12 ADDITIONAL SECURITY MEASURES\n4. **Review Account Activity**\n   - Check recent login activity on all accounts\n   - Look for unfamiliar locations or devices\n   - Log out all devices and re-authenticate\n\n5. **Update Security Information**\n   - Change security questions and answers\n   - Update recovery email addresses\n   - Verify phone numbers for account recovery\n":"\n### \u2705 PROACTIVE SECURITY MEASURES\n1. **Maintain Strong Password Hygiene**\n   - Continue using unique passwords for each account\n   - Consider using a password manager\n   - Enable two-factor authentication where available\n\n2. **Regular Security Checkups**\n   - Perform monthly security checks\n   - Review account activities regularly\n   - Keep software and apps updated\n\n3. **Monitor Your Digital Footprint**\n   - Check what information is publicly available\n   - Review privacy settings on social media\n   - Be cautious about sharing personal information online\n"}\n\n---\n\n## \ud83d\udcf1 COMPREHENSIVE PROTECTION PLAN\n\n### Phase 1: Immediate Response(Next 24 Hours)\n    - [] Change all passwords using this email\n        - [] Enable 2FA on critical accounts\n            - [] Check financial accounts for suspicious activity\n                - [] Review recent account activities\n\n### Phase 2: Enhanced Security(Next Week)\n    - [] Implement password manager\n        - [] Audit all online accounts\n            - [] Update security questions and recovery info\n                - [] Set up account monitoring alerts\n\n### Phase 3: Ongoing Protection(Monthly)\n    - [] Run regular security checks\n        - [] Review credit reports\n            - [] Update software and security settings\n                - [] Monitor identity theft protection services\n\n---\n\n## \ud83c\udfaf CYBERFORGET RECOMMENDATIONS\n\n### Why This Matters\n${u.length>0?`\nYour email has been found in ${u.length} data breach${u.length>1?"es":""}
2, affecting over ${s.toLocaleString()} accounts. This puts you at significant risk for:\n\n- **Identity Theft:** Criminals can use your exposed information to impersonate you\n- **Financial Fraud:** Access to financial accounts and unauthorized transactions  \n- **Account Takeovers:** Hackers can gain control of your online accounts\n- **Phishing Attacks:** Targeted scams using your personal information\n- **Privacy Violations:** Personal information sold on dark web markets\n`:"\nWhile your email appears clean in our breach database, staying protected requires ongoing vigilance. Cybersecurity threats evolve constantly, and new breaches occur daily.\n"}\n\n### Next Steps for Complete Protection\n1. ** Data Broker Removal:** Your personal information may still be sold by data brokers\n2. ** Continuous Monitoring:** Set up real - time alerts for new breaches\n3. ** Complete Privacy Audit:** Check all your personal information exposure\n4. ** Professional Protection:** Consider comprehensive identity protection services\n\n---\n\n## \ud83d\udcde SUPPORT & RESOURCES\n\n    ** CyberForget Security Team **\n        - Website: https://cyberforget.com\n- Email Support: security @cyberforget.com\n- Emergency Breach Response: Available 24 / 7\n\n    ** Additional Resources:**\n        - FTC Identity Theft Guide: identitytheft.gov\n            - Credit Bureau Fraud Alerts: All three major bureaus\n                - FBI Internet Crime Complaint Center: ic3.gov\n\n---\n\n** Report Classification:** ${u.length>0?"CONFIDENTIAL - Personal Security Information":"GENERAL - Security Assessment"}\n** Generated By:** CyberForget Security Platform\n    ** Report ID:** CF - ${e.getTime()}\n** Version:** 2.1\n\n    * This report contains sensitive security information.Please store securely and do not share unnecessarily.*\n\n        ---\n\n\ud83d\udee1\ufe0f ** Stay Protected with CyberForget ** \ud83d\udee1\ufe0f\n* Your Privacy.Our Priority.*\n    `.trim()})(),n=new Blob([s],{type:"text/markdown;charset=utf-8"}),r=URL.createObjectURL(n),o=document.createElement("a");o.setAttribute("href",r),o.setAttribute("download",`CyberForget - Security - Report - ${(new Date).toISOString().split("T")[0]}.md`),o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(r);u.length},onRescan:()=>{R(!1),f(!1),P(!1),h([]),p([]),O(null),y(""),v(""),o(""),q(null),X(null),window.scrollTo({top:0,behavior:"smooth"})}})}),(0,c.jsxs)("section",{className:"data-leak-tool-hub","aria-labelledby":"data-leak-tools-title",children:[(0,c.jsxs)("div",{className:"data-leak-section-heading",children:[(0,c.jsx)("span",{children:"Next steps"}),(0,c.jsx)("h2",{id:"data-leak-tools-title",children:"Free tools for after a leak"}),(0,c.jsx)("p",{children:"These stay out of the main dropdown, but they are still easy to find when someone is already thinking about leaked data."})]}),(0,c.jsx)("div",{className:"data-leak-primary-tools",children:t.map(e=>(0,c.jsxs)("a",{href:e.href,className:"data-leak-tool-card featured",children:[(0,c.jsx)(C.g,{icon:e.icon}),(0,c.jsxs)("div",{children:[(0,c.jsx)("h3",{children:e.title}),(0,c.jsx)("p",{children:e.description})]}),(0,c.jsx)(C.g,{icon:N.dmS,className:"data-leak-tool-arrow"})]},e.title))}),(0,c.jsxs)("div",{className:"data-leak-more-tools",children:[(0,c.jsxs)("div",{className:"data-leak-more-tools-copy",children:[(0,c.jsx)("span",{children:"Specialized free tools"}),(0,c.jsx)("h3",{children:"Still available, just not crowding the nav."})]}),(0,c.jsx)("div",{className:"data-leak-more-tools-grid",children:e.map(e=>(0,c.jsxs)("a",{href:e.href,className:"data-leak-tool-card compact",children:[(0,c.jsx)(C.g,{icon:e.icon}),(0,c.jsxs)("div",{children:[(0,c.jsx)("h4",{children:e.title}),(0,c.jsx)("p",{children:e.description})]})]},e.title))})]})]})]})]})}},7255:(e,t,a)=>{a.d(t,{A:()=>s});const s=(0,a(6230).A)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]])},7453:(e,t,a)=>{a.d(t,{A:()=>s});const s=(0,a(6230).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},7737:(e,t,a)=>{a.d(t,{A:()=>s});const s=(0,a(6230).A)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},8325:(e,t,a)=>{a.d(t,{A:()=>s});const s=(0,a(6230).A)("shield-alert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",ke
2y:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]])},9140:(e,t,a)=>{a.d(t,{A:()=>u});var s=a(9950),n=a(4825),r=a(2202),o=a(7322);const i=e=>`cf_progress_${e}`,c=e=>{try{const t=JSON.parse(localStorage.getItem(i(e))||"null");if(t&&"object"===typeof t&&"v"in t)return t}catch{}return null},l=e=>"function"===typeof e?e():e,d=(e,t)=>(0,r.H9)((0,o.s$)(),"users",e,"progress",t),u=function(e,t){var a;let u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:(e,t)=>t,{readOnly:h=!1}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const m=(0,s.useRef)(t),p=(0,s.useRef)((null===(a=c(e))||void 0===a?void 0:a.owner)||null),[g,y]=(0,s.useState)(()=>{var a,s;return null!==(a=null===(s=c(e))||void 0===s?void 0:s.v)&&void 0!==a?a:l(t)}),[b,f]=(0,s.useState)(null),[x,w]=(0,s.useState)(!1),k=(0,s.useRef)(u);k.current=u;const v=(0,s.useRef)(null),S=(0,s.useRef)(null);(0,s.useEffect)(()=>{const e=(0,o.Cy)();if(e)return(0,n.hg)(e,e=>{f((null===e||void 0===e?void 0:e.uid)||null),w(!1)})},[]),(0,s.useEffect)(()=>{if(!b)return;let t=!1;return(0,r.x7)(d(b,e)).then(e=>{if(t)return;const a=!p.current,s=!a&&p.current!==b;if(e.exists()){const{updatedAt:t,...s}=e.data();S.current=JSON.stringify(s),y(e=>a?k.current(e,s):s)}else s&&y(l(m.current));p.current=b,w(!0)}).catch(a=>{console.warn(`Progress sync (${e}): could not load`,a),t||w(!0)}),()=>{t=!0}},[b,e]);const j=(0,s.useRef)(null),C=(0,s.useCallback)(()=>{clearTimeout(v.current);const t=j.current;if(!t)return;j.current=null;const a=JSON.stringify(t.value);a!==S.current&&(S.current=a,(0,r.BN)(d(t.uid,e),{...t.value,updatedAt:(0,r.O5)()}).catch(t=>console.warn(`Progress sync (${e}): could not save`,t)))},[e]);(0,s.useEffect)(()=>{h||(((e,t,a)=>{try{localStorage.setItem(i(e),JSON.stringify({v:t,owner:a||null}))}catch{}})(e,g,b||p.current),b&&x&&(j.current={uid:b,value:g},clearTimeout(v.current),v.current=setTimeout(C,800)))},[g,b,x,e,C,h]),(0,s.useEffect)(()=>C,[C]);const N=(0,s.useCallback)(e=>y(e),[]);return[g,N,{signedIn:Boolean(b),synced:x}]}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.