<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:dcterms="http://purl.org/dc/terms/"
     xmlns:media="http://search.yahoo.com/mrss/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:cf="https://www.futureplc.com/rss/content-flags"
>
    <channel>
                    <atom:link rel="alternate" hreflang="en-AU"
                       href="https://www.tomsguide.com/au/feeds/tag/internet"
                       type="application/rss+xml"/>
                            <title><![CDATA[ Latest from Tom's Guide AU in Internet ]]></title>
                <link>https://www.tomsguide.com/au/computing/internet</link>
        <description><![CDATA[ All the latest internet content from the Tom's Guide  AU team ]]></description>
                                    <lastBuildDate>Mon, 26 Oct 2026 06:15:00 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ 10 simple security settings you should change on your phone and PC right now ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Adding extra layers of protection to your devices will save you a lot of trouble down the road. Invasion of privacy is rampant in this current day and age, and while it may seem like the powers at be might already know everything about you, that doesn’t mean you shouldn’t fight back.</p><p>Protect yourself by enabling these simple security settings on your smartphone and PC.</p><h2 id="enable-automatic-updates">Enable automatic updates</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.40%;"><img id="7g7iG4EK5A2eqDW4i3PxKi" name="laptop-system-update-shst.jpg" alt="Laptop installing system update." src="https://cdn.mos.cms.futurecdn.net/7g7iG4EK5A2eqDW4i3PxKi-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="564" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rawpixel.com/Shutterstock)</span></figcaption></figure><p>It might feel like there’s an update every other day, but don’t sleep on keeping your devices up to date. Security vulnerabilities are inevitable, and will keep popping up so long as the tech exists. If you’re way behind on your updates, go to the System Settings on your device to enable automatic updates. If that’s unavailable, manually update it and check for updates periodically.</p><h2 id="disable-your-advertising-id">Disable your Advertising ID</h2><p>Your device is actively collecting your data to feed you “relevant” ads, but you never know exactly what kind of data is being collected and where it’s going. Whatever device you may have, you’ll likely find options for your Advertising ID in the Privacy section of your System Settings. Disable or delete all mention of personalized advertising. You’ll still get ads, mind you, but they won’t be tailored by your personal data.</p><h2 id="disable-lock-screen-notifications">Disable lock screen notifications</h2><p>If you’re out in public, it’s best practice to disable your lock screen notifications to prevent onlookers from gleaning your private information, especially if the data being displayed is sensitive. You can find this setting in the Notifications section of your device, where you can disable previews, or hide content.</p><h2 id="limit-location-permissions">Limit location permissions</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Y8yZ7RvFDvQvNc8KdofqSF" name="location-permission.jpeg" alt="location permissions on a Pixel 6" src="https://cdn.mos.cms.futurecdn.net/Y8yZ7RvFDvQvNc8KdofqSF-1920-80.jpeg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>You don’t need social media apps tracking your location all the time. Go to the Privacy or Security settings of your device and disable location permissions or limit them in specific apps. If an app needs your location to function, select the option that only allows it while using the app. Apps don’t need to be tracking your movements in the background when not in use.</p><h2 id="lock-your-device">Lock your device</h2><p>Don’t leave your device permanently unlocked or to lock only after a long period of time. Come up with a longer, ideally unique, password and set your device to lock immediately when you move or put it away. You should be able to find this in your Security settings or your Account settings depending on your device. Disable any settings that extend unlock times in “trusted” environments. You could lose access to your device close to your home or car and leave it open to malicious actors.</p><h2 id="block-the-install-of-unknown-apps">Block the install of unknown apps</h2><p>Most devices already have a setting that blocks the installation of unknown apps, but if you’re like me, you might have had to disable this feature in order to download something outside of native app marketplaces. Do yourself a favor and reinstate the block of unknown apps in your Security or App settings.</p><h2 id="enable-device-encryption-pc-amp-mac">Enable device encryption (PC & Mac)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1313px;"><p class="vanilla-image-block" style="padding-top:64.97%;"><img id="QcsjckpjwBvH9LaH3p2KGN" name="Screenshot 2023-02-10 124147.jpg" alt="Windows 11 Pro Bitlocker device encryption in action" src="https://cdn.mos.cms.futurecdn.net/QcsjckpjwBvH9LaH3p2KGN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1313" height="853" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If your Mac or PC is ever stolen, the thieves won’t get access to your data if you’ve scrambled it by encrypting your drive. You’ll find this setting in Privacy & Security in both Windows 11 and macOS. On Windows it’s called BitLocker, and on macOS it’s called FileVault.</p><h2 id="enable-firewall-pc-amp-mac">Enable Firewall (PC & Mac)</h2><p>Turn on your network firewall to prevent suspicious connections from exploiting your device. If you have a Windows device, Microsoft Defender Firewall is likely already enabled, but it doesn’t hurt to check it in the Privacy & Security section. Meanwhile, macOS Firewall is actually disabled by default. You can turn that on by going to your System Settings and navigating to Network > Firewall.</p><h2 id="get-a-vpn">Get a VPN</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:7635px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qoiXDMrJMZ3hsgQgZdMbkJ" name="Proton VPN Free Windows Android" alt="Proton VPN Free running on a Windows PC and Android smartphone" src="https://cdn.mos.cms.futurecdn.net/qoiXDMrJMZ3hsgQgZdMbkJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="7635" height="4295" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Unfortunately, smartphones and PCs rarely come with built-in VPNs, so it’s not exactly a simple setting you can turn on, but I highly recommend getting one to beef up your network privacy. If you’re not looking to spend money, <a href="https://www.tomsguide.com/reviews/proton-vpn-free-review">Proton VPN</a> is a reputable and <a href="https://www.tomsguide.com/best-picks/best-free-vpn">free VPN</a>.</p><h2 id="update-browser-permissions">Update browser permissions</h2><p>Whatever your primary browser may be, you should adjust your default permissions in your Site Settings, usually found in the Privacy & Security section. Set each of the permissions to “Ask first” if they’re not already. The last thing you need is some random website activating your microphone or downloading files without your permission. You might also find a Safe Browsing setting in your browser, if not already built-in, that you can enable as well for enhanced protection.</p><h2 id="bottom-line">Bottom line</h2><p>Taking charge of your security settings is one of the few things you can do to stay in control of your privacy. Corporations are actively spying on us to try to sell us the “next best thing,” but we don’t have to make it easy for them. And we definitely don’t want to make it easy for hackers to steal our data and wreck our lives.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/5-fast-steps-to-take-immediately-after-a-company-leaks-your-personal-data"><strong>5 fast steps to take immediately after a company leaks your personal data</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/malware-adware/7-warning-signs-your-android-phone-or-iphone-has-malware"><strong>7 warning signs your Android phone or iPhone has malware</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/10-simple-security-settings-you-should-change-on-your-phone-and-pc-right-now</link>
                                                                            <description>
                            <![CDATA[ Your privacy and data are always at risk, but don’t make it easy for malicious actors — change these simple security settings now. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yyudcdHKMJryzAmervoLng</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/EmriEfNAYQe3QGDgiAPtkd-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 26 Oct 2026 06:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Rami Tabari ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Du7gwfP2FPAQuuhcMnakHf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/EmriEfNAYQe3QGDgiAPtkd-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A person holding a phone near a laptop, representing an article about how to set up a Wi-Fi hotspot on Android]]></media:description>                                                            <media:text><![CDATA[A person holding a phone near a laptop, representing an article about how to set up a Wi-Fi hotspot on Android]]></media:text>
                                <media:title type="plain"><![CDATA[A person holding a phone near a laptop, representing an article about how to set up a Wi-Fi hotspot on Android]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/EmriEfNAYQe3QGDgiAPtkd-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Adding extra layers of protection to your devices will save you a lot of trouble down the road. Invasion of privacy is rampant in this current day and age, and while it may seem like the powers at be might already know everything about you, that doesn’t mean you shouldn’t fight back.</p><p>Protect yourself by enabling these simple security settings on your smartphone and PC.</p><h2 id="enable-automatic-updates">Enable automatic updates</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.40%;"><img id="7g7iG4EK5A2eqDW4i3PxKi" name="laptop-system-update-shst.jpg" alt="Laptop installing system update." src="https://cdn.mos.cms.futurecdn.net/7g7iG4EK5A2eqDW4i3PxKi-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="564" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rawpixel.com/Shutterstock)</span></figcaption></figure><p>It might feel like there’s an update every other day, but don’t sleep on keeping your devices up to date. Security vulnerabilities are inevitable, and will keep popping up so long as the tech exists. If you’re way behind on your updates, go to the System Settings on your device to enable automatic updates. If that’s unavailable, manually update it and check for updates periodically.</p><h2 id="disable-your-advertising-id">Disable your Advertising ID</h2><p>Your device is actively collecting your data to feed you “relevant” ads, but you never know exactly what kind of data is being collected and where it’s going. Whatever device you may have, you’ll likely find options for your Advertising ID in the Privacy section of your System Settings. Disable or delete all mention of personalized advertising. You’ll still get ads, mind you, but they won’t be tailored by your personal data.</p><h2 id="disable-lock-screen-notifications">Disable lock screen notifications</h2><p>If you’re out in public, it’s best practice to disable your lock screen notifications to prevent onlookers from gleaning your private information, especially if the data being displayed is sensitive. You can find this setting in the Notifications section of your device, where you can disable previews, or hide content.</p><h2 id="limit-location-permissions">Limit location permissions</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Y8yZ7RvFDvQvNc8KdofqSF" name="location-permission.jpeg" alt="location permissions on a Pixel 6" src="https://cdn.mos.cms.futurecdn.net/Y8yZ7RvFDvQvNc8KdofqSF-1920-80.jpeg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>You don’t need social media apps tracking your location all the time. Go to the Privacy or Security settings of your device and disable location permissions or limit them in specific apps. If an app needs your location to function, select the option that only allows it while using the app. Apps don’t need to be tracking your movements in the background when not in use.</p><h2 id="lock-your-device">Lock your device</h2><p>Don’t leave your device permanently unlocked or to lock only after a long period of time. Come up with a longer, ideally unique, password and set your device to lock immediately when you move or put it away. You should be able to find this in your Security settings or your Account settings depending on your device. Disable any settings that extend unlock times in “trusted” environments. You could lose access to your device close to your home or car and leave it open to malicious actors.</p><h2 id="block-the-install-of-unknown-apps">Block the install of unknown apps</h2><p>Most devices already have a setting that blocks the installation of unknown apps, but if you’re like me, you might have had to disable this feature in order to download something outside of native app marketplaces. Do yourself a favor and reinstate the block of unknown apps in your Security or App settings.</p><h2 id="enable-device-encryption-pc-amp-mac">Enable device encryption (PC & Mac)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1313px;"><p class="vanilla-image-block" style="padding-top:64.97%;"><img id="QcsjckpjwBvH9LaH3p2KGN" name="Screenshot 2023-02-10 124147.jpg" alt="Windows 11 Pro Bitlocker device encryption in action" src="https://cdn.mos.cms.futurecdn.net/QcsjckpjwBvH9LaH3p2KGN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1313" height="853" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If your Mac or PC is ever stolen, the thieves won’t get access to your data if you’ve scrambled it by encrypting your drive. You’ll find this setting in Privacy & Security in both Windows 11 and macOS. On Windows it’s called BitLocker, and on macOS it’s called FileVault.</p><h2 id="enable-firewall-pc-amp-mac">Enable Firewall (PC & Mac)</h2><p>Turn on your network firewall to prevent suspicious connections from exploiting your device. If you have a Windows device, Microsoft Defender Firewall is likely already enabled, but it doesn’t hurt to check it in the Privacy & Security section. Meanwhile, macOS Firewall is actually disabled by default. You can turn that on by going to your System Settings and navigating to Network > Firewall.</p><h2 id="get-a-vpn">Get a VPN</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:7635px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qoiXDMrJMZ3hsgQgZdMbkJ" name="Proton VPN Free Windows Android" alt="Proton VPN Free running on a Windows PC and Android smartphone" src="https://cdn.mos.cms.futurecdn.net/qoiXDMrJMZ3hsgQgZdMbkJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="7635" height="4295" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Unfortunately, smartphones and PCs rarely come with built-in VPNs, so it’s not exactly a simple setting you can turn on, but I highly recommend getting one to beef up your network privacy. If you’re not looking to spend money, <a href="https://www.tomsguide.com/reviews/proton-vpn-free-review">Proton VPN</a> is a reputable and <a href="https://www.tomsguide.com/best-picks/best-free-vpn">free VPN</a>.</p><h2 id="update-browser-permissions">Update browser permissions</h2><p>Whatever your primary browser may be, you should adjust your default permissions in your Site Settings, usually found in the Privacy & Security section. Set each of the permissions to “Ask first” if they’re not already. The last thing you need is some random website activating your microphone or downloading files without your permission. You might also find a Safe Browsing setting in your browser, if not already built-in, that you can enable as well for enhanced protection.</p><h2 id="bottom-line">Bottom line</h2><p>Taking charge of your security settings is one of the few things you can do to stay in control of your privacy. Corporations are actively spying on us to try to sell us the “next best thing,” but we don’t have to make it easy for them. And we definitely don’t want to make it easy for hackers to steal our data and wreck our lives.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/5-fast-steps-to-take-immediately-after-a-company-leaks-your-personal-data"><strong>5 fast steps to take immediately after a company leaks your personal data</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/malware-adware/7-warning-signs-your-android-phone-or-iphone-has-malware"><strong>7 warning signs your Android phone or iPhone has malware</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Smart TVs collect a surprising amount of your data — here’s how to stop them ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Yes, even your TV is spying on you. The terms of service on a smart TV change like the wind, and every time you’re asked to accept a litany of new agreements that go beyond what is necessary for the TV to function, you’re likely volunteering to be spied on by your own smart TV, if it hasn’t already been enabled by default. The mole in your house is called <a href="https://www.tomsguide.com/tvs/a-new-feature-is-cropping-up-on-several-new-smart-tvs-and-youll-want-to-turn-it-off-immediately">Automated Content Recognition</a> (ACR). </p><p>ACR is a technology that identifies what it is you’re watching on your TV. This applies to both visual and audio sources. This not only works for built-in apps but also anything connected through HDMI ports, like an Amazon Fire Stick or game consoles. You could be completely offline, connecting an old school DVD drive to your TV, and manufacturers can still steal that data.</p><p>Companies use ACR to learn what you like and don’t like and then use that information to hit you with ads or suggest content. But of course, it’s not just about suggesting things that you may like to watch. Manufacturers turn around and sell this data to companies to then use predatory tactics against you. It’s like a stalker in league with other stalkers — they learn all about you and then lure you in with the tantalizing appeal of consumerism.</p><p>If you think that’s bad, Gamers Nexus published a <a href="https://www.youtube.com/watch?v=6IFVTcM28KA" target="_blank">video back in September</a> investigating a serious privacy issue that <a href="https://www.tomsguide.com/tvs/yes-lg-smart-tvs-know-more-about-you-than-you-think-but-so-do-other-tv-brands">LG Smart TVs</a> have — the microphone is on and actively listening, even when the screen is turned off. It also stores the recorded data when the TV is completely disconnected from the internet. Terrifying.</p><p>If you’d rather not have all of your personal information stolen from something as simple as a display, then you need to disable ACR immediately. Here’s how.</p><h3 class="article-body__section" id="section-how-to-stop-smart-tvs-from-stealing-your-data"><span>How to stop smart TVs from stealing your data</span></h3><p>Unfortunately, some manufacturers turned to cleverly calling ACR something else entirely, and often hide the setting deep within a series of menus. I’m going to go over a few of them so you generally know what to look for. However, my overall advice is to do a thorough sweep of your TV settings. Typically, there are explanations next to each setting, and if not, look them up to see what they’re really about.</p><h2 id="lg-tvs">LG TVs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xuZMpyrY6bmq6jTWv7D5Sb" name="LG B2 OLED TV-10.jpg" alt="LG B2 OLED TV shown against a brick wall in a living room" src="https://cdn.mos.cms.futurecdn.net/xuZMpyrY6bmq6jTWv7D5Sb-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Let’s start with the spooky one first. LG likes to call its ACR technology Live Plus, and you can dig that setting out by going to <strong>Settings > General > System > Advanced Settings</strong>. I’d disable Live Plus as well as Live Promotion. Depending on the model you have, there’s also Content Recommendations, Screen Saver Promotion, and Limit Ad Tracking settings that you can disable too.</p><h2 id="amazon-fire-tvs">Amazon Fire TVs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="o9DSGaFxmaiwSk8PEBbCLc" name="fire-TV-remote.jpg" alt="Fire TV Cube" src="https://cdn.mos.cms.futurecdn.net/o9DSGaFxmaiwSk8PEBbCLc-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>At the very least, Amazon’s Fire TV has the decency to call the setting what it is — Automated Content Recognition, although most people might not know what that even means.</p><p>To disable it, you’ll want to go to <strong>Settings > Preferences > Privacy Settings</strong>. There you can turn off not only ACR but also Device Usage Data, Collect App and Over-The-Air Data, and Interest-based Ads. Or literally anything else that seems like it wants to spy on you.</p><h2 id="samsung-tvs">Samsung TVs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2TKVPMAEbMBnfJxQLjQpP" name="Samsung S95C OLED TV-1.jpg" alt="Samsung S95C OLED TV" src="https://cdn.mos.cms.futurecdn.net/2TKVPMAEbMBnfJxQLjQpP-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>For Samsung, you’ll want to go to <strong>Settings > All Settings > General & Privacy > Terms & Privacy</strong>. There you should disable Viewing Information Services and Interest-Based Advertising. If you have an older Samsung, you might find this setting in the <strong>Support > Terms & Policies</strong> section.</p><h2 id="sony-tvs">Sony TVs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RW2xMjXGCPnaxKHHzvKNJj" name="Sony Bravia 7--01" alt="Sony Bravia 7 TV remote" src="https://cdn.mos.cms.futurecdn.net/RW2xMjXGCPnaxKHHzvKNJj-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Sony decided to call its ACR Samba Interactive TV, another fancy name for effectively the same spying device. You’ll find it in <strong>Settings > Initial Setup or All Settings</strong>.</p><h2 id="roku-tvs">Roku TVs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gyYUkWPcx8pQCDD4kqGKCE" name="Roku remote1.jpg" alt="Roku remote in front of TV" src="https://cdn.mos.cms.futurecdn.net/gyYUkWPcx8pQCDD4kqGKCE-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>For Roku devices, navigate to <strong>Settings > Privacy > Smart TV Experience</strong> and then disable ACR or Use Info from TV Inputs. In the <strong>Privacy</strong> section, you also might find <strong>Advertising </strong>and <strong>Microphone </strong>settings, and I highly recommend disabling anything in those sub menus.</p><h2 id="vizio-tvs">Vizio TVs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ULhyqi5LwgmfobX2rpZUS9" name="TG_Vizio-V-Series-V555-J01_2.jpg" alt="Vizio V-Series V555-J01 (2021 Model)  remote" src="https://cdn.mos.cms.futurecdn.net/ULhyqi5LwgmfobX2rpZUS9-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Vizio hid this setting behind the <strong>Reset & Admin </strong>section. You’ll find it by going through <strong>Menu > System > Reset & Admin</strong>, where you can then disable Highlight Viewing Data. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/5-fast-steps-to-take-immediately-after-a-company-leaks-your-personal-data"><strong>5 fast steps to take immediately after a company leaks your personal data</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/malware-adware/7-warning-signs-your-android-phone-or-iphone-has-malware"><strong>7 warning signs your Android phone or iPhone has malware</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/smart-tvs-collect-a-surprising-amount-of-your-data-heres-how-to-stop-them</link>
                                                                            <description>
                            <![CDATA[ Your smart TVs are spying on you and you can stop them right now by disabling this setting. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">c4NWecMM57EZwricCjxpa8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/GXUQNgz3nzVBpfZ6ZXnGrh-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 25 Oct 2026 11:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[TVs]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Rami Tabari ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Du7gwfP2FPAQuuhcMnakHf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/GXUQNgz3nzVBpfZ6ZXnGrh-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock / Tero Vesalainen]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An out-of-focus TV displaying a smart platform home screen is foregrounded by a someone&#039;s disembodied &quot;thumbs down&quot; gesture]]></media:description>                                                            <media:text><![CDATA[An out-of-focus TV displaying a smart platform home screen is foregrounded by a someone&#039;s disembodied &quot;thumbs down&quot; gesture]]></media:text>
                                <media:title type="plain"><![CDATA[An out-of-focus TV displaying a smart platform home screen is foregrounded by a someone&#039;s disembodied &quot;thumbs down&quot; gesture]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/GXUQNgz3nzVBpfZ6ZXnGrh-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Yes, even your TV is spying on you. The terms of service on a smart TV change like the wind, and every time you’re asked to accept a litany of new agreements that go beyond what is necessary for the TV to function, you’re likely volunteering to be spied on by your own smart TV, if it hasn’t already been enabled by default. The mole in your house is called <a href="https://www.tomsguide.com/tvs/a-new-feature-is-cropping-up-on-several-new-smart-tvs-and-youll-want-to-turn-it-off-immediately">Automated Content Recognition</a> (ACR). </p><p>ACR is a technology that identifies what it is you’re watching on your TV. This applies to both visual and audio sources. This not only works for built-in apps but also anything connected through HDMI ports, like an Amazon Fire Stick or game consoles. You could be completely offline, connecting an old school DVD drive to your TV, and manufacturers can still steal that data.</p><p>Companies use ACR to learn what you like and don’t like and then use that information to hit you with ads or suggest content. But of course, it’s not just about suggesting things that you may like to watch. Manufacturers turn around and sell this data to companies to then use predatory tactics against you. It’s like a stalker in league with other stalkers — they learn all about you and then lure you in with the tantalizing appeal of consumerism.</p><p>If you think that’s bad, Gamers Nexus published a <a href="https://www.youtube.com/watch?v=6IFVTcM28KA" target="_blank">video back in September</a> investigating a serious privacy issue that <a href="https://www.tomsguide.com/tvs/yes-lg-smart-tvs-know-more-about-you-than-you-think-but-so-do-other-tv-brands">LG Smart TVs</a> have — the microphone is on and actively listening, even when the screen is turned off. It also stores the recorded data when the TV is completely disconnected from the internet. Terrifying.</p><p>If you’d rather not have all of your personal information stolen from something as simple as a display, then you need to disable ACR immediately. Here’s how.</p><h3 class="article-body__section" id="section-how-to-stop-smart-tvs-from-stealing-your-data"><span>How to stop smart TVs from stealing your data</span></h3><p>Unfortunately, some manufacturers turned to cleverly calling ACR something else entirely, and often hide the setting deep within a series of menus. I’m going to go over a few of them so you generally know what to look for. However, my overall advice is to do a thorough sweep of your TV settings. Typically, there are explanations next to each setting, and if not, look them up to see what they’re really about.</p><h2 id="lg-tvs">LG TVs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xuZMpyrY6bmq6jTWv7D5Sb" name="LG B2 OLED TV-10.jpg" alt="LG B2 OLED TV shown against a brick wall in a living room" src="https://cdn.mos.cms.futurecdn.net/xuZMpyrY6bmq6jTWv7D5Sb-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Let’s start with the spooky one first. LG likes to call its ACR technology Live Plus, and you can dig that setting out by going to <strong>Settings > General > System > Advanced Settings</strong>. I’d disable Live Plus as well as Live Promotion. Depending on the model you have, there’s also Content Recommendations, Screen Saver Promotion, and Limit Ad Tracking settings that you can disable too.</p><h2 id="amazon-fire-tvs">Amazon Fire TVs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="o9DSGaFxmaiwSk8PEBbCLc" name="fire-TV-remote.jpg" alt="Fire TV Cube" src="https://cdn.mos.cms.futurecdn.net/o9DSGaFxmaiwSk8PEBbCLc-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>At the very least, Amazon’s Fire TV has the decency to call the setting what it is — Automated Content Recognition, although most people might not know what that even means.</p><p>To disable it, you’ll want to go to <strong>Settings > Preferences > Privacy Settings</strong>. There you can turn off not only ACR but also Device Usage Data, Collect App and Over-The-Air Data, and Interest-based Ads. Or literally anything else that seems like it wants to spy on you.</p><h2 id="samsung-tvs">Samsung TVs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2TKVPMAEbMBnfJxQLjQpP" name="Samsung S95C OLED TV-1.jpg" alt="Samsung S95C OLED TV" src="https://cdn.mos.cms.futurecdn.net/2TKVPMAEbMBnfJxQLjQpP-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>For Samsung, you’ll want to go to <strong>Settings > All Settings > General & Privacy > Terms & Privacy</strong>. There you should disable Viewing Information Services and Interest-Based Advertising. If you have an older Samsung, you might find this setting in the <strong>Support > Terms & Policies</strong> section.</p><h2 id="sony-tvs">Sony TVs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RW2xMjXGCPnaxKHHzvKNJj" name="Sony Bravia 7--01" alt="Sony Bravia 7 TV remote" src="https://cdn.mos.cms.futurecdn.net/RW2xMjXGCPnaxKHHzvKNJj-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Sony decided to call its ACR Samba Interactive TV, another fancy name for effectively the same spying device. You’ll find it in <strong>Settings > Initial Setup or All Settings</strong>.</p><h2 id="roku-tvs">Roku TVs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gyYUkWPcx8pQCDD4kqGKCE" name="Roku remote1.jpg" alt="Roku remote in front of TV" src="https://cdn.mos.cms.futurecdn.net/gyYUkWPcx8pQCDD4kqGKCE-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>For Roku devices, navigate to <strong>Settings > Privacy > Smart TV Experience</strong> and then disable ACR or Use Info from TV Inputs. In the <strong>Privacy</strong> section, you also might find <strong>Advertising </strong>and <strong>Microphone </strong>settings, and I highly recommend disabling anything in those sub menus.</p><h2 id="vizio-tvs">Vizio TVs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ULhyqi5LwgmfobX2rpZUS9" name="TG_Vizio-V-Series-V555-J01_2.jpg" alt="Vizio V-Series V555-J01 (2021 Model)  remote" src="https://cdn.mos.cms.futurecdn.net/ULhyqi5LwgmfobX2rpZUS9-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Vizio hid this setting behind the <strong>Reset & Admin </strong>section. You’ll find it by going through <strong>Menu > System > Reset & Admin</strong>, where you can then disable Highlight Viewing Data. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/5-fast-steps-to-take-immediately-after-a-company-leaks-your-personal-data"><strong>5 fast steps to take immediately after a company leaks your personal data</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/malware-adware/7-warning-signs-your-android-phone-or-iphone-has-malware"><strong>7 warning signs your Android phone or iPhone has malware</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ ‘Babe, wake up, the internet is collapsing’: Two massive flaws just broke the web, and the data of billions is in the crossfire ]]></title>
                                                                                                <dc:content><![CDATA[ <p>If you opened X this morning, you might have seen this viral tweet floating around cybersecurity circles. It’s hilarious, but it’s also uncomfortably close to the truth.</p><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2113065317962502425"><p lang="en" dir="ltr">babe wake up the internet is collapsing<a href="https://twitter.com/cantworkitout/status/2113065317962502425">October 22, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>Over the past 24 hours, two completely separate, absolutely massive cybersecurity disasters collided.</p><ul><li>First, <a href="https://www.microsoft.com/en-us/security/blog/2026/10/21/storm-0940-uses-artex-agentic-ai-connectwise-supply-chain-compromise/" target="_blank">Microsoft revealed</a> that a nation-state hacking group used an autonomous AI agent to brute-force its way into thousands of cloud accounts in a matter of hours.</li><li>Then, a <a href="https://www.php.net/index.php" target="_blank">critical vulnerability was discovered in PHP</a> — the foundational code that runs roughly 70% of the entire internet — forcing major sites like Wikipedia to temporarily pull the plug on their own servers just to survive.</li></ul><p>If you are wondering why IT departments across the globe are currently stress-sweating through their flannels, here is a breakdown of exactly what is happening, and what you actually need to do about it.</p><h2 id="disaster-1-the-autonomous-ai-hacker-artex">Disaster 1: The autonomous AI hacker (ARTEX)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rPXEy9foEgSpWcUuDxQr6R" name="shutterstock_2291678869-16x9" alt="microsoft" src="https://cdn.mos.cms.futurecdn.net/rPXEy9foEgSpWcUuDxQr6R-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>I’ve spent the past couple of weeks writing about <a href="https://www.tomsguide.com/ai/ditch-the-data-center-i-fired-my-cloud-chatbot-and-built-a-free-local-ai-agent-to-run-on-my-pc-and-you-can-too">how to build a local AI agent</a> — like my digital assistant “Jeeves” — to automate admin tasks like checking your Gmail.</p><p>Well, a Chinese-linked threat actor known as “Storm-0940” just showed us the dark mirror version of that exact technology.</p><p>According to Microsoft, the hackers stole credentials to ConnectWise (a massive IT management software provider). But instead of typing in passwords, they handed those credentials to an agentic AI tool called ARTEX.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fzLwFVKeCvJejaXimCGG3G" name="Hermes Agent" alt="Hermes Agent" src="https://cdn.mos.cms.futurecdn.net/fzLwFVKeCvJejaXimCGG3G-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>ARTEX is essentially a malicious version of Jeeves. The hackers gave the AI a goal, pointed it at Microsoft 365, and let it off the leash. The AI divided up the tasks, bypassed standard logins by hijacking authentication apps, and achieved a terrifying <strong>2,900 sign-in attempts per minute.</strong></p><p>Within a few hours, the AI had hit 2,250 different corporate tenants across aerospace, defense and finance. It moved so fast that human security defenders literally didn’t have time to read the alerts before the AI had already gained privileged cloud access.</p><p>It is the ultimate proof that the “cloud tax” isn’t just expensive — it’s a massive, centralized target for autonomous bots.</p><h2 id="disaster-2-the-php-meltdown">Disaster 2: The PHP meltdown</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="hYBfcnDweVSdVQuQuMjEsa" name="PHP" alt="PHP" src="https://cdn.mos.cms.futurecdn.net/hYBfcnDweVSdVQuQuMjEsa-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>And while that AI was busy tearing through Microsoft 365, the actual foundational bricks of the internet started crumbling. On October 21, the PHP project disclosed two critical vulnerabilities (CVE-2026-109618 and CVE-2026-109619). </p><p>To spare you the hyper-dense developer jargon: there is a flaw in how PHP handles memory. If an attacker sends a specific, unauthenticated request to a web server, they can corrupt the memory and execute their own malicious code directly on the machine.</p><p>It’s been so bad, it scored a <strong>9.2 out of 10 on the severity scale.</strong></p><p>Why is this a big deal? Well, PHP is the backbone of WordPress, major content management systems, and millions of custom web applications. <strong>It powers roughly 70% of the entire web.</strong></p><p>The vulnerability is so trivial to exploit — and the blast radius is so large — that both <a href="https://mashable.com/tech/internet-archive-down-oct-21" target="_blank" rel="nofollow">Wikipedia, the Internet Archive</a> and <a href="https://www.gamesradar.com/games/the-steam-store-goes-down-as-valve-seemingly-joins-the-whole-internet-struggling-amid-php-vulnerabilities/" target="_blank">Steam</a> reportedly took precautionary measures to shut down their infrastructure while applying the patch.</p><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2113037994924163166"><p lang="en" dir="ltr">An update from Brewster Kahle on today's outage. https://t.co/Gukju5sKFO<a href="https://twitter.com/cantworkitout/status/2113037994924163166">October 21, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>Ironically, <a href="https://www.wiz.io/blog/php2shell-php-rce" target="_blank">Wiz Research</a> actually used Google’s Gemini 4 Argon AI model (alongside OpenAI’s GPT-5.6 Sol) to help find and validate the patch for this PHP flaw. So, while one AI is currently attacking the cloud, another AI is desperately trying to patch it.</p><h2 id="what-you-need-to-do">What you need to do</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="uCiNpmiJUVyk3jhtTgHpsa" name="PHP" alt="PHP" src="https://cdn.mos.cms.futurecdn.net/uCiNpmiJUVyk3jhtTgHpsa-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you are just a regular person trying to browse the web and get your work done, you don’t need to throw your laptop in a lake. But you do need to be on the defensive.</p><section class="howto-block">                    <h3>If you are a consumer</h3>                                        <p><p>This is the exact moment when credentials stolen in massive cloud breaches end up on the dark web. Assume your passwords have been swept up in the chaos. If you aren’t using a password manager or hardware-based multi-factor authentication (MFA), you are a sitting duck for an AI like ARTEX. Take some time to protect yourself.</p></p>                </section><section class="howto-block">                    <h3>If you are a business owner</h3>                                        <p><p>Call your web hosting provider or IT contractor immediately. Ask them two questions: “Have we applied the October 21 PHP security patches?” and “Are our Microsoft 365 OAuth applications audited?” If you get a blank stare or an awkward silence, you have a problem.</p></p>                </section><p>The internet may not be literally collapsing, but the walls are definitely shaking. When autonomous AI agents can breach thousands of cloud tenants before a human can even click on an alert, relying entirely on massive, centralized tech conglomerates to keep your data safe is a losing bet.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/macbooks/exclusive-apples-oled-macbook-pro-may-face-a-usd300-to-usd500-price-hike-to-protect-their-profits-from-ramageddon">Exclusive: Apple's OLED MacBook Pro may face a '$300 to $500' price hike to 'protect their profits' from RAMageddon</a></li><li><a href="https://www.tomsguide.com/computing/internet/elon-musk-reportedly-throttled-starlink-for-ukraines-drones-heres-how">Elon Musk reportedly throttled Starlink for Ukraine’s drones — here's how</a></li><li><a href="https://www.tomsguide.com/computing/cpus/ive-been-living-with-nvidias-rtx-spark-for-a-week-on-surface-laptop-ultra-its-not-a-macbook-pro-killer-but-something-much-weirder-and-wildly-powerful">I’ve been living with Nvidia’s RTX Spark for a week — it’s not a MacBook Pro killer but something much weirder and wildly powerful</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/babe-wake-up-the-internet-is-collapsing-two-massive-flaws-just-broke-the-web-and-the-data-of-billions-is-in-the-crossfire</link>
                                                                            <description>
                            <![CDATA[ An autonomous AI agent breached 2,250 cloud servers while a PHP flaw broke the web. Here is what happened and how to protect your data today. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">qWWrmBfWzV7nkHjpkd252j</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/YwKRVzwvLwup6hDGh5bVNM-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 22 Oct 2026 11:07:41 +0000</pubDate>                                                                                                                                <updated>Thu, 22 Oct 2026 17:29:18 +0000</updated>
                                                                                                                                            <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/YwKRVzwvLwup6hDGh5bVNM-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A hacker typing quickly on a keyboard]]></media:description>                                                            <media:text><![CDATA[A hacker typing quickly on a keyboard]]></media:text>
                                <media:title type="plain"><![CDATA[A hacker typing quickly on a keyboard]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/YwKRVzwvLwup6hDGh5bVNM-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you opened X this morning, you might have seen this viral tweet floating around cybersecurity circles. It’s hilarious, but it’s also uncomfortably close to the truth.</p><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2113065317962502425"><p lang="en" dir="ltr">babe wake up the internet is collapsing<a href="https://twitter.com/cantworkitout/status/2113065317962502425">October 22, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>Over the past 24 hours, two completely separate, absolutely massive cybersecurity disasters collided.</p><ul><li>First, <a href="https://www.microsoft.com/en-us/security/blog/2026/10/21/storm-0940-uses-artex-agentic-ai-connectwise-supply-chain-compromise/" target="_blank">Microsoft revealed</a> that a nation-state hacking group used an autonomous AI agent to brute-force its way into thousands of cloud accounts in a matter of hours.</li><li>Then, a <a href="https://www.php.net/index.php" target="_blank">critical vulnerability was discovered in PHP</a> — the foundational code that runs roughly 70% of the entire internet — forcing major sites like Wikipedia to temporarily pull the plug on their own servers just to survive.</li></ul><p>If you are wondering why IT departments across the globe are currently stress-sweating through their flannels, here is a breakdown of exactly what is happening, and what you actually need to do about it.</p><h2 id="disaster-1-the-autonomous-ai-hacker-artex">Disaster 1: The autonomous AI hacker (ARTEX)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rPXEy9foEgSpWcUuDxQr6R" name="shutterstock_2291678869-16x9" alt="microsoft" src="https://cdn.mos.cms.futurecdn.net/rPXEy9foEgSpWcUuDxQr6R-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>I’ve spent the past couple of weeks writing about <a href="https://www.tomsguide.com/ai/ditch-the-data-center-i-fired-my-cloud-chatbot-and-built-a-free-local-ai-agent-to-run-on-my-pc-and-you-can-too">how to build a local AI agent</a> — like my digital assistant “Jeeves” — to automate admin tasks like checking your Gmail.</p><p>Well, a Chinese-linked threat actor known as “Storm-0940” just showed us the dark mirror version of that exact technology.</p><p>According to Microsoft, the hackers stole credentials to ConnectWise (a massive IT management software provider). But instead of typing in passwords, they handed those credentials to an agentic AI tool called ARTEX.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fzLwFVKeCvJejaXimCGG3G" name="Hermes Agent" alt="Hermes Agent" src="https://cdn.mos.cms.futurecdn.net/fzLwFVKeCvJejaXimCGG3G-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>ARTEX is essentially a malicious version of Jeeves. The hackers gave the AI a goal, pointed it at Microsoft 365, and let it off the leash. The AI divided up the tasks, bypassed standard logins by hijacking authentication apps, and achieved a terrifying <strong>2,900 sign-in attempts per minute.</strong></p><p>Within a few hours, the AI had hit 2,250 different corporate tenants across aerospace, defense and finance. It moved so fast that human security defenders literally didn’t have time to read the alerts before the AI had already gained privileged cloud access.</p><p>It is the ultimate proof that the “cloud tax” isn’t just expensive — it’s a massive, centralized target for autonomous bots.</p><h2 id="disaster-2-the-php-meltdown">Disaster 2: The PHP meltdown</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="hYBfcnDweVSdVQuQuMjEsa" name="PHP" alt="PHP" src="https://cdn.mos.cms.futurecdn.net/hYBfcnDweVSdVQuQuMjEsa-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>And while that AI was busy tearing through Microsoft 365, the actual foundational bricks of the internet started crumbling. On October 21, the PHP project disclosed two critical vulnerabilities (CVE-2026-109618 and CVE-2026-109619). </p><p>To spare you the hyper-dense developer jargon: there is a flaw in how PHP handles memory. If an attacker sends a specific, unauthenticated request to a web server, they can corrupt the memory and execute their own malicious code directly on the machine.</p><p>It’s been so bad, it scored a <strong>9.2 out of 10 on the severity scale.</strong></p><p>Why is this a big deal? Well, PHP is the backbone of WordPress, major content management systems, and millions of custom web applications. <strong>It powers roughly 70% of the entire web.</strong></p><p>The vulnerability is so trivial to exploit — and the blast radius is so large — that both <a href="https://mashable.com/tech/internet-archive-down-oct-21" target="_blank" rel="nofollow">Wikipedia, the Internet Archive</a> and <a href="https://www.gamesradar.com/games/the-steam-store-goes-down-as-valve-seemingly-joins-the-whole-internet-struggling-amid-php-vulnerabilities/" target="_blank">Steam</a> reportedly took precautionary measures to shut down their infrastructure while applying the patch.</p><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2113037994924163166"><p lang="en" dir="ltr">An update from Brewster Kahle on today's outage. https://t.co/Gukju5sKFO<a href="https://twitter.com/cantworkitout/status/2113037994924163166">October 21, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>Ironically, <a href="https://www.wiz.io/blog/php2shell-php-rce" target="_blank">Wiz Research</a> actually used Google’s Gemini 4 Argon AI model (alongside OpenAI’s GPT-5.6 Sol) to help find and validate the patch for this PHP flaw. So, while one AI is currently attacking the cloud, another AI is desperately trying to patch it.</p><h2 id="what-you-need-to-do">What you need to do</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="uCiNpmiJUVyk3jhtTgHpsa" name="PHP" alt="PHP" src="https://cdn.mos.cms.futurecdn.net/uCiNpmiJUVyk3jhtTgHpsa-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you are just a regular person trying to browse the web and get your work done, you don’t need to throw your laptop in a lake. But you do need to be on the defensive.</p><section class="howto-block">                    <h3>If you are a consumer</h3>                                        <p><p>This is the exact moment when credentials stolen in massive cloud breaches end up on the dark web. Assume your passwords have been swept up in the chaos. If you aren’t using a password manager or hardware-based multi-factor authentication (MFA), you are a sitting duck for an AI like ARTEX. Take some time to protect yourself.</p></p>                </section><section class="howto-block">                    <h3>If you are a business owner</h3>                                        <p><p>Call your web hosting provider or IT contractor immediately. Ask them two questions: “Have we applied the October 21 PHP security patches?” and “Are our Microsoft 365 OAuth applications audited?” If you get a blank stare or an awkward silence, you have a problem.</p></p>                </section><p>The internet may not be literally collapsing, but the walls are definitely shaking. When autonomous AI agents can breach thousands of cloud tenants before a human can even click on an alert, relying entirely on massive, centralized tech conglomerates to keep your data safe is a losing bet.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/macbooks/exclusive-apples-oled-macbook-pro-may-face-a-usd300-to-usd500-price-hike-to-protect-their-profits-from-ramageddon">Exclusive: Apple's OLED MacBook Pro may face a '$300 to $500' price hike to 'protect their profits' from RAMageddon</a></li><li><a href="https://www.tomsguide.com/computing/internet/elon-musk-reportedly-throttled-starlink-for-ukraines-drones-heres-how">Elon Musk reportedly throttled Starlink for Ukraine’s drones — here's how</a></li><li><a href="https://www.tomsguide.com/computing/cpus/ive-been-living-with-nvidias-rtx-spark-for-a-week-on-surface-laptop-ultra-its-not-a-macbook-pro-killer-but-something-much-weirder-and-wildly-powerful">I’ve been living with Nvidia’s RTX Spark for a week — it’s not a MacBook Pro killer but something much weirder and wildly powerful</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Elon Musk reportedly throttled Starlink for Ukraine’s drones — here's how ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Space-based internet is supposed to be the ultimate equalizer, beaming high-speed connectivity to even the most remote corners of the globe. But what happens when the CEO of your internet service provider decides to impose a hard speed limit?</p><p>That’s a good question, and we’re seeing the answer play out in real time. According to a new report from <a href="https://www.wsj.com/world/ukraine-starlink-elon-musk-trump-dbc49193" target="_blank">The Wall Street Journal</a>, Elon Musk ordered a slowdown of the military-grade version of Starlink relied on by Ukraine's military. </p><p>The move effectively blinded fast-moving strike and interceptor drones, rendering Ukraine unable to defend itself against Russia's attacks.</p><p>There is a messy political blame game happening right now between Musk, the Pentagon and the White House over who actually gave the order. Last Wednesday, Musk claimed that Starshield — the military application of Starlink — is controlled by the U.S. government. </p><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2110445577184133456"><p lang="en" dir="ltr">Starshield systems are owned and controlled by the US government. Any limits on speed or usage are decided by the US military and ultimately POTUS.Starlink is a commercial service owned and controlled by SpaceX. Usage of Starlink is limited to civilian or defensive activities and cannot be used for offensive military action, as doing so would be inappropriate for a commercial company.<a href="https://twitter.com/cantworkitout/status/2110445577184133456">October 14, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>However, on Tuesday, Secretary of Defense Pete Hegseth told reporters that “We haven’t made any directives or anything like that," according to the Journal.</p><p>Still, the Journal's report also says that Musk spoke with members of the administration, including Trump, before initiating the speed cap.</p><h2 id="tom-s-tech-explainer-a-99-mph-speed-limit">Tom’s tech explainer: A 99-mph speed limit</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5696px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FekmQRDmJG7ENNDuvi3QQm" name="GettyImages-2286198913" alt="Ukranian soldiers repair a drone during the war against Russia" src="https://cdn.mos.cms.futurecdn.net/FekmQRDmJG7ENNDuvi3QQm-1920-80.jpg" mos="" align="middle" fullscreen="" width="5696" height="3204" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>The restrictions reportedly imposed on the Starlink network were very specific: they targeted velocity.</p><p>According to Michael Kofman, a war expert at the Carnegie Endowment for International Peace, who was quoted in the WSJ article, the connection was throttled for devices traveling more than 99 miles per hour.</p><p>You might be wondering how an internet provider knows how fast your device is moving (I was confused too). Starlink dishes aren’t dumb antennas. To maintain a connection with satellites flying overhead in Low Earth Orbit, the dish has to constantly calculate its own position.</p><p>This is done with GPS to report exact coordinates and speed back to SpaceX’s servers. And because Starlink always knows these coordinates on a near-real-time basis, it is very simple for the company to write a software rule that says: “if this dish travels faster than a standard car on the highway, throttle the connection.”</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/turn-your-pdfs-into-audiobooks-with-chatgpt-heres-the-simple-trick"><u><strong>Turn your PDFs into audiobooks with ChatGPT — here's the simple trick</strong></u></a></li><li><a href="https://www.tomsguide.com/ai/ai-researcher-warns-cyberattacks-could-take-down-power-banking-and-water-within-a-year-heres-how-to-prepare"><strong>AI researcher warns cyberattacks could take down power, banking and water within a year — here's how to prepare</strong></a></li><li><a href="https://www.tomsguide.com/ai/an-openai-employee-allegedly-used-ai-to-spy-on-his-own-company-then-ai-helped-catch-him"><strong>An OpenAI employee allegedly used AI to spy on his own company — then AI helped catch him</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/internet/elon-musk-reportedly-throttled-starlink-for-ukraines-drones-heres-how</link>
                                                                            <description>
                            <![CDATA[ Elon Musk reportedly throttled Starlink on Ukraine drones with a 99-mph limit. Here is how the tech works. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">nhF9Qo92anwDnbTNJrBmcX</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/yWYHmwndPoQUZStATaHH4U-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 21 Oct 2026 16:02:36 +0000</pubDate>                                                                                                                                <updated>Wed, 21 Oct 2026 18:52:19 +0000</updated>
                                                                                                                                            <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/yWYHmwndPoQUZStATaHH4U-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Elon Musk]]></media:description>                                                            <media:text><![CDATA[Elon Musk]]></media:text>
                                <media:title type="plain"><![CDATA[Elon Musk]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/yWYHmwndPoQUZStATaHH4U-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Space-based internet is supposed to be the ultimate equalizer, beaming high-speed connectivity to even the most remote corners of the globe. But what happens when the CEO of your internet service provider decides to impose a hard speed limit?</p><p>That’s a good question, and we’re seeing the answer play out in real time. According to a new report from <a href="https://www.wsj.com/world/ukraine-starlink-elon-musk-trump-dbc49193" target="_blank">The Wall Street Journal</a>, Elon Musk ordered a slowdown of the military-grade version of Starlink relied on by Ukraine's military. </p><p>The move effectively blinded fast-moving strike and interceptor drones, rendering Ukraine unable to defend itself against Russia's attacks.</p><p>There is a messy political blame game happening right now between Musk, the Pentagon and the White House over who actually gave the order. Last Wednesday, Musk claimed that Starshield — the military application of Starlink — is controlled by the U.S. government. </p><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2110445577184133456"><p lang="en" dir="ltr">Starshield systems are owned and controlled by the US government. Any limits on speed or usage are decided by the US military and ultimately POTUS.Starlink is a commercial service owned and controlled by SpaceX. Usage of Starlink is limited to civilian or defensive activities and cannot be used for offensive military action, as doing so would be inappropriate for a commercial company.<a href="https://twitter.com/cantworkitout/status/2110445577184133456">October 14, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>However, on Tuesday, Secretary of Defense Pete Hegseth told reporters that “We haven’t made any directives or anything like that," according to the Journal.</p><p>Still, the Journal's report also says that Musk spoke with members of the administration, including Trump, before initiating the speed cap.</p><h2 id="tom-s-tech-explainer-a-99-mph-speed-limit">Tom’s tech explainer: A 99-mph speed limit</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5696px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FekmQRDmJG7ENNDuvi3QQm" name="GettyImages-2286198913" alt="Ukranian soldiers repair a drone during the war against Russia" src="https://cdn.mos.cms.futurecdn.net/FekmQRDmJG7ENNDuvi3QQm-1920-80.jpg" mos="" align="middle" fullscreen="" width="5696" height="3204" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>The restrictions reportedly imposed on the Starlink network were very specific: they targeted velocity.</p><p>According to Michael Kofman, a war expert at the Carnegie Endowment for International Peace, who was quoted in the WSJ article, the connection was throttled for devices traveling more than 99 miles per hour.</p><p>You might be wondering how an internet provider knows how fast your device is moving (I was confused too). Starlink dishes aren’t dumb antennas. To maintain a connection with satellites flying overhead in Low Earth Orbit, the dish has to constantly calculate its own position.</p><p>This is done with GPS to report exact coordinates and speed back to SpaceX’s servers. And because Starlink always knows these coordinates on a near-real-time basis, it is very simple for the company to write a software rule that says: “if this dish travels faster than a standard car on the highway, throttle the connection.”</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/turn-your-pdfs-into-audiobooks-with-chatgpt-heres-the-simple-trick"><u><strong>Turn your PDFs into audiobooks with ChatGPT — here's the simple trick</strong></u></a></li><li><a href="https://www.tomsguide.com/ai/ai-researcher-warns-cyberattacks-could-take-down-power-banking-and-water-within-a-year-heres-how-to-prepare"><strong>AI researcher warns cyberattacks could take down power, banking and water within a year — here's how to prepare</strong></a></li><li><a href="https://www.tomsguide.com/ai/an-openai-employee-allegedly-used-ai-to-spy-on-his-own-company-then-ai-helped-catch-him"><strong>An OpenAI employee allegedly used AI to spy on his own company — then AI helped catch him</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Elon Musk just changed X's algorithm — here's what could start showing up in your feed ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Elon Musk just announced two changes to X's recommendation algorithm, and they could affect what shows up in your For You feed. Instead of relying primarily on familiar engagement signals such as likes, reposts and replies, X is improving its ability to predict which posts will hold your attention and which ones you'll actually finish reading.</p><p>In an <a href="https://x.com/elonmusk/status/2112373713937084809" target="_blank">Monday post</a>, Musk outlined two updates: a new AI ranking model that better predicts how long someone is likely to spend viewing a post, and a retrieval model trained to find posts people read all the way through.</p><p>It's a potentially significant change for anyone who uses X.</p><h2 id="x-wants-to-know-what-keeps-your-attention">X wants to know what keeps your attention</h2><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2112373713937084809"><p lang="en" dir="ltr">Two important changes to timeline recommendations:- New AI/SI ranking model that predicts probable time spent much better- Retrieval model trained to surface posts people read all the way throughUser active seconds is growing exponentially and hitting all-time highs almost every day:<a href="https://twitter.com/cantworkitout/status/2112373713937084809">October 20, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>X already uses AI to determine which posts appear in your For You feed. According to the company's <a href="https://github.com/xai-org/x-algorithm" target="_blank">published recommendation algorithm</a>, the system pulls posts from accounts you follow and accounts you don't, then uses a model to predict how you're likely to interact with each one.</p><p>Those predictions include actions such as liking, replying, reposting and spending time viewing a post. So tracking attention isn't entirely new. The first update that involves the way X uses that information is that the model will get better at predicting how long someone will spend on a particular post. </p><p>So, that means, if you're scrolling past two posts about the same breaking news story, the one that has more likes isn't necessarily the one people will read. The one with the most details for readers could be what keeps them engaged. </p><p>A recommendation system that places greater emphasis on predicted reading time could give a less viral or less liked post the advantage. </p><p>The other update happens earlier in the recommendation process. X's new retrieval model is trained to surface posts that people read from beginning to end. Ranking determines which posts get priority among the candidates X has already found. Retrieval helps decide which posts make it into that group in the first place.</p><h2 id="what-could-start-appearing-in-your-feed">What could start appearing in your feed?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hBhUy8t3CJddkWbV6eD8J8" name="MuskGrok" alt="Elon Musk's face over Grok AI logo" src="https://cdn.mos.cms.futurecdn.net/hBhUy8t3CJddkWbV6eD8J8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: VINCENT FEURAY / Getty Images)</span></figcaption></figure><p>For readers, the most noticeable difference could be a shift toward posts that take longer to consume.</p><p>Detailed explanations, thoughtful threads and posts that encourage people to keep reading could potentially benefit. A useful breakdown of a complicated news story, for example, might attract attention even without an enormous number of likes.</p><p>The same could apply to posts from smaller accounts that consistently hold readers' attention. Since X already recommends content from people you don't follow, its updated retrieval model could help those posts reach new audiences.</p><p>But none of this guarantees that longer posts will suddenly dominate your timeline. A post's length doesn't necessarily determine whether someone finishes reading it. A short, compelling post might perform well because nearly everyone reads the whole thing, while a lengthy explanation could lose readers halfway through.</p><p>X also hasn't disclosed exactly how much influence the new models have compared with existing engagement signals. It's too early to say whether likes and reposts will become significantly less important.</p><p>Content that keeps people reading isn't always content that's helpful or accurate. An outrageous claim, an argument or a deliberately suspenseful story might hold someone's attention just as effectively as a useful explanation.</p><p>So with this restructuring, the more engaging story, may not be the one that's more "quality." </p><h2 id="musk-says-people-are-spending-more-time-on-x">Musk says people are spending more time on X</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:724px;"><p class="vanilla-image-block" style="padding-top:56.35%;"><img id="rLoFWF9RWLyNtYq5sAjV2b" name="Woman on phone in bed" alt="A woman with brown curly hair in bed on her phone as she battles phone addcition" src="https://cdn.mos.cms.futurecdn.net/rLoFWF9RWLyNtYq5sAjV2b-1920-80.jpg" mos="" align="middle" fullscreen="" width="724" height="408" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>Alongside the algorithm announcement, Musk shared a chart showing daily user active seconds on X. He claimed that the metric is growing exponentially and reaching new highs almost every day.</p><p>The chart suggests that time spent on the platform has increased, but the figures haven't been independently verified, and the available data doesn't establish exponential growth.</p><p>It's also unclear how much of that increase can be attributed to the latest recommendation models. Musk hasn't provided a detailed deployment timeline or evidence isolating their effect from other changes to X.</p><p>For a platform competing with TikTok, Instagram and other attention-driven apps, that makes sense. The longer someone stays on a platform, the more opportunities there are to show them content and advertising.</p><h2 id="the-takeaway">The takeaway </h2><p>The good news is that you don't have to rely entirely on X's recommendations. If your For You feed starts showing posts you aren't interested in, you can select the three-dot menu on a post and choose <strong>Not interested in this post</strong>. According to <a href="https://help.x.com/en/rules-and-policies/recommendations" target="_blank">X's Help Center</a>, that feedback helps the platform adjust future recommendations.</p><p>You can also mute accounts or keywords to reduce unwanted content. For a more straightforward experience, switch from <strong>For You</strong> to <strong>Following</strong> at the top of your timeline. That feed shows posts from accounts you follow in reverse chronological order, rather than using the same personalized recommendation system.</p><p>There's no need to change your settings immediately, though. X hasn't released enough information to establish precisely how individual feeds will change.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/turn-your-pdfs-into-audiobooks-with-chatgpt-heres-the-simple-trick"><strong>Turn your PDFs into audiobooks with ChatGPT — here's the simple trick</strong></a></li><li><a href="https://www.tomsguide.com/ai/ai-researcher-warns-cyberattacks-could-take-down-power-banking-and-water-within-a-year-heres-how-to-prepare"><strong>AI researcher warns cyberattacks could take down power, banking and water within a year — here's how to prepare </strong></a></li><li><a href="https://www.tomsguide.com/ai/an-openai-employee-allegedly-used-ai-to-spy-on-his-own-company-then-ai-helped-catch-him"><strong>An OpenAI employee allegedly used AI to spy on his own company — then AI helped catch him</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/elon-musk-just-changed-xs-algorithm-heres-what-could-start-showing-up-in-your-feed</link>
                                                                            <description>
                            <![CDATA[ Elon Musk has announced two changes to X's AI algorithm that could affect your For You feed. Here's what the updates mean for the posts you see. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">FNj7SbTUXLwjjwiT869B4E</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/npK5HCGmxVph7YMwyfVxJ5-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 20 Oct 2026 16:46:11 +0000</pubDate>                                                                                                                                <updated>Tue, 20 Oct 2026 18:08:04 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Social Media]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/npK5HCGmxVph7YMwyfVxJ5-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Elon Musk next to Grok on phone]]></media:description>                                                            <media:text><![CDATA[Elon Musk next to Grok on phone]]></media:text>
                                <media:title type="plain"><![CDATA[Elon Musk next to Grok on phone]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/npK5HCGmxVph7YMwyfVxJ5-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Elon Musk just announced two changes to X's recommendation algorithm, and they could affect what shows up in your For You feed. Instead of relying primarily on familiar engagement signals such as likes, reposts and replies, X is improving its ability to predict which posts will hold your attention and which ones you'll actually finish reading.</p><p>In an <a href="https://x.com/elonmusk/status/2112373713937084809" target="_blank">Monday post</a>, Musk outlined two updates: a new AI ranking model that better predicts how long someone is likely to spend viewing a post, and a retrieval model trained to find posts people read all the way through.</p><p>It's a potentially significant change for anyone who uses X.</p><h2 id="x-wants-to-know-what-keeps-your-attention">X wants to know what keeps your attention</h2><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2112373713937084809"><p lang="en" dir="ltr">Two important changes to timeline recommendations:- New AI/SI ranking model that predicts probable time spent much better- Retrieval model trained to surface posts people read all the way throughUser active seconds is growing exponentially and hitting all-time highs almost every day:<a href="https://twitter.com/cantworkitout/status/2112373713937084809">October 20, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>X already uses AI to determine which posts appear in your For You feed. According to the company's <a href="https://github.com/xai-org/x-algorithm" target="_blank">published recommendation algorithm</a>, the system pulls posts from accounts you follow and accounts you don't, then uses a model to predict how you're likely to interact with each one.</p><p>Those predictions include actions such as liking, replying, reposting and spending time viewing a post. So tracking attention isn't entirely new. The first update that involves the way X uses that information is that the model will get better at predicting how long someone will spend on a particular post. </p><p>So, that means, if you're scrolling past two posts about the same breaking news story, the one that has more likes isn't necessarily the one people will read. The one with the most details for readers could be what keeps them engaged. </p><p>A recommendation system that places greater emphasis on predicted reading time could give a less viral or less liked post the advantage. </p><p>The other update happens earlier in the recommendation process. X's new retrieval model is trained to surface posts that people read from beginning to end. Ranking determines which posts get priority among the candidates X has already found. Retrieval helps decide which posts make it into that group in the first place.</p><h2 id="what-could-start-appearing-in-your-feed">What could start appearing in your feed?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hBhUy8t3CJddkWbV6eD8J8" name="MuskGrok" alt="Elon Musk's face over Grok AI logo" src="https://cdn.mos.cms.futurecdn.net/hBhUy8t3CJddkWbV6eD8J8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: VINCENT FEURAY / Getty Images)</span></figcaption></figure><p>For readers, the most noticeable difference could be a shift toward posts that take longer to consume.</p><p>Detailed explanations, thoughtful threads and posts that encourage people to keep reading could potentially benefit. A useful breakdown of a complicated news story, for example, might attract attention even without an enormous number of likes.</p><p>The same could apply to posts from smaller accounts that consistently hold readers' attention. Since X already recommends content from people you don't follow, its updated retrieval model could help those posts reach new audiences.</p><p>But none of this guarantees that longer posts will suddenly dominate your timeline. A post's length doesn't necessarily determine whether someone finishes reading it. A short, compelling post might perform well because nearly everyone reads the whole thing, while a lengthy explanation could lose readers halfway through.</p><p>X also hasn't disclosed exactly how much influence the new models have compared with existing engagement signals. It's too early to say whether likes and reposts will become significantly less important.</p><p>Content that keeps people reading isn't always content that's helpful or accurate. An outrageous claim, an argument or a deliberately suspenseful story might hold someone's attention just as effectively as a useful explanation.</p><p>So with this restructuring, the more engaging story, may not be the one that's more "quality." </p><h2 id="musk-says-people-are-spending-more-time-on-x">Musk says people are spending more time on X</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:724px;"><p class="vanilla-image-block" style="padding-top:56.35%;"><img id="rLoFWF9RWLyNtYq5sAjV2b" name="Woman on phone in bed" alt="A woman with brown curly hair in bed on her phone as she battles phone addcition" src="https://cdn.mos.cms.futurecdn.net/rLoFWF9RWLyNtYq5sAjV2b-1920-80.jpg" mos="" align="middle" fullscreen="" width="724" height="408" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>Alongside the algorithm announcement, Musk shared a chart showing daily user active seconds on X. He claimed that the metric is growing exponentially and reaching new highs almost every day.</p><p>The chart suggests that time spent on the platform has increased, but the figures haven't been independently verified, and the available data doesn't establish exponential growth.</p><p>It's also unclear how much of that increase can be attributed to the latest recommendation models. Musk hasn't provided a detailed deployment timeline or evidence isolating their effect from other changes to X.</p><p>For a platform competing with TikTok, Instagram and other attention-driven apps, that makes sense. The longer someone stays on a platform, the more opportunities there are to show them content and advertising.</p><h2 id="the-takeaway">The takeaway </h2><p>The good news is that you don't have to rely entirely on X's recommendations. If your For You feed starts showing posts you aren't interested in, you can select the three-dot menu on a post and choose <strong>Not interested in this post</strong>. According to <a href="https://help.x.com/en/rules-and-policies/recommendations" target="_blank">X's Help Center</a>, that feedback helps the platform adjust future recommendations.</p><p>You can also mute accounts or keywords to reduce unwanted content. For a more straightforward experience, switch from <strong>For You</strong> to <strong>Following</strong> at the top of your timeline. That feed shows posts from accounts you follow in reverse chronological order, rather than using the same personalized recommendation system.</p><p>There's no need to change your settings immediately, though. X hasn't released enough information to establish precisely how individual feeds will change.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/turn-your-pdfs-into-audiobooks-with-chatgpt-heres-the-simple-trick"><strong>Turn your PDFs into audiobooks with ChatGPT — here's the simple trick</strong></a></li><li><a href="https://www.tomsguide.com/ai/ai-researcher-warns-cyberattacks-could-take-down-power-banking-and-water-within-a-year-heres-how-to-prepare"><strong>AI researcher warns cyberattacks could take down power, banking and water within a year — here's how to prepare </strong></a></li><li><a href="https://www.tomsguide.com/ai/an-openai-employee-allegedly-used-ai-to-spy-on-his-own-company-then-ai-helped-catch-him"><strong>An OpenAI employee allegedly used AI to spy on his own company — then AI helped catch him</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 7 warning signs your Android phone or iPhone has malware ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Whether you missclicked or downloaded the wrong file, malware can infect your Android device or iPhone and you might not have even noticed. There are some signs that are completely obvious, but others are a little more discreet and take some snooping around to suss out. </p><p>Here are some warning signs that you might have an unwanted guest on your smartphone.</p><h2 id="pop-up-ads">Pop-up ads</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:57.30%;"><img id="tLHcWev96obw6homU7wv9K" name="smartphone-shock4-shst.jpg" alt="Dark-haired woman looking at smartphone screen in shock." src="https://cdn.mos.cms.futurecdn.net/tLHcWev96obw6homU7wv9K-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="573" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: fizkes/Shutterstock)</span></figcaption></figure><p>Advertisements spamming your phone, especially outside of an app, is a dead giveaway. Don’t ignore the problem, even if you’re a fan of <em>Neon Genesis Evangelion</em> who really appreciates seeing “CONGRATULATIONS” spread across their screen.</p><h2 id="new-apps">New apps</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="QN2HNhCkPpUY63qpwesSwP" name="delete-apps-a.jpeg" alt="How to delete apps on an iPhone" src="https://cdn.mos.cms.futurecdn.net/QN2HNhCkPpUY63qpwesSwP-1920-80.jpeg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If your phone is packing a ridiculous number of applications like mine, then you might not notice when a new app creeps into your system. For both the sake of spotting malware and cleaning up your library of unused apps, it's worth taking the time to <a href="https://www.tomsguide.com/news/older-apps-could-be-putting-your-smartphone-at-risk-heres-why">audit your current apps</a>.</p><h2 id="shorter-battery-life">Shorter battery life</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rwgm52Uz2NwV9UfhqRdYcG" name="low battery 3.jpg" alt="A person in a coffee shop holding a phone displaying the low battery symbol" src="https://cdn.mos.cms.futurecdn.net/rwgm52Uz2NwV9UfhqRdYcG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>Malware does a lot in the background to wreak havoc on your device, and that takes power. So one of the telltale signs of malware infecting your device is if you experience shorter battery life. Battery life can vary, especially as a phone ages, so I recommend looking up the average battery life for your device to see if there's an obvious discrepancy.</p><h2 id="performance-issues">Performance issues</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5335px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="n26b6mgXGma49crWHdPqRJ" name="Irritation.jpg" alt="Man looking frustrated at his smartphone while sitting on a couch" src="https://cdn.mos.cms.futurecdn.net/n26b6mgXGma49crWHdPqRJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="5335" height="3001" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Got a brand new phone and all of a sudden everything slows down to a crawl? Are apps randomly crashing on you? This is another sign that malware may have crept onto your device. This may be more difficult to spot on phones already experiencing slower performance, so keep an eye out for other signs if that’s the case.</p><h2 id="overheating">Overheating</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5442px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="QWukPddzqa59Pmt6TYGGoJ" name="woman at beach holding phone" alt="woman at beach holding phone" src="https://cdn.mos.cms.futurecdn.net/QWukPddzqa59Pmt6TYGGoJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="5442" height="3061" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Credit: Oscar Wong/Getty)</span></figcaption></figure><p>Unless you still have a Samsung Galaxy Note 7 hanging around, which you shouldn't, your device should not be scorching your hand. If your smartphone is spamming you with overheating warnings or is straight up crashing, especially in temperate environments, there might be a virus giving your phone a fever (my dad joke for the day).</p><h2 id="abnormal-data-usage">Abnormal data usage</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4030px;"><p class="vanilla-image-block" style="padding-top:57.87%;"><img id="xMPGeG7xLEP7j8fWxskCoS" name="iPhone 14 Pro Max speed test 2.jpg" alt="iPhone 14 Pro Max speed test app" src="https://cdn.mos.cms.futurecdn.net/xMPGeG7xLEP7j8fWxskCoS-1920-80.jpg" mos="" align="middle" fullscreen="" width="4030" height="2332" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Unless you have a limited data plan and are remaining vigilant about your usage, it’s unlikely you’ll notice malware taking up all your data. Unlimited data users who have never checked their data metrics need to be more alert. It doesn’t hurt to check your data usage every once in a while, if not to see what apps you’re maybe spending a little too much time on.</p><h2 id="your-contacts-get-spam">Your contacts get spam</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1526px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="pdgMsdqQhFmPcrFWFJF9xg" name="texting" alt="Using smartphone" src="https://cdn.mos.cms.futurecdn.net/pdgMsdqQhFmPcrFWFJF9xg-1920-80.png" mos="" align="middle" fullscreen="" width="1526" height="859" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The most embarrassing and frustrating sign of malware is all your friends and family getting hit with <a href="https://www.tomsguide.com/how-to/how-to-block-and-report-spam-text-messages">spam messages</a> that can potentially affect <em>their</em> devices. You’ll likely hear about this sooner than later, but as someone who doesn’t actually use SMS to contact people, it doesn’t hurt to check your default messaging app. Hopefully your contacts know what you sound like versus a spam bot imitating you, but the sooner you alert people the better.</p><h2 id="what-you-can-do">What you can do</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5000px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="r7Spa4g9ekv8KJBVn87JMb" name="smartphone malware android.jpg" alt="mobile, malware" src="https://cdn.mos.cms.futurecdn.net/r7Spa4g9ekv8KJBVn87JMb-1920-80.jpg" mos="" align="middle" fullscreen="" width="5000" height="2813" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>If you’re still not 100% certain whether or not your device is carrying around malware, there’s a few things you can do.</p><p>For iPhone users, navigate to <strong>Settings > General > VPN & Device Management</strong> to check if any unknown profiles are installed. If you don’t find anything here, go to <strong>Settings > Privacy & Security</strong> and check on your app permissions. This might be a bit tedious, but you should do a step by step inventory of app permissions and revoke access to apps that you aren't using, and delete ones that you don’t recognize.</p><p>For Android users, go to <strong>Google Play > tap your profile picture</strong> <strong>> Play Protect</strong>. This will scan your device for any harmful apps. It typically runs automatically, but it doesn’t hurt to do a manual check.</p><p>If you don’t find anything going down these routes, Android users can download one of the <a href="https://www.tomsguide.com/best-picks/best-android-antivirus">best Android antivirus software</a> solutions, which can not only help locate malware but also delete it. Unfortunately, iPhone users don’t have access to traditional antivirus software because of how Apple sandboxes each app, but you can download security apps that can detect data breaches.</p><p>If you can’t manage to track down the issue, then resetting your device to factory settings may be the next step. In this case, you should set up your smartphone as a new device, as any backups can bring with it the malware that infected the system to begin with. Then reintroduce apps and services one by one to see if the issue continues, and if it happens again, you’ll know where the call inside the house is coming from and you can get rid of it — it could be something as simple as a browser extension.</p><p>I highly recommend <a href="https://www.tomsguide.com/opinion/im-a-security-editor-and-this-is-how-i-create-strong-passwords-that-are-also-easy-to-remember">changing passwords</a> on critical services, like banking apps, using a <em>different</em> device. Monitor your smartphone for a while to see if the issue has been addressed before relogging into any sensitive apps.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/5-fast-steps-to-take-immediately-after-a-company-leaks-your-personal-data"><strong>5 fast steps to take immediately after a company leaks your personal data</strong></a></li><li><a href="https://www.tomsguide.com/computing/online-security/3-hidden-macos-security-features-you-need-to-turn-on-right-now"><strong>3 hidden macOS security features you need to turn on right now</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/malware-adware/7-warning-signs-your-android-phone-or-iphone-has-malware</link>
                                                                            <description>
                            <![CDATA[ Is your smartphone acting strange? Here are some telltale signs that you might’ve been exposed to malware. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">VuYdzeWzyRae4N9cDutmTP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/cwRFzENi5HprPyLvazNizd-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 19 Oct 2026 09:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Malware & Adware]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Online Security]]></category>
                                                                                                                    <dc:creator><![CDATA[ Rami Tabari ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Du7gwfP2FPAQuuhcMnakHf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/cwRFzENi5HprPyLvazNizd-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A person holding a phone with a malware warning on screen]]></media:description>                                                            <media:text><![CDATA[A person holding a phone with a malware warning on screen]]></media:text>
                                <media:title type="plain"><![CDATA[A person holding a phone with a malware warning on screen]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/cwRFzENi5HprPyLvazNizd-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Whether you missclicked or downloaded the wrong file, malware can infect your Android device or iPhone and you might not have even noticed. There are some signs that are completely obvious, but others are a little more discreet and take some snooping around to suss out. </p><p>Here are some warning signs that you might have an unwanted guest on your smartphone.</p><h2 id="pop-up-ads">Pop-up ads</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:57.30%;"><img id="tLHcWev96obw6homU7wv9K" name="smartphone-shock4-shst.jpg" alt="Dark-haired woman looking at smartphone screen in shock." src="https://cdn.mos.cms.futurecdn.net/tLHcWev96obw6homU7wv9K-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="573" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: fizkes/Shutterstock)</span></figcaption></figure><p>Advertisements spamming your phone, especially outside of an app, is a dead giveaway. Don’t ignore the problem, even if you’re a fan of <em>Neon Genesis Evangelion</em> who really appreciates seeing “CONGRATULATIONS” spread across their screen.</p><h2 id="new-apps">New apps</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="QN2HNhCkPpUY63qpwesSwP" name="delete-apps-a.jpeg" alt="How to delete apps on an iPhone" src="https://cdn.mos.cms.futurecdn.net/QN2HNhCkPpUY63qpwesSwP-1920-80.jpeg" mos="" align="middle" fullscreen="" width="2000" height="1124" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If your phone is packing a ridiculous number of applications like mine, then you might not notice when a new app creeps into your system. For both the sake of spotting malware and cleaning up your library of unused apps, it's worth taking the time to <a href="https://www.tomsguide.com/news/older-apps-could-be-putting-your-smartphone-at-risk-heres-why">audit your current apps</a>.</p><h2 id="shorter-battery-life">Shorter battery life</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rwgm52Uz2NwV9UfhqRdYcG" name="low battery 3.jpg" alt="A person in a coffee shop holding a phone displaying the low battery symbol" src="https://cdn.mos.cms.futurecdn.net/rwgm52Uz2NwV9UfhqRdYcG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>Malware does a lot in the background to wreak havoc on your device, and that takes power. So one of the telltale signs of malware infecting your device is if you experience shorter battery life. Battery life can vary, especially as a phone ages, so I recommend looking up the average battery life for your device to see if there's an obvious discrepancy.</p><h2 id="performance-issues">Performance issues</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5335px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="n26b6mgXGma49crWHdPqRJ" name="Irritation.jpg" alt="Man looking frustrated at his smartphone while sitting on a couch" src="https://cdn.mos.cms.futurecdn.net/n26b6mgXGma49crWHdPqRJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="5335" height="3001" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Got a brand new phone and all of a sudden everything slows down to a crawl? Are apps randomly crashing on you? This is another sign that malware may have crept onto your device. This may be more difficult to spot on phones already experiencing slower performance, so keep an eye out for other signs if that’s the case.</p><h2 id="overheating">Overheating</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5442px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="QWukPddzqa59Pmt6TYGGoJ" name="woman at beach holding phone" alt="woman at beach holding phone" src="https://cdn.mos.cms.futurecdn.net/QWukPddzqa59Pmt6TYGGoJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="5442" height="3061" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Credit: Oscar Wong/Getty)</span></figcaption></figure><p>Unless you still have a Samsung Galaxy Note 7 hanging around, which you shouldn't, your device should not be scorching your hand. If your smartphone is spamming you with overheating warnings or is straight up crashing, especially in temperate environments, there might be a virus giving your phone a fever (my dad joke for the day).</p><h2 id="abnormal-data-usage">Abnormal data usage</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4030px;"><p class="vanilla-image-block" style="padding-top:57.87%;"><img id="xMPGeG7xLEP7j8fWxskCoS" name="iPhone 14 Pro Max speed test 2.jpg" alt="iPhone 14 Pro Max speed test app" src="https://cdn.mos.cms.futurecdn.net/xMPGeG7xLEP7j8fWxskCoS-1920-80.jpg" mos="" align="middle" fullscreen="" width="4030" height="2332" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Unless you have a limited data plan and are remaining vigilant about your usage, it’s unlikely you’ll notice malware taking up all your data. Unlimited data users who have never checked their data metrics need to be more alert. It doesn’t hurt to check your data usage every once in a while, if not to see what apps you’re maybe spending a little too much time on.</p><h2 id="your-contacts-get-spam">Your contacts get spam</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1526px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="pdgMsdqQhFmPcrFWFJF9xg" name="texting" alt="Using smartphone" src="https://cdn.mos.cms.futurecdn.net/pdgMsdqQhFmPcrFWFJF9xg-1920-80.png" mos="" align="middle" fullscreen="" width="1526" height="859" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The most embarrassing and frustrating sign of malware is all your friends and family getting hit with <a href="https://www.tomsguide.com/how-to/how-to-block-and-report-spam-text-messages">spam messages</a> that can potentially affect <em>their</em> devices. You’ll likely hear about this sooner than later, but as someone who doesn’t actually use SMS to contact people, it doesn’t hurt to check your default messaging app. Hopefully your contacts know what you sound like versus a spam bot imitating you, but the sooner you alert people the better.</p><h2 id="what-you-can-do">What you can do</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5000px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="r7Spa4g9ekv8KJBVn87JMb" name="smartphone malware android.jpg" alt="mobile, malware" src="https://cdn.mos.cms.futurecdn.net/r7Spa4g9ekv8KJBVn87JMb-1920-80.jpg" mos="" align="middle" fullscreen="" width="5000" height="2813" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>If you’re still not 100% certain whether or not your device is carrying around malware, there’s a few things you can do.</p><p>For iPhone users, navigate to <strong>Settings > General > VPN & Device Management</strong> to check if any unknown profiles are installed. If you don’t find anything here, go to <strong>Settings > Privacy & Security</strong> and check on your app permissions. This might be a bit tedious, but you should do a step by step inventory of app permissions and revoke access to apps that you aren't using, and delete ones that you don’t recognize.</p><p>For Android users, go to <strong>Google Play > tap your profile picture</strong> <strong>> Play Protect</strong>. This will scan your device for any harmful apps. It typically runs automatically, but it doesn’t hurt to do a manual check.</p><p>If you don’t find anything going down these routes, Android users can download one of the <a href="https://www.tomsguide.com/best-picks/best-android-antivirus">best Android antivirus software</a> solutions, which can not only help locate malware but also delete it. Unfortunately, iPhone users don’t have access to traditional antivirus software because of how Apple sandboxes each app, but you can download security apps that can detect data breaches.</p><p>If you can’t manage to track down the issue, then resetting your device to factory settings may be the next step. In this case, you should set up your smartphone as a new device, as any backups can bring with it the malware that infected the system to begin with. Then reintroduce apps and services one by one to see if the issue continues, and if it happens again, you’ll know where the call inside the house is coming from and you can get rid of it — it could be something as simple as a browser extension.</p><p>I highly recommend <a href="https://www.tomsguide.com/opinion/im-a-security-editor-and-this-is-how-i-create-strong-passwords-that-are-also-easy-to-remember">changing passwords</a> on critical services, like banking apps, using a <em>different</em> device. Monitor your smartphone for a while to see if the issue has been addressed before relogging into any sensitive apps.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/5-fast-steps-to-take-immediately-after-a-company-leaks-your-personal-data"><strong>5 fast steps to take immediately after a company leaks your personal data</strong></a></li><li><a href="https://www.tomsguide.com/computing/online-security/3-hidden-macos-security-features-you-need-to-turn-on-right-now"><strong>3 hidden macOS security features you need to turn on right now</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 5 fast steps to take immediately after a company leaks your personal data ]]></title>
                                                                                                <dc:content><![CDATA[ <p>No matter how diligent you are about privacy and security, there’s nothing stopping a company from leaking your personal data and leaving you exposed to malicious actors. You have to act quickly when there’s a <a href="https://www.tomsguide.com/computing/online-security/over-150-million-drivers-licenses-stolen-in-massive-data-breach-after-hackers-reportedly-hit-major-identity-verification-company-what-to-do-now">data breach</a>, especially if it’s a serious one.</p><p>In 2025 alone, the Federal Trade Commission (FTC) reported fraud and identity theft losses of over <a href="https://www.experian.com/blogs/ask-experian/identity-theft-statistics/" target="_blank">$15.8 billion</a>. Leaks in your personal data can be a slippery slope, so here are the steps you should take to address them.</p><h2 id="assess-the-leak">Assess the leak</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5616px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hMR4ZwTSEybqhZLtxQ5qj8" name="shutterstock_1173702388.jpg" alt="A shocked couple realizing they've been scammed" src="https://cdn.mos.cms.futurecdn.net/hMR4ZwTSEybqhZLtxQ5qj8-1920-80.jpg" mos="" align="middle" fullscreen="" width="5616" height="3159" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Don’t panic. Take a deep breath. The first thing you need to do above all else is identify what information has been breached exactly. This could be anything as simple as an email address or as serious as a <a href="https://www.tomsguide.com/computing/identity-theft-protection/you-can-lock-your-social-security-number-for-free-heres-how-to-do-it">Social Security number</a>. </p><p>If it’s the former, it’s likely all you’ll be a victim to is a litany of scam emails, in which case you’ll need to be more scrupulous while looking through your inbox. But if it’s something more than that, you should continue on to the next steps.</p><h2 id="change-your-passwords-and-activate-mfa">Change your passwords and activate MFA</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7iaq4Tt8CWUptBtxirNXgR" name="shutterstock_1505705657-2.jpg" alt="A person entering their password on a smartphone in a crowded location" src="https://cdn.mos.cms.futurecdn.net/7iaq4Tt8CWUptBtxirNXgR-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Account information like passwords are among the most common leaks, and while it should go without saying that you should <a href="https://www.tomsguide.com/phones/iphones/ios-27s-new-ai-feature-will-automatically-fix-your-weak-passwords-how-to-set-it-up">change your passwords</a>, you need to take some additional steps to maintain your security.</p><p>First, you should use a unique password for every account that you have, so that multiple accounts aren’t at risk because of one breach. You can achieve that more easily with a strong password manager. Second, you need to enable two-factor authentication (2FA) or multifactor authentication (MFA) if it’s available on that account. This’ll add another layer of security so even if your passwords were leaked, hackers shouldn’t be able to access your account.</p><h2 id="contact-your-bank-and-credit-card-companies">Contact your bank and credit card companies</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FkDGmmjeQVkvZ6agi6D2MH" name="TG_Credit-card-debt_2.jpg" alt="Man holding credit card" src="https://cdn.mos.cms.futurecdn.net/FkDGmmjeQVkvZ6agi6D2MH-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>If your banking and credit card credentials have been leaked, immediately contact your financial institutions. In the most ideal scenario, acquire a new banking account or credit card number. If that’s not possible, however, you should be able to place a <a href="https://www.tomsguide.com/what-is-a-data-breach-notification-letter">fraud alert</a> on your accounts. </p><p>Going forward, you should keep a close eye on your accounts, even in the coming year. If your information is out there, it could be abused at any time, not necessarily immediately.</p><h2 id="freeze-your-credit">Freeze your credit</h2><p>In the event of a serious breach, specifically one where your social security number is leaked, you need to freeze your credit immediately. This will stop anyone from trying to take out a loan or a new credit card in your name. </p><p>You’ll need to contact the three credit bureaus individually — that’s <a href="https://www.equifax.com/personal/credit-report-services/credit-freeze/" target="_blank">Equifax Credit</a>, <a href="https://www.experian.com/freeze/center.html" target="_blank">Experian Credit</a>, and <a href="https://www.transunion.com/credit-freeze" target="_blank">TransUnion Credit</a>. Freezing your credit is free and you can lift the freeze whenever you want. However, unless you get a new social security number, which is very difficult to do, you should keep the freeze on your credit and only temporarily lift it when you need to apply for new credit, like a mortgage. There are also credit checks that you might need to undergo for an employer or landlord, which could require a temporary lift.</p><h2 id="report-identity-theft">Report identity theft</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3220px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="3Z3Wti6A7WPFu3GSjmXoDd" name="shutterstock_48106810.jpg" alt="Hacker using a stolen social security card" src="https://cdn.mos.cms.futurecdn.net/3Z3Wti6A7WPFu3GSjmXoDd-1920-80.jpg" mos="" align="middle" fullscreen="" width="3220" height="1811" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blazej Lyjak/Shutterstock)</span></figcaption></figure><p>In the absolute worst case scenario, where all your vital personal information is leaked, someone may attempt to steal your identity. Unfortunately, <a href="https://www.tomsguide.com/opinion/i-review-id-protection-services-and-these-10-things-help-me-secure-my-identity-online">identity theft</a> could get bad very quickly, especially if said perpetrator is committing crimes under your name. </p><p>If you believe you’re a victim of identity theft, you need to go to <a href="https://identitytheft.gov/" target="_blank">IdentityTheft.gov</a> and file a report with the FTC. From there, follow the steps it lays out for you to get this under control.</p><h2 id="bottom-line-2">Bottom line</h2><p>Once your information is out in the open, there's no taking it back. But inaction could lead to some serious repercussions. Once you've dealt with your current breach, do yourself a favor and take the time to secure accounts with other companies. Things like setting up unique passwords and enabling 2FA or MFA will save you some trouble down the road.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/online-security/3-hidden-macos-security-features-you-need-to-turn-on-right-now"><strong>3 hidden macOS security features you need to turn on right now</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/ai-scams-are-getting-scary-realistic-4-red-flags-to-watch-out-for"><strong>AI scams are getting scary realistic — 4 red flags to watch out for</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/5-fast-steps-to-take-immediately-after-a-company-leaks-your-personal-data</link>
                                                                            <description>
                            <![CDATA[ If a company just leaked your personal data, you need to act quickly before things spiral. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">qdVHW8DjrxcK6bdPepCEWY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/pC3TgK4ow5FhpQkFxGfCS5-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 16 Oct 2026 09:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Rami Tabari ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Du7gwfP2FPAQuuhcMnakHf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/pC3TgK4ow5FhpQkFxGfCS5-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An open lock depicting a data breach]]></media:description>                                                            <media:text><![CDATA[An open lock depicting a data breach]]></media:text>
                                <media:title type="plain"><![CDATA[An open lock depicting a data breach]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/pC3TgK4ow5FhpQkFxGfCS5-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>No matter how diligent you are about privacy and security, there’s nothing stopping a company from leaking your personal data and leaving you exposed to malicious actors. You have to act quickly when there’s a <a href="https://www.tomsguide.com/computing/online-security/over-150-million-drivers-licenses-stolen-in-massive-data-breach-after-hackers-reportedly-hit-major-identity-verification-company-what-to-do-now">data breach</a>, especially if it’s a serious one.</p><p>In 2025 alone, the Federal Trade Commission (FTC) reported fraud and identity theft losses of over <a href="https://www.experian.com/blogs/ask-experian/identity-theft-statistics/" target="_blank">$15.8 billion</a>. Leaks in your personal data can be a slippery slope, so here are the steps you should take to address them.</p><h2 id="assess-the-leak">Assess the leak</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5616px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hMR4ZwTSEybqhZLtxQ5qj8" name="shutterstock_1173702388.jpg" alt="A shocked couple realizing they've been scammed" src="https://cdn.mos.cms.futurecdn.net/hMR4ZwTSEybqhZLtxQ5qj8-1920-80.jpg" mos="" align="middle" fullscreen="" width="5616" height="3159" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Don’t panic. Take a deep breath. The first thing you need to do above all else is identify what information has been breached exactly. This could be anything as simple as an email address or as serious as a <a href="https://www.tomsguide.com/computing/identity-theft-protection/you-can-lock-your-social-security-number-for-free-heres-how-to-do-it">Social Security number</a>. </p><p>If it’s the former, it’s likely all you’ll be a victim to is a litany of scam emails, in which case you’ll need to be more scrupulous while looking through your inbox. But if it’s something more than that, you should continue on to the next steps.</p><h2 id="change-your-passwords-and-activate-mfa">Change your passwords and activate MFA</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7iaq4Tt8CWUptBtxirNXgR" name="shutterstock_1505705657-2.jpg" alt="A person entering their password on a smartphone in a crowded location" src="https://cdn.mos.cms.futurecdn.net/7iaq4Tt8CWUptBtxirNXgR-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Account information like passwords are among the most common leaks, and while it should go without saying that you should <a href="https://www.tomsguide.com/phones/iphones/ios-27s-new-ai-feature-will-automatically-fix-your-weak-passwords-how-to-set-it-up">change your passwords</a>, you need to take some additional steps to maintain your security.</p><p>First, you should use a unique password for every account that you have, so that multiple accounts aren’t at risk because of one breach. You can achieve that more easily with a strong password manager. Second, you need to enable two-factor authentication (2FA) or multifactor authentication (MFA) if it’s available on that account. This’ll add another layer of security so even if your passwords were leaked, hackers shouldn’t be able to access your account.</p><h2 id="contact-your-bank-and-credit-card-companies">Contact your bank and credit card companies</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FkDGmmjeQVkvZ6agi6D2MH" name="TG_Credit-card-debt_2.jpg" alt="Man holding credit card" src="https://cdn.mos.cms.futurecdn.net/FkDGmmjeQVkvZ6agi6D2MH-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>If your banking and credit card credentials have been leaked, immediately contact your financial institutions. In the most ideal scenario, acquire a new banking account or credit card number. If that’s not possible, however, you should be able to place a <a href="https://www.tomsguide.com/what-is-a-data-breach-notification-letter">fraud alert</a> on your accounts. </p><p>Going forward, you should keep a close eye on your accounts, even in the coming year. If your information is out there, it could be abused at any time, not necessarily immediately.</p><h2 id="freeze-your-credit">Freeze your credit</h2><p>In the event of a serious breach, specifically one where your social security number is leaked, you need to freeze your credit immediately. This will stop anyone from trying to take out a loan or a new credit card in your name. </p><p>You’ll need to contact the three credit bureaus individually — that’s <a href="https://www.equifax.com/personal/credit-report-services/credit-freeze/" target="_blank">Equifax Credit</a>, <a href="https://www.experian.com/freeze/center.html" target="_blank">Experian Credit</a>, and <a href="https://www.transunion.com/credit-freeze" target="_blank">TransUnion Credit</a>. Freezing your credit is free and you can lift the freeze whenever you want. However, unless you get a new social security number, which is very difficult to do, you should keep the freeze on your credit and only temporarily lift it when you need to apply for new credit, like a mortgage. There are also credit checks that you might need to undergo for an employer or landlord, which could require a temporary lift.</p><h2 id="report-identity-theft">Report identity theft</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3220px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="3Z3Wti6A7WPFu3GSjmXoDd" name="shutterstock_48106810.jpg" alt="Hacker using a stolen social security card" src="https://cdn.mos.cms.futurecdn.net/3Z3Wti6A7WPFu3GSjmXoDd-1920-80.jpg" mos="" align="middle" fullscreen="" width="3220" height="1811" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blazej Lyjak/Shutterstock)</span></figcaption></figure><p>In the absolute worst case scenario, where all your vital personal information is leaked, someone may attempt to steal your identity. Unfortunately, <a href="https://www.tomsguide.com/opinion/i-review-id-protection-services-and-these-10-things-help-me-secure-my-identity-online">identity theft</a> could get bad very quickly, especially if said perpetrator is committing crimes under your name. </p><p>If you believe you’re a victim of identity theft, you need to go to <a href="https://identitytheft.gov/" target="_blank">IdentityTheft.gov</a> and file a report with the FTC. From there, follow the steps it lays out for you to get this under control.</p><h2 id="bottom-line-2">Bottom line</h2><p>Once your information is out in the open, there's no taking it back. But inaction could lead to some serious repercussions. Once you've dealt with your current breach, do yourself a favor and take the time to secure accounts with other companies. Things like setting up unique passwords and enabling 2FA or MFA will save you some trouble down the road.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/online-security/3-hidden-macos-security-features-you-need-to-turn-on-right-now"><strong>3 hidden macOS security features you need to turn on right now</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/ai-scams-are-getting-scary-realistic-4-red-flags-to-watch-out-for"><strong>AI scams are getting scary realistic — 4 red flags to watch out for</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Surfshark goes early with its Black Friday VPN deal – get free antivirus with unlimited VPN usage ]]></title>
                                                                                                <dc:content><![CDATA[ <p>We're starting to see some <a href="https://www.tomsguide.com/best-picks/vpn-black-friday-deals">Black Friday VPN deals</a> arrive, and this one is worth stopping for. Surfshark has just dropped an exclusive offer for Tom’s Guide and TechRadar readers, and it’s the strongest pricing I’ve seen on Surfshark One all year.</p><p>The deal gives you Surfshark One – which bundles the full VPN with antivirus, data breach alerts, and a private search engine – for the same monthly rate as the basic Starter plan: <a href="http://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"><strong>$2.49 a month</strong></a>, paid upfront at $67.23 for two years. That’s a genuine upgrade at no extra cost, and a price you won’t find if you head to Surfshark’s own site directly.</p><p>If Surfshark has been sitting on your shortlist of <a href="https://www.tomsguide.com/best-picks/best-vpn">best VPNs</a>, this limited-time offer makes it a much easier decision.</p><div class="product"><a data-dimension112="375cfb40-c874-11f1-bfb0-f15a41a669b4" data-action="Deal Block" data-label="Surfshark One | $2.49 per month | 2 Years + 3 months FREEWe rate Surfshark as the best value VPN on the market &ndash; fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.What you'll get...&#128737;&#65039; Full VPN with unlimited simultaneous connections&#128274; Avira-backed antivirus included &#128269; Private search and data breach alerts&#128203; 30-day money-back guaranteeA 24-month plan costs $2.49 per month ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free. Surfshark One | $2.49 per month | 2 Years + 3 months FREE" data-dimension48="Surfshark One | $2.49 per month | 2 Years + 3 months FREEWe rate Surfshark as the best value VPN on the market &ndash; fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.What you'll get...&#128737;&#65039; Full VPN with unlimited simultaneous connections&#128274; Avira-backed antivirus included &#128269; Private search and data breach alerts&#128203; 30-day money-back guaranteeA 24-month plan costs $2.49 per month ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free. Surfshark One | $2.49 per month | 2 Years + 3 months FREE" href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="x4SGepskASoVFVWSk3UDYV" name="Surfshark square deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/x4SGepskASoVFVWSk3UDYV-1920-80.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong></strong><a href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow" data-dimension112="375cfb40-c874-11f1-bfb0-f15a41a669b4" data-action="Deal Block" data-label="Surfshark One | $2.49 per month | 2 Years + 3 months FREEWe rate Surfshark as the best value VPN on the market &ndash; fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.What you'll get...&#128737;&#65039; Full VPN with unlimited simultaneous connections&#128274; Avira-backed antivirus included &#128269; Private search and data breach alerts&#128203; 30-day money-back guaranteeA 24-month plan costs $2.49 per month ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free. Surfshark One | $2.49 per month | 2 Years + 3 months FREE" data-dimension48="Surfshark One | $2.49 per month | 2 Years + 3 months FREEWe rate Surfshark as the best value VPN on the market &ndash; fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.What you'll get...&#128737;&#65039; Full VPN with unlimited simultaneous connections&#128274; Avira-backed antivirus included &#128269; Private search and data breach alerts&#128203; 30-day money-back guaranteeA 24-month plan costs $2.49 per month ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free. Surfshark One | $2.49 per month | 2 Years + 3 months FREE" data-dimension25=""><strong>Surfshark One | $2.49 per month | 2 Years + 3 months FREE</strong></a><br>We rate Surfshark as the best value VPN on the market – fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.</p><p><strong>What you'll get...</strong></p><p>🛡️ <strong>Full VPN with unlimited simultaneous connections</strong><br><strong>🔒 Avira-backed antivirus included </strong><br>🔍<strong> Private search and data breach alerts</strong><br>📋<strong> 30-day money-back guarantee</strong></p><p>A 24-month plan costs<a href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"> <strong>$2.49 per month</strong></a> ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free.<a class="view-deal button" href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow" data-dimension112="375cfb40-c874-11f1-bfb0-f15a41a669b4" data-action="Deal Block" data-label="Surfshark One | $2.49 per month | 2 Years + 3 months FREEWe rate Surfshark as the best value VPN on the market &ndash; fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.What you'll get...&#128737;&#65039; Full VPN with unlimited simultaneous connections&#128274; Avira-backed antivirus included &#128269; Private search and data breach alerts&#128203; 30-day money-back guaranteeA 24-month plan costs $2.49 per month ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free. Surfshark One | $2.49 per month | 2 Years + 3 months FREE" data-dimension48="Surfshark One | $2.49 per month | 2 Years + 3 months FREEWe rate Surfshark as the best value VPN on the market &ndash; fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.What you'll get...&#128737;&#65039; Full VPN with unlimited simultaneous connections&#128274; Avira-backed antivirus included &#128269; Private search and data breach alerts&#128203; 30-day money-back guaranteeA 24-month plan costs $2.49 per month ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free. Surfshark One | $2.49 per month | 2 Years + 3 months FREE" data-dimension25="">View Deal</a></p></div><h2 id="the-deals-at-a-glance">The deals at a glance</h2><p>Surfshark structures its plans in three tiers, each building on the last. The core VPN, Alternative ID, and CleanWeb come with every plan, as do unlimited simultaneous connections.</p><ul><li><strong>Surfshark Starter</strong> –<a href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"> $2.49 per month</a> (VPN, Alt ID, CleanWeb)</li><li><strong>Surfshark One</strong> – <a href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"><strong>$2.49 per month</strong></a> (exclusive rate – adds Antivirus, Alert, and private search)</li><li><strong>Surfshark One+</strong> –<a href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"> $4.49 per month</a> (adds Incogni data removal and up to $1M identity theft coverage)</li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ggQQBZzkyf4Bqi7adXcWaS" name="DSC_0632_01.jpg" alt="Surfshark on a Macbook Pro" src="https://cdn.mos.cms.futurecdn.net/ggQQBZzkyf4Bqi7adXcWaS-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="how-does-surfshark-compare-to-other-vpns">How does Surfshark compare to other VPNs?</h2><p>Surfshark sits in a crowded field, but it holds its own against the biggest names in the industry – and in some areas, it outright beats them. Take speed: in my testing, Surfshark hit 1,012 Mbps on WireGuard, which puts it comfortably in the top tier of providers I’ve benchmarked. For most users, that’s more than enough headroom for 4K streaming, gaming, and large downloads without a hint of lag.</p><p>The unlimited simultaneous connections policy is where Surfshark leaves most rivals behind. NordVPN caps you at ten devices, ExpressVPN at a maximum of 14 – Surfshark lets you run it on every device you own under one subscription for<strong> </strong><a href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"><strong>$2.49 per month</strong></a>, which matters far more in practice than most people expect when they first sign up.</p><p>The value case gets stronger still when you factor in what’s bundled at this price. Antivirus, data breach monitoring, and private search would cost extra with most rivals – here, they’re included in the One plan at no added cost. If you’re after something cheaper still, our<a href="https://www.tomsguide.com/best-picks/best-cheap-vpn"> best cheap VPN</a> guide is worth a look, but it’s hard to argue with what Surfshark One delivers at $2.49 a month. Our full<a href="https://www.tomsguide.com/reviews/surfshark"> Surfshark review</a> has a complete breakdown of everything on offer.</p><div data-widget-type="simple" data-model-name="Surfshark"></div><p>We test and review VPN services in the context of legal recreational uses. For example:1. Accessing a service from another country (subject to the terms and conditions of that service).2. Protecting your online security and strengthening your online privacy when abroad.We do not support or condone the illegal or malicious use of VPN services. Consuming pirated content that is paid-for is neither endorsed nor approved by Future Publishing.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/vpns/surfshark-goes-early-with-its-black-friday-vpn-deal-get-free-antivirus-with-unlimited-vpn-usage</link>
                                                                            <description>
                            <![CDATA[ For a limited time, Tom’s Guide and TechRadar readers can get Surfshark One for the same price as the basic Starter plan: $2.49 a month, paid upfront at $67.23. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">T5uFcbaZSzgFDQLDXLLdrB</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/kvXtCvmUqP2LX4NZ5oQRQn-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 15 Oct 2026 15:57:17 +0000</pubDate>                                                                                                                                <updated>Thu, 15 Oct 2026 15:57:37 +0000</updated>
                                                                                                                                            <category><![CDATA[VPNs]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Aleksandar Stevanović ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/kvXtCvmUqP2LX4NZ5oQRQn-1920-80.jpg">
                                                            <media:credit><![CDATA[Surfshark]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Surfshark Android app]]></media:description>                                                            <media:text><![CDATA[Surfshark Android app]]></media:text>
                                <media:title type="plain"><![CDATA[Surfshark Android app]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/kvXtCvmUqP2LX4NZ5oQRQn-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>We're starting to see some <a href="https://www.tomsguide.com/best-picks/vpn-black-friday-deals">Black Friday VPN deals</a> arrive, and this one is worth stopping for. Surfshark has just dropped an exclusive offer for Tom’s Guide and TechRadar readers, and it’s the strongest pricing I’ve seen on Surfshark One all year.</p><p>The deal gives you Surfshark One – which bundles the full VPN with antivirus, data breach alerts, and a private search engine – for the same monthly rate as the basic Starter plan: <a href="http://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"><strong>$2.49 a month</strong></a>, paid upfront at $67.23 for two years. That’s a genuine upgrade at no extra cost, and a price you won’t find if you head to Surfshark’s own site directly.</p><p>If Surfshark has been sitting on your shortlist of <a href="https://www.tomsguide.com/best-picks/best-vpn">best VPNs</a>, this limited-time offer makes it a much easier decision.</p><div class="product"><a data-dimension112="375cfb40-c874-11f1-bfb0-f15a41a669b4" data-action="Deal Block" data-label="Surfshark One | $2.49 per month | 2 Years + 3 months FREEWe rate Surfshark as the best value VPN on the market &ndash; fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.What you'll get...&#128737;&#65039; Full VPN with unlimited simultaneous connections&#128274; Avira-backed antivirus included &#128269; Private search and data breach alerts&#128203; 30-day money-back guaranteeA 24-month plan costs $2.49 per month ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free. Surfshark One | $2.49 per month | 2 Years + 3 months FREE" data-dimension48="Surfshark One | $2.49 per month | 2 Years + 3 months FREEWe rate Surfshark as the best value VPN on the market &ndash; fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.What you'll get...&#128737;&#65039; Full VPN with unlimited simultaneous connections&#128274; Avira-backed antivirus included &#128269; Private search and data breach alerts&#128203; 30-day money-back guaranteeA 24-month plan costs $2.49 per month ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free. Surfshark One | $2.49 per month | 2 Years + 3 months FREE" href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="x4SGepskASoVFVWSk3UDYV" name="Surfshark square deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/x4SGepskASoVFVWSk3UDYV-1920-80.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong></strong><a href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow" data-dimension112="375cfb40-c874-11f1-bfb0-f15a41a669b4" data-action="Deal Block" data-label="Surfshark One | $2.49 per month | 2 Years + 3 months FREEWe rate Surfshark as the best value VPN on the market &ndash; fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.What you'll get...&#128737;&#65039; Full VPN with unlimited simultaneous connections&#128274; Avira-backed antivirus included &#128269; Private search and data breach alerts&#128203; 30-day money-back guaranteeA 24-month plan costs $2.49 per month ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free. Surfshark One | $2.49 per month | 2 Years + 3 months FREE" data-dimension48="Surfshark One | $2.49 per month | 2 Years + 3 months FREEWe rate Surfshark as the best value VPN on the market &ndash; fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.What you'll get...&#128737;&#65039; Full VPN with unlimited simultaneous connections&#128274; Avira-backed antivirus included &#128269; Private search and data breach alerts&#128203; 30-day money-back guaranteeA 24-month plan costs $2.49 per month ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free. Surfshark One | $2.49 per month | 2 Years + 3 months FREE" data-dimension25=""><strong>Surfshark One | $2.49 per month | 2 Years + 3 months FREE</strong></a><br>We rate Surfshark as the best value VPN on the market – fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.</p><p><strong>What you'll get...</strong></p><p>🛡️ <strong>Full VPN with unlimited simultaneous connections</strong><br><strong>🔒 Avira-backed antivirus included </strong><br>🔍<strong> Private search and data breach alerts</strong><br>📋<strong> 30-day money-back guarantee</strong></p><p>A 24-month plan costs<a href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"> <strong>$2.49 per month</strong></a> ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free.<a class="view-deal button" href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow" data-dimension112="375cfb40-c874-11f1-bfb0-f15a41a669b4" data-action="Deal Block" data-label="Surfshark One | $2.49 per month | 2 Years + 3 months FREEWe rate Surfshark as the best value VPN on the market &ndash; fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.What you'll get...&#128737;&#65039; Full VPN with unlimited simultaneous connections&#128274; Avira-backed antivirus included &#128269; Private search and data breach alerts&#128203; 30-day money-back guaranteeA 24-month plan costs $2.49 per month ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free. Surfshark One | $2.49 per month | 2 Years + 3 months FREE" data-dimension48="Surfshark One | $2.49 per month | 2 Years + 3 months FREEWe rate Surfshark as the best value VPN on the market &ndash; fast, private, and packed with security tools that most providers charge separately for. This exclusive deal on Surfshark's One makes it an even easier recommendation.What you'll get...&#128737;&#65039; Full VPN with unlimited simultaneous connections&#128274; Avira-backed antivirus included &#128269; Private search and data breach alerts&#128203; 30-day money-back guaranteeA 24-month plan costs $2.49 per month ($67.23 upfront pre-tax) and includes a 30-day money-back guarantee so you can test it out risk-free. Surfshark One | $2.49 per month | 2 Years + 3 months FREE" data-dimension25="">View Deal</a></p></div><h2 id="the-deals-at-a-glance">The deals at a glance</h2><p>Surfshark structures its plans in three tiers, each building on the last. The core VPN, Alternative ID, and CleanWeb come with every plan, as do unlimited simultaneous connections.</p><ul><li><strong>Surfshark Starter</strong> –<a href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"> $2.49 per month</a> (VPN, Alt ID, CleanWeb)</li><li><strong>Surfshark One</strong> – <a href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"><strong>$2.49 per month</strong></a> (exclusive rate – adds Antivirus, Alert, and private search)</li><li><strong>Surfshark One+</strong> –<a href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"> $4.49 per month</a> (adds Incogni data removal and up to $1M identity theft coverage)</li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ggQQBZzkyf4Bqi7adXcWaS" name="DSC_0632_01.jpg" alt="Surfshark on a Macbook Pro" src="https://cdn.mos.cms.futurecdn.net/ggQQBZzkyf4Bqi7adXcWaS-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="how-does-surfshark-compare-to-other-vpns">How does Surfshark compare to other VPNs?</h2><p>Surfshark sits in a crowded field, but it holds its own against the biggest names in the industry – and in some areas, it outright beats them. Take speed: in my testing, Surfshark hit 1,012 Mbps on WireGuard, which puts it comfortably in the top tier of providers I’ve benchmarked. For most users, that’s more than enough headroom for 4K streaming, gaming, and large downloads without a hint of lag.</p><p>The unlimited simultaneous connections policy is where Surfshark leaves most rivals behind. NordVPN caps you at ten devices, ExpressVPN at a maximum of 14 – Surfshark lets you run it on every device you own under one subscription for<strong> </strong><a href="https://get.surfshark.net/aff_c?offer_id=1030&aff_id=1691" target="_blank" rel="nofollow"><strong>$2.49 per month</strong></a>, which matters far more in practice than most people expect when they first sign up.</p><p>The value case gets stronger still when you factor in what’s bundled at this price. Antivirus, data breach monitoring, and private search would cost extra with most rivals – here, they’re included in the One plan at no added cost. If you’re after something cheaper still, our<a href="https://www.tomsguide.com/best-picks/best-cheap-vpn"> best cheap VPN</a> guide is worth a look, but it’s hard to argue with what Surfshark One delivers at $2.49 a month. Our full<a href="https://www.tomsguide.com/reviews/surfshark"> Surfshark review</a> has a complete breakdown of everything on offer.</p><div data-widget-type="simple" data-model-name="Surfshark"></div><p>We test and review VPN services in the context of legal recreational uses. For example:1. Accessing a service from another country (subject to the terms and conditions of that service).2. Protecting your online security and strengthening your online privacy when abroad.We do not support or condone the illegal or malicious use of VPN services. Consuming pirated content that is paid-for is neither endorsed nor approved by Future Publishing.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Microsoft just patched a record 1,400+ flaws in latest Windows 11 security update: what you need to know ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Massive Microsoft Patch Tuesday updates have become the norm and October may actually have broken records, fixing over 1,400 vulnerabilities in Windows. This comes just a month after the company released <a href="https://www.tomsguide.com/computing/windows-operating-systems/microsoft-just-patched-over-1-000-flaws-in-windows-but-you-might-want-to-wait-to-update-your-pc-heres-why">patches for more than 1,000 flaws</a>, and then had to send out an emergency patch to fix what those updates broke.</p><p>This week, <a href="https://msrc.microsoft.com/update-guide/releaseNote/2026-Oct" target="_blank">Microsoft shipped patches</a> that covered a mind-boggling 1,413 flaws, including one that the company said was actively being exploited by hackers in the wild before the patch.</p><p>Those patches cover 1,102 flaws in Windows, 134 in Office, 61 in Developer Tools, 36 in SharePoint Server and 22 in SQL Server. 670 of the patches are related to privilege escalation vulnerabilities. And 70 are rated as "Critical" in severity.</p><p>Microsoft's update guide specifically highlighted three notable flaws:</p><ul><li><strong>CVE-2026-96951:</strong> - Windows Shell had a command injection vulnerability that would allow a bad actor to bypass security over a network. This one was apparently actively exploited.</li><li><strong>CVE-2026-108398:</strong>- An untrusted search path in .NET Framework would allow an attacker to bypass a "security feature" locally. This one is listed as publicly disclosed but not exploited.</li><li><strong>CVE-2026-21413:  </strong>This one apparently wasn't found by Microsoft but would allow a buffer overflow of Windows Raw Image Extension to allow attacks to execute code over a network.</li></ul><p>Microsoft credited Riku Bamba and Yuya Chudo of Fujitsu Limited and Benoit Sevens, who used Anthropic's <a href="https://www.tomsguide.com/ai/claude-just-landed-in-google-docs-sheets-and-slides-here-are-7-things-you-should-try-with-it-right-now">Claude</a>, with discovering the 96951 flaw which was exploited in the wild. </p><p>"In an email or instant message attack scenario, the attacker could send the targeted user a specially crafted file that is designed to exploit the vulnerability," the company explained. "In any case an attacker would have no way to force a user to view attacker-controlled content. Instead, an attacker would have to convince a user to take action. For example, an attacker could entice a user to either click a link that directs the user to the attacker's site or send a malicious attachment."</p><p>It's not clear how this flaw is being exploited or by whom in the real world.</p><h2 id="what-39-s-with-these-massive-patches">What's with these massive patches?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2688px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="HUqR5UDqPeCw6FAi2ELtJE" name="ai models" alt="ai models" src="https://cdn.mos.cms.futurecdn.net/HUqR5UDqPeCw6FAi2ELtJE-1920-80.png" mos="" align="middle" fullscreen="" width="2688" height="1536" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Freepik)</span></figcaption></figure><p>When Microsoft patched over 1,000 flaws in September, it set a record that the October patch just smashed. This might be the new normal for Patch Tuesdays moving forward.</p><p>Microsoft has said that AI has been behind the uptick in discovered vulnerabilities. The company uses its own internal "multi-model agentic scanning harness", <a href="https://learn.microsoft.com/en-us/security-exposure-management/ai-code-security-overview" target="_blank">dubbed MDASH</a>, that identifies Windows flaws, reduces false positives, and then sends the results to Microsoft engineers faster than previous processes.</p><p>"Submits code repositories to a multi-model agentic pipeline that identifies vulnerabilities with greater depth than traditional, pattern-matching static analysis," the company explains in a <a href="https://learn.microsoft.com/en-us/security-exposure-management/ai-code-security-overview" target="_blank">post</a>.</p><p>What that means in practice is that more flaws are being actively discovered than ever before and also being patched quicker.</p><h2 id="some-extra-fixes">Some extra fixes</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fKRE3i2un3ZBQ9ghKznQJY" name="ProArt_PX13_CoPilot_button.jpg" alt="A close-up of the CoPilot+ button on the Asus ProArt PX13's keyboard" src="https://cdn.mos.cms.futurecdn.net/fKRE3i2un3ZBQ9ghKznQJY-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The latest massive patch doesn't just fix over 1,400 vulnerabilities. It also fixes some glitches in File Explorer. You should be able to more easily preview downloaded files in the Preview window. </p><p>Additionally, Bluetooth connections got improved accuracy and stability. </p><p>Finally, the update adds a new setting that lets you <a href="https://www.tomsguide.com/computing/windows-operating-systems/how-to-remap-the-copilot-key-on-windows-11">remap the Copilot Key</a> to whatever you want like making it a right Ctrl button again.</p><h2 id="what-you-need-to-do-2">What you need to do</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:55.95%;"><img id="gcmavBBjRkY4Pq2NFRe6dZ" name="windows-11-widgets.jpeg" alt="windows 11 widgets" src="https://cdn.mos.cms.futurecdn.net/gcmavBBjRkY4Pq2NFRe6dZ-1920-80.jpeg" mos="" align="middle" fullscreen="" width="2000" height="1119" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>If you're on <a href="https://www.tomsguide.com/reviews/windows-11">Windows 11</a>, you'll want to update your system especially to get block the known exploited flaw. </p><p>You can go to Settings and select Windows Update. The patch may be installed already and waiting for your to reboot your computer. </p><p>This patch does end support for Windows 11 version 24H2, so you'll want to make sure you're on version 26H2 now. Microsoft ends support for each version after 24 months.</p><p>Windows 11 23H2 Enterprise and Education editions are also losing support starting November 10. You'll want to encourage your organization to update to the latest version before then.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/laptops/they-are-new-to-the-laptop-market-amd-issues-a-reality-check-to-nvidias-rtx-spark-and-fires-a-warning-shot-at-arm"><strong>'They are new to the laptop market': AMD issues a reality check to Nvidia’s RTX Spark and fires a warning shot at Arm</strong></a></li><li><a href="https://www.tomsguide.com/computing/laptops/microsoft-surface-laptop-ultra-vs-macbook-pro-m5-pro-the-biggest-differences-explained"><strong>Microsoft Surface Laptop Ultra vs. MacBook Pro M5 Pro: The biggest differences explained</strong></a></li><li><a href="https://www.tomsguide.com/computing/laptops/forget-rtx-spark-the-surface-laptop-ultras-magnetic-usb-c-charger-is-a-game-changer-that-makes-apples-magsafe-look-obsolete"><strong>Forget RTX Spark: The Surface Laptop Ultra’s magnetic USB-C charger is a game-changer that makes Apple’s MagSafe look obsolete</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/malware-adware/microsoft-just-patched-a-record-1-400-flaws-in-latest-windows-11-security-update-what-you-need-to-know</link>
                                                                            <description>
                            <![CDATA[ Microsoft's latest Patch Tuesday fixes cover over 1400 vulnerabilities with more than 70 rated "Critical." ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">KaMYYvAnTeFrJwZdETZGJm</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/5pcMKxwZxLYMWqjD23Q4Jh-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 21:42:22 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 22:31:29 +0000</updated>
                                                                                                                                            <category><![CDATA[Malware & Adware]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Online Security]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;br&gt;Send secure tips on Signal: scyo1.55.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/5pcMKxwZxLYMWqjD23Q4Jh-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock / Edited by Gemini]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A Windows 11 laptop displaying a large warning sign]]></media:description>                                                            <media:text><![CDATA[A Windows 11 laptop displaying a large warning sign]]></media:text>
                                <media:title type="plain"><![CDATA[A Windows 11 laptop displaying a large warning sign]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/5pcMKxwZxLYMWqjD23Q4Jh-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Massive Microsoft Patch Tuesday updates have become the norm and October may actually have broken records, fixing over 1,400 vulnerabilities in Windows. This comes just a month after the company released <a href="https://www.tomsguide.com/computing/windows-operating-systems/microsoft-just-patched-over-1-000-flaws-in-windows-but-you-might-want-to-wait-to-update-your-pc-heres-why">patches for more than 1,000 flaws</a>, and then had to send out an emergency patch to fix what those updates broke.</p><p>This week, <a href="https://msrc.microsoft.com/update-guide/releaseNote/2026-Oct" target="_blank">Microsoft shipped patches</a> that covered a mind-boggling 1,413 flaws, including one that the company said was actively being exploited by hackers in the wild before the patch.</p><p>Those patches cover 1,102 flaws in Windows, 134 in Office, 61 in Developer Tools, 36 in SharePoint Server and 22 in SQL Server. 670 of the patches are related to privilege escalation vulnerabilities. And 70 are rated as "Critical" in severity.</p><p>Microsoft's update guide specifically highlighted three notable flaws:</p><ul><li><strong>CVE-2026-96951:</strong> - Windows Shell had a command injection vulnerability that would allow a bad actor to bypass security over a network. This one was apparently actively exploited.</li><li><strong>CVE-2026-108398:</strong>- An untrusted search path in .NET Framework would allow an attacker to bypass a "security feature" locally. This one is listed as publicly disclosed but not exploited.</li><li><strong>CVE-2026-21413:  </strong>This one apparently wasn't found by Microsoft but would allow a buffer overflow of Windows Raw Image Extension to allow attacks to execute code over a network.</li></ul><p>Microsoft credited Riku Bamba and Yuya Chudo of Fujitsu Limited and Benoit Sevens, who used Anthropic's <a href="https://www.tomsguide.com/ai/claude-just-landed-in-google-docs-sheets-and-slides-here-are-7-things-you-should-try-with-it-right-now">Claude</a>, with discovering the 96951 flaw which was exploited in the wild. </p><p>"In an email or instant message attack scenario, the attacker could send the targeted user a specially crafted file that is designed to exploit the vulnerability," the company explained. "In any case an attacker would have no way to force a user to view attacker-controlled content. Instead, an attacker would have to convince a user to take action. For example, an attacker could entice a user to either click a link that directs the user to the attacker's site or send a malicious attachment."</p><p>It's not clear how this flaw is being exploited or by whom in the real world.</p><h2 id="what-39-s-with-these-massive-patches">What's with these massive patches?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2688px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="HUqR5UDqPeCw6FAi2ELtJE" name="ai models" alt="ai models" src="https://cdn.mos.cms.futurecdn.net/HUqR5UDqPeCw6FAi2ELtJE-1920-80.png" mos="" align="middle" fullscreen="" width="2688" height="1536" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Freepik)</span></figcaption></figure><p>When Microsoft patched over 1,000 flaws in September, it set a record that the October patch just smashed. This might be the new normal for Patch Tuesdays moving forward.</p><p>Microsoft has said that AI has been behind the uptick in discovered vulnerabilities. The company uses its own internal "multi-model agentic scanning harness", <a href="https://learn.microsoft.com/en-us/security-exposure-management/ai-code-security-overview" target="_blank">dubbed MDASH</a>, that identifies Windows flaws, reduces false positives, and then sends the results to Microsoft engineers faster than previous processes.</p><p>"Submits code repositories to a multi-model agentic pipeline that identifies vulnerabilities with greater depth than traditional, pattern-matching static analysis," the company explains in a <a href="https://learn.microsoft.com/en-us/security-exposure-management/ai-code-security-overview" target="_blank">post</a>.</p><p>What that means in practice is that more flaws are being actively discovered than ever before and also being patched quicker.</p><h2 id="some-extra-fixes">Some extra fixes</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fKRE3i2un3ZBQ9ghKznQJY" name="ProArt_PX13_CoPilot_button.jpg" alt="A close-up of the CoPilot+ button on the Asus ProArt PX13's keyboard" src="https://cdn.mos.cms.futurecdn.net/fKRE3i2un3ZBQ9ghKznQJY-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The latest massive patch doesn't just fix over 1,400 vulnerabilities. It also fixes some glitches in File Explorer. You should be able to more easily preview downloaded files in the Preview window. </p><p>Additionally, Bluetooth connections got improved accuracy and stability. </p><p>Finally, the update adds a new setting that lets you <a href="https://www.tomsguide.com/computing/windows-operating-systems/how-to-remap-the-copilot-key-on-windows-11">remap the Copilot Key</a> to whatever you want like making it a right Ctrl button again.</p><h2 id="what-you-need-to-do-2">What you need to do</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:55.95%;"><img id="gcmavBBjRkY4Pq2NFRe6dZ" name="windows-11-widgets.jpeg" alt="windows 11 widgets" src="https://cdn.mos.cms.futurecdn.net/gcmavBBjRkY4Pq2NFRe6dZ-1920-80.jpeg" mos="" align="middle" fullscreen="" width="2000" height="1119" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>If you're on <a href="https://www.tomsguide.com/reviews/windows-11">Windows 11</a>, you'll want to update your system especially to get block the known exploited flaw. </p><p>You can go to Settings and select Windows Update. The patch may be installed already and waiting for your to reboot your computer. </p><p>This patch does end support for Windows 11 version 24H2, so you'll want to make sure you're on version 26H2 now. Microsoft ends support for each version after 24 months.</p><p>Windows 11 23H2 Enterprise and Education editions are also losing support starting November 10. You'll want to encourage your organization to update to the latest version before then.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/laptops/they-are-new-to-the-laptop-market-amd-issues-a-reality-check-to-nvidias-rtx-spark-and-fires-a-warning-shot-at-arm"><strong>'They are new to the laptop market': AMD issues a reality check to Nvidia’s RTX Spark and fires a warning shot at Arm</strong></a></li><li><a href="https://www.tomsguide.com/computing/laptops/microsoft-surface-laptop-ultra-vs-macbook-pro-m5-pro-the-biggest-differences-explained"><strong>Microsoft Surface Laptop Ultra vs. MacBook Pro M5 Pro: The biggest differences explained</strong></a></li><li><a href="https://www.tomsguide.com/computing/laptops/forget-rtx-spark-the-surface-laptop-ultras-magnetic-usb-c-charger-is-a-game-changer-that-makes-apples-magsafe-look-obsolete"><strong>Forget RTX Spark: The Surface Laptop Ultra’s magnetic USB-C charger is a game-changer that makes Apple’s MagSafe look obsolete</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ AI researcher warns cyberattacks could take down power, banking and water within a year — here's how to prepare ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Hundreds of supermarkets in France were hit by a cyberattack this week that sent refrigerator temperatures soaring to 122°F, destroying food and reportedly sparking fires. Now, an AI researcher is warning that this could be a preview of something much worse.</p><p><a href="https://x.com/stuhlmueller" target="_blank">Andreas Stuhlmüller</a>, cofounder and CEO of the AI research company <a href="https://elicit.com/">Elicit</a>, says it's plausible that within the next year, <a href="https://www.tomsguide.com/computing/online-security/from-misinformation-to-ai-powered-cyberattacks-the-top-cybersecurity-risks-for-2026">AI-powered cyberrattacks</a> could target the power grid, financial systems, internet infrastructure or water supplies.</p><p>He's not just sounding the alarm. He's recommending that people prepare to get through two weeks of major disruptions, including keeping cash on hand, storing drinking water and investing in backup power and internet access.</p><p>That's a startling recommendation, especially considering that some of the equipment he suggests could cost thousands of dollars. But after watching hackers remotely disable refrigeration systems across hundreds of stores, his warning raises a question worth examining: How vulnerable are the essential services we depend on every day?</p><h2 id="what-happened-in-france">What happened in France</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="high" data-lazy-src="https://www.youtube-nocookie.com/embed/RzKvSCTTc7g" allowfullscreen></iframe></div></div><p>The cyberattack that struck French supermarkets overnight on October 11 and 12 affected hundreds of locations belonging to major chains, including Carrefour, Intermarché, Monoprix and Coopérative U.</p><p>Hackers <a href="https://www.bbc.com/news/articles/crq5nzxv9q4yo" target="_blank">reportedly </a>exploited vulnerabilities in internet-connected refrigeration controllers, remotely manipulating defrost cycles and causing temperatures inside some units to climb as high as 122°F.</p><p>The results were immediate. Refrigerated and frozen food spoiled, equipment was damaged and some stores reported fires. French authorities launched an investigation into the attacks, which demonstrated how a security weakness in seemingly ordinary commercial equipment could cause widespread physical damage.</p><p>There's currently no confirmed evidence that AI was involved in the French supermarket attack. However, that's part of what makes Stuhlmüller's warning worth examining. Attackers were able to cause significant disruption using vulnerabilities in equipment that many people probably never realized was connected to the internet.</p><h2 id="why-ai-could-make-cyberattacks-worse">Why AI could make cyberattacks worse</h2><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2110048778942284149"><p lang="en" dir="ltr">I think it's plausible that within a year we'll see AI-based cyberattacks on the power grid, financial system, internet infra, or water. Things like the French supermarket cyberattack but worse. As basic prep I would recommend:Cash: Get a few weeks of spending in cashInternet: Get a Starlink Mini so that you have Internet if local fiber or cell is down (~$150 plus $10/month in standby mode)Power, minimal: Enough to run Starlink Mini and phones (~$1,250)Daily need: about 1 kWh (Starlink Mini 0.7, phones and laptops 0.2; can limit runtime)Battery: 1 kWh LiFePO4, e.g. EcoFlow DELTA 3 PlusSolar: 1x400W folding panel, which refills about 1 kWh on a sunny dayPower, better: Enough to run a fridge, Starlink Mini and phones (~$5,000)Daily need: about 2.5 kWh (fridge 1.5, Starlink Mini 0.7, phones and laptops 0.2)Battery: 4 kWh LiFePO4, e.g. EcoFlow DELTA Pro 3Solar: 3x400W folding panels, which refill about 3 kWh/day in sunGenerator: ~2,500W dual-fuel inverter generator; refills battery in a few hours even if weather is bad; get a few 20 lb propane tanksWater: 14+ gal of water per person for two weeksFood: 2+ weeks of shelf-stable foodComms: Hand-crank NOAA emergency radio<a href="https://twitter.com/cantworkitout/status/2110048778942284149">October 13, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>Cyberattacks against critical infrastructure aren't new. The concern is that now AI systems are becoming more capable to the point that they could make certain attacks faster, cheaper and easier to scale.</p><p>AI tools can already assist with analyzing software, identifying vulnerabilities and automating parts of cybersecurity research. Those same capabilities could potentially help malicious actors find weaknesses across large numbers of connected systems.</p><p>An attacker would probably not need to develop an entirely new type of cyberattack. AI could help speed up the search for poorly secured equipment, analyze unfamiliar software and assist with adapting existing techniques.</p><p>The threat isn't limited to refrigerators, either. Electricity, water treatment, banking and communications all depend on digital systems, although their architectures, security controls and exposure to attackers differ considerably.</p><p>The <a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa25-239a" target="_blank">Cybersecurity and Infrastructure Security Agency</a> (CISA) has previously warned about state-sponsored attackers compromising telecommunications networks and other important infrastructure.</p><p>Still, Stuhlmüller's one-year timeframe is a prediction, not an established forecast. There is no evidence that an AI-driven attack capable of simultaneously disabling these services is imminent, and compromising one type of internet-connected controller doesn't mean attackers could easily take over an electrical grid or water utility.</p><h2 id="the-emergency-supplies-he-recommends">The emergency supplies he recommends</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4pRadHeNBRbCPXPcmQeukU" name="united-starlink-network (1)" alt="finding the starlink network during a united airlines flight" src="https://cdn.mos.cms.futurecdn.net/4pRadHeNBRbCPXPcmQeukU-1920-80.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Stuhlmüller's advice is unusually specific. Rather than simply encouraging people to buy emergency supplies, he outlines two levels of backup power, satellite internet and enough basic necessities to get through two weeks.</p><p><strong>Keep cash available.</strong> He recommends having enough physical cash to cover several weeks of expenses in case banking systems, ATMs or electronic payments become unavailable. The amount will depend on household spending, and there's no need to assume every cyberattack would cause a banking outage.</p><p><strong>Consider backup internet access.</strong> He suggests a <a href="https://www.tomsguide.com/tech/starlink-mini-just-launched-in-us-and-its-small-enough-for-a-backpack">Starlink Mini satellite</a> internet system as an alternative if local broadband or cellular networks go down. He estimates a setup costing around $150 with a $10 monthly standby option, although hardware and service pricing should be verified before buying. Satellite internet also requires power, a suitable view of the sky and an operational satellite network.</p><p><strong>Have a way to charge essential devices.</strong> His lower-cost backup power setup includes a 1kWh lithium iron phosphate battery and a 400W folding solar panel, with an estimated total cost of $1,250. The goal is to keep phones, laptops and satellite internet equipment operating during a power outage.</p><p><strong>Prepare for a longer outage.</strong> His more extensive setup, estimated at $5,000, adds a larger battery, three solar panels and a dual-fuel generator. This would potentially support a refrigerator as well as communications equipment, although actual runtime would depend on electricity consumption, weather and battery capacity.</p><p><a href="https://www.tomsguide.com/home/outdoors/i-took-this-portable-solar-generator-on-a-weekend-camping-trip-and-it-was-a-complete-game-changer">Portable generators</a> must never be operated inside a home or garage. <a href="https://www.ready.gov/sites/default/files/2024-07/ready.gov_hurricane_info-sheet.pdf" target="_blank">FEMA advises</a> keeping them outdoors at least 20 feet from doors, windows and other building openings because of the risk of deadly carbon monoxide poisoning.</p><p><strong>Store water and nonperishable food.</strong> Stuhlmüller recommends at least 14 gallons of water per person and enough shelf-stable food for two weeks. For a family of four, that means storing at least 56 gallons of water.</p><p><strong>Keep an emergency radio.</strong> A hand-crank NOAA weather radio could provide important information when phones, cellular networks or home internet connections aren't working. NOAA broadcasts are useful for weather and other emergency alerts, though radio reception and alert coverage vary by location.</p><h2 id="should-you-actually-prepare-for-an-ai-cyberattack">Should you actually prepare for an AI cyberattack?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.80%;"><img id="hk5twDXKmeE8Hs2es2Q6UE" name="phone-facepalm-scare-shst.jpg" alt="Young woman reacting in fright to something she sees on her smartphone." src="https://cdn.mos.cms.futurecdn.net/hk5twDXKmeE8Hs2es2Q6UE-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="568" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: pathdoc/Shutterstock)</span></figcaption></figure><p>There's a difference between taking a credible warning seriously and assuming a catastrophic cyberattack is around the corner.</p><p>Stuhlmüller hasn't presented evidence that AI-powered attacks on power, banking, internet and water systems will happen within the next 12 months. And there are significant technical barriers to attacking heavily protected infrastructure, even as AI systems become more capable.</p><p>His preparedness advice, however, isn't exclusively useful for cyberattacks. Severe storms, flooding, prolonged blackouts and other emergencies can interrupt many of the same services.</p><p>The federal government's <a href="https://www.ready.gov/kit" target="_blank">Ready.gov emergency preparedness guidance</a> recommends keeping water, nonperishable food, flashlights, batteries and a battery-powered or hand-crank radio among other basic supplies.</p><p>You also don't need to spend $5,000 on backup equipment to start preparing. A <a href="https://www.tomsguide.com/computing/peripherals/the-power-bank-i-use-every-day-just-hit-its-lowest-price-ever-and-itll-charge-your-laptop">charged power bank</a>, some stored water, medications, flashlights, a small amount of cash and a few days of food are far more realistic starting points for most households.</p><h2 id="bottom-line-3">Bottom line</h2><p>The French supermarket attack offers a troubling example of how vulnerable connected infrastructure can be. Whether AI makes similar incidents substantially more common over the next year remains uncertain.</p><p>But preparing for a disruption doesn't require believing the worst-case prediction. It means making sure that if the power, internet or payment systems suddenly stop working, your household has a plan.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/turn-your-pdfs-into-audiobooks-with-chatgpt-heres-the-simple-trick"><strong>Turn your PDFs into audiobooks with ChatGPT — here's the simple trick</strong></a></li><li><a href="https://www.tomsguide.com/computing/smart-glasses/ive-been-testing-ray-ban-meta-audio-glasses-for-72-hours-and-ditching-the-camera-was-the-absolute-right-call"><strong>I've been testing Ray-Ban Meta Audio glasses for 72 hours and ditching the camera was the absolute right call</strong></a></li><li><a href="https://www.tomsguide.com/ai/character-ai-files-for-bankruptcy-what-happens-to-your-chats-and-ai-companions-now"><strong>Character.AI files for bankruptcy — what happens to your chats and AI companions now?</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/ai-researcher-warns-cyberattacks-could-take-down-power-banking-and-water-within-a-year-heres-how-to-prepare</link>
                                                                            <description>
                            <![CDATA[ An AI researcher warns that cyberattacks could disrupt power, banking and water within a year. Here's what he recommends keeping at home. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">397Pwn3N5kXSNfbbS7QrCJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/7uLqkb8a94q8Ur6ypJctvd-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 14 Oct 2026 14:46:16 +0000</pubDate>                                                                                                                                <updated>Wed, 14 Oct 2026 15:53:36 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/7uLqkb8a94q8Ur6ypJctvd-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[An open lock with a digital background and a cross and bones indicating a cyberattack]]></media:description>                                                            <media:text><![CDATA[An open lock with a digital background and a cross and bones indicating a cyberattack]]></media:text>
                                <media:title type="plain"><![CDATA[An open lock with a digital background and a cross and bones indicating a cyberattack]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/7uLqkb8a94q8Ur6ypJctvd-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Hundreds of supermarkets in France were hit by a cyberattack this week that sent refrigerator temperatures soaring to 122°F, destroying food and reportedly sparking fires. Now, an AI researcher is warning that this could be a preview of something much worse.</p><p><a href="https://x.com/stuhlmueller" target="_blank">Andreas Stuhlmüller</a>, cofounder and CEO of the AI research company <a href="https://elicit.com/">Elicit</a>, says it's plausible that within the next year, <a href="https://www.tomsguide.com/computing/online-security/from-misinformation-to-ai-powered-cyberattacks-the-top-cybersecurity-risks-for-2026">AI-powered cyberrattacks</a> could target the power grid, financial systems, internet infrastructure or water supplies.</p><p>He's not just sounding the alarm. He's recommending that people prepare to get through two weeks of major disruptions, including keeping cash on hand, storing drinking water and investing in backup power and internet access.</p><p>That's a startling recommendation, especially considering that some of the equipment he suggests could cost thousands of dollars. But after watching hackers remotely disable refrigeration systems across hundreds of stores, his warning raises a question worth examining: How vulnerable are the essential services we depend on every day?</p><h2 id="what-happened-in-france">What happened in France</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="high" data-lazy-src="https://www.youtube-nocookie.com/embed/RzKvSCTTc7g" allowfullscreen></iframe></div></div><p>The cyberattack that struck French supermarkets overnight on October 11 and 12 affected hundreds of locations belonging to major chains, including Carrefour, Intermarché, Monoprix and Coopérative U.</p><p>Hackers <a href="https://www.bbc.com/news/articles/crq5nzxv9q4yo" target="_blank">reportedly </a>exploited vulnerabilities in internet-connected refrigeration controllers, remotely manipulating defrost cycles and causing temperatures inside some units to climb as high as 122°F.</p><p>The results were immediate. Refrigerated and frozen food spoiled, equipment was damaged and some stores reported fires. French authorities launched an investigation into the attacks, which demonstrated how a security weakness in seemingly ordinary commercial equipment could cause widespread physical damage.</p><p>There's currently no confirmed evidence that AI was involved in the French supermarket attack. However, that's part of what makes Stuhlmüller's warning worth examining. Attackers were able to cause significant disruption using vulnerabilities in equipment that many people probably never realized was connected to the internet.</p><h2 id="why-ai-could-make-cyberattacks-worse">Why AI could make cyberattacks worse</h2><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2110048778942284149"><p lang="en" dir="ltr">I think it's plausible that within a year we'll see AI-based cyberattacks on the power grid, financial system, internet infra, or water. Things like the French supermarket cyberattack but worse. As basic prep I would recommend:Cash: Get a few weeks of spending in cashInternet: Get a Starlink Mini so that you have Internet if local fiber or cell is down (~$150 plus $10/month in standby mode)Power, minimal: Enough to run Starlink Mini and phones (~$1,250)Daily need: about 1 kWh (Starlink Mini 0.7, phones and laptops 0.2; can limit runtime)Battery: 1 kWh LiFePO4, e.g. EcoFlow DELTA 3 PlusSolar: 1x400W folding panel, which refills about 1 kWh on a sunny dayPower, better: Enough to run a fridge, Starlink Mini and phones (~$5,000)Daily need: about 2.5 kWh (fridge 1.5, Starlink Mini 0.7, phones and laptops 0.2)Battery: 4 kWh LiFePO4, e.g. EcoFlow DELTA Pro 3Solar: 3x400W folding panels, which refill about 3 kWh/day in sunGenerator: ~2,500W dual-fuel inverter generator; refills battery in a few hours even if weather is bad; get a few 20 lb propane tanksWater: 14+ gal of water per person for two weeksFood: 2+ weeks of shelf-stable foodComms: Hand-crank NOAA emergency radio<a href="https://twitter.com/cantworkitout/status/2110048778942284149">October 13, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>Cyberattacks against critical infrastructure aren't new. The concern is that now AI systems are becoming more capable to the point that they could make certain attacks faster, cheaper and easier to scale.</p><p>AI tools can already assist with analyzing software, identifying vulnerabilities and automating parts of cybersecurity research. Those same capabilities could potentially help malicious actors find weaknesses across large numbers of connected systems.</p><p>An attacker would probably not need to develop an entirely new type of cyberattack. AI could help speed up the search for poorly secured equipment, analyze unfamiliar software and assist with adapting existing techniques.</p><p>The threat isn't limited to refrigerators, either. Electricity, water treatment, banking and communications all depend on digital systems, although their architectures, security controls and exposure to attackers differ considerably.</p><p>The <a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa25-239a" target="_blank">Cybersecurity and Infrastructure Security Agency</a> (CISA) has previously warned about state-sponsored attackers compromising telecommunications networks and other important infrastructure.</p><p>Still, Stuhlmüller's one-year timeframe is a prediction, not an established forecast. There is no evidence that an AI-driven attack capable of simultaneously disabling these services is imminent, and compromising one type of internet-connected controller doesn't mean attackers could easily take over an electrical grid or water utility.</p><h2 id="the-emergency-supplies-he-recommends">The emergency supplies he recommends</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4pRadHeNBRbCPXPcmQeukU" name="united-starlink-network (1)" alt="finding the starlink network during a united airlines flight" src="https://cdn.mos.cms.futurecdn.net/4pRadHeNBRbCPXPcmQeukU-1920-80.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Stuhlmüller's advice is unusually specific. Rather than simply encouraging people to buy emergency supplies, he outlines two levels of backup power, satellite internet and enough basic necessities to get through two weeks.</p><p><strong>Keep cash available.</strong> He recommends having enough physical cash to cover several weeks of expenses in case banking systems, ATMs or electronic payments become unavailable. The amount will depend on household spending, and there's no need to assume every cyberattack would cause a banking outage.</p><p><strong>Consider backup internet access.</strong> He suggests a <a href="https://www.tomsguide.com/tech/starlink-mini-just-launched-in-us-and-its-small-enough-for-a-backpack">Starlink Mini satellite</a> internet system as an alternative if local broadband or cellular networks go down. He estimates a setup costing around $150 with a $10 monthly standby option, although hardware and service pricing should be verified before buying. Satellite internet also requires power, a suitable view of the sky and an operational satellite network.</p><p><strong>Have a way to charge essential devices.</strong> His lower-cost backup power setup includes a 1kWh lithium iron phosphate battery and a 400W folding solar panel, with an estimated total cost of $1,250. The goal is to keep phones, laptops and satellite internet equipment operating during a power outage.</p><p><strong>Prepare for a longer outage.</strong> His more extensive setup, estimated at $5,000, adds a larger battery, three solar panels and a dual-fuel generator. This would potentially support a refrigerator as well as communications equipment, although actual runtime would depend on electricity consumption, weather and battery capacity.</p><p><a href="https://www.tomsguide.com/home/outdoors/i-took-this-portable-solar-generator-on-a-weekend-camping-trip-and-it-was-a-complete-game-changer">Portable generators</a> must never be operated inside a home or garage. <a href="https://www.ready.gov/sites/default/files/2024-07/ready.gov_hurricane_info-sheet.pdf" target="_blank">FEMA advises</a> keeping them outdoors at least 20 feet from doors, windows and other building openings because of the risk of deadly carbon monoxide poisoning.</p><p><strong>Store water and nonperishable food.</strong> Stuhlmüller recommends at least 14 gallons of water per person and enough shelf-stable food for two weeks. For a family of four, that means storing at least 56 gallons of water.</p><p><strong>Keep an emergency radio.</strong> A hand-crank NOAA weather radio could provide important information when phones, cellular networks or home internet connections aren't working. NOAA broadcasts are useful for weather and other emergency alerts, though radio reception and alert coverage vary by location.</p><h2 id="should-you-actually-prepare-for-an-ai-cyberattack">Should you actually prepare for an AI cyberattack?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.80%;"><img id="hk5twDXKmeE8Hs2es2Q6UE" name="phone-facepalm-scare-shst.jpg" alt="Young woman reacting in fright to something she sees on her smartphone." src="https://cdn.mos.cms.futurecdn.net/hk5twDXKmeE8Hs2es2Q6UE-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="568" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: pathdoc/Shutterstock)</span></figcaption></figure><p>There's a difference between taking a credible warning seriously and assuming a catastrophic cyberattack is around the corner.</p><p>Stuhlmüller hasn't presented evidence that AI-powered attacks on power, banking, internet and water systems will happen within the next 12 months. And there are significant technical barriers to attacking heavily protected infrastructure, even as AI systems become more capable.</p><p>His preparedness advice, however, isn't exclusively useful for cyberattacks. Severe storms, flooding, prolonged blackouts and other emergencies can interrupt many of the same services.</p><p>The federal government's <a href="https://www.ready.gov/kit" target="_blank">Ready.gov emergency preparedness guidance</a> recommends keeping water, nonperishable food, flashlights, batteries and a battery-powered or hand-crank radio among other basic supplies.</p><p>You also don't need to spend $5,000 on backup equipment to start preparing. A <a href="https://www.tomsguide.com/computing/peripherals/the-power-bank-i-use-every-day-just-hit-its-lowest-price-ever-and-itll-charge-your-laptop">charged power bank</a>, some stored water, medications, flashlights, a small amount of cash and a few days of food are far more realistic starting points for most households.</p><h2 id="bottom-line-3">Bottom line</h2><p>The French supermarket attack offers a troubling example of how vulnerable connected infrastructure can be. Whether AI makes similar incidents substantially more common over the next year remains uncertain.</p><p>But preparing for a disruption doesn't require believing the worst-case prediction. It means making sure that if the power, internet or payment systems suddenly stop working, your household has a plan.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/turn-your-pdfs-into-audiobooks-with-chatgpt-heres-the-simple-trick"><strong>Turn your PDFs into audiobooks with ChatGPT — here's the simple trick</strong></a></li><li><a href="https://www.tomsguide.com/computing/smart-glasses/ive-been-testing-ray-ban-meta-audio-glasses-for-72-hours-and-ditching-the-camera-was-the-absolute-right-call"><strong>I've been testing Ray-Ban Meta Audio glasses for 72 hours and ditching the camera was the absolute right call</strong></a></li><li><a href="https://www.tomsguide.com/ai/character-ai-files-for-bankruptcy-what-happens-to-your-chats-and-ai-companions-now"><strong>Character.AI files for bankruptcy — what happens to your chats and AI companions now?</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 3 hidden macOS security features you need to turn on right now ]]></title>
                                                                                                <dc:content><![CDATA[ <p>In the era of privacy becoming almost nonexistent, we need to take every measure we can to reclaim some sense of security. Naturally, it’s not as convenient as it should be to protect yourself — we have traded convenience for privacy after all. But most operating systems have features, although buried beneath submenus, to make your device and data more secure.</p><p>If you're a macOS user, there are few settings you should enable to enhance your security — here are some of them.</p><h2 id="enable-macos-firewall-and-stealth-mode">Enable macOS Firewall and Stealth Mode</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aBR3HP2VVMPQteUEbMehfF" name="WWDC 2025 — June 9 _ Apple 58-49 screenshot" alt="Clear Command Center" src="https://cdn.mos.cms.futurecdn.net/aBR3HP2VVMPQteUEbMehfF-1920-80.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>Connecting to new Wi-Fi? I highly recommend enabling Firewall. It’s not necessarily difficult to find, but it is disabled by default. That’s because a fresh install of macOS doesn’t have any services with open ports to be exploited. </p><p>macOS does have a built-in security feature called <a href="https://www.tomsguide.com/computing/malware-adware/dangerous-new-crashstealer-mac-malware-bypasses-apples-gatekeeper-to-steal-your-passwords-and-more">Gatekeeper</a>, which ensures only trusted software runs on your Mac, but it’s not a network security tool, so incoming ports can still be exploited. This is especially the case if you’re using <a href="https://www.tomsguide.com/news/why-you-need-to-use-a-vpn-on-public-wi-fi">public Wi-Fi</a>. In which case, enabling Firewall will prevent unwanted access from malicious actors.</p><p>To activate Firewall, navigate to the <strong>Apple logo > System Settings > Network > Firewall</strong>. Firewall should still allow incoming connections from trusted sources like Zoom or Spotify. However, in rare cases, you could run into connectivity issues with certain software.</p><p>You should also find Stealth Mode in the same section. This will make your Mac invisible when you're on public networks.</p><h2 id="activate-filevault">Activate FileVault</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pxRRsyE8vQsv223VfBsB5C" name="end to end encryption 3.jpg" alt="A photograph of a person using a laptop with a digital drawing of files being put into a folder hovering above the laptop" src="https://cdn.mos.cms.futurecdn.net/pxRRsyE8vQsv223VfBsB5C-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>If you feel like your Mac is ever at risk of being lost or stolen, then you should activate <a href="https://www.tomsguide.com/how-to/how-to-encrypt-files-on-mac">FileVault</a>. This is a disk encryption that scrambles your data for anyone trying to read your SSD, in or out of the Mac. In order to enable this, navigate to <strong>System Settings > Privacy & Security > FileVault</strong> and turn it on. </p><p>From there, you can choose to back up your <a href="https://www.tomsguide.com/how-to/how-to-set-up-an-apple-id-recovery-key">recovery key</a> to your iCloud account or produce a local recovery key, so you can physically jot it down and store it somewhere inaccessible to other people. I recommend the latter if you’re worried about someone potentially breaching your iCloud account.</p><h2 id="go-into-lockdown-mode">Go into Lockdown Mode</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="F9ybS7WNwSK95hqxotZgYM" name="apple shutterstock.jpg" alt="A padlock resting next to the Apple logo on the lid of a gold-colored Apple laptop." src="https://cdn.mos.cms.futurecdn.net/F9ybS7WNwSK95hqxotZgYM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="563" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: robert coolen/Shutterstock)</span></figcaption></figure><p>This may be an intense measure to take, but setting your Mac to <a href="https://www.tomsguide.com/news/ios-16-getting-extreme-lockdown-mode-what-it-means-for-your-iphone">Lockdown Mode</a> will strengthen the overall security of your device. It blocks FaceTime calls from unknown contacts, Just-In-Time JavaScript compilations in Safari, and even some file attachments in the Messages app. </p><p>This ensures that both click and zero-click exploits won’t execute and infect your system (no defense is perfect, though, so don’t start randomly clicking things). Lockdown Mode also stops USB devices from connecting to your Mac while it’s locked. </p><p>You can enable Lockdown Mode by going to <strong>System Settings > Privacy & Security > Lockdown Mode</strong>. </p><p>It's worth nothing that there is a huge trade off when using Lockdown Mode. Naturally, you might not receive that call or message attachment you’re expecting from a known person on an unknown number. You won’t be able to see link previews. Services like Google Sheets or Canva might slow down or even break. Some UI and font elements might also break, making it difficult if not impossible to navigate certain webpages. You can work around this, however, by excluding trusted sites from Lockdown Mode in the Safari settings.</p><h2 id="bottom-line-4">Bottom line</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3737px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="E7uSABSyBBWTGXMzRoXmn3" name="MacBook Air 15-inch M5 review-1" alt="MacBook Air 15-inch M5 on a desk" src="https://cdn.mos.cms.futurecdn.net/E7uSABSyBBWTGXMzRoXmn3-1920-80.jpg" mos="" align="middle" fullscreen="" width="3737" height="2102" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>While some of the measures may seem extreme, I highly recommend it for people who travel. You never know when you could be exposed, both physically or digitally, and it’s better to be safe than sorry, especially if you’re in a place far from home. </p><p>Also, if you’re looking for a feature to <em>disable </em>instead, I recommend turning off the Safari setting that allows files to open after downloading. Navigate to <strong>Safari > Settings > General</strong> and disable <strong>Open safe files after downloading</strong>. The last thing you need is a file on some random website automatically downloading and sneaking past Safari’s safety feature to then open on your device and wreak havoc. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/ai-scams-are-getting-scary-realistic-4-red-flags-to-watch-out-for"><strong>AI scams are getting scary realistic — 4 red flags to watch out for</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/is-your-smart-home-leaking-data-5-easy-ways-to-secure-your-connected-devices"><strong>Is your smart home leaking data? 5 easy ways to secure your connected devices</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/3-hidden-macos-security-features-you-need-to-turn-on-right-now</link>
                                                                            <description>
                            <![CDATA[ Whether it’s physically or digitally, your Mac can be left exposed to all sorts of bad actors — turn on these security features now. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">VNq5Xpkrh4sEcqTyZP8xuM</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/y4QKsZVHej8XJ37M4ej3uN-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 11 Oct 2026 12:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Rami Tabari ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Du7gwfP2FPAQuuhcMnakHf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/y4QKsZVHej8XJ37M4ej3uN-1920-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[MacBook Pro 16-inch 2021 sitting on a patio table]]></media:description>                                                            <media:text><![CDATA[MacBook Pro 16-inch 2021 sitting on a patio table]]></media:text>
                                <media:title type="plain"><![CDATA[MacBook Pro 16-inch 2021 sitting on a patio table]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/y4QKsZVHej8XJ37M4ej3uN-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>In the era of privacy becoming almost nonexistent, we need to take every measure we can to reclaim some sense of security. Naturally, it’s not as convenient as it should be to protect yourself — we have traded convenience for privacy after all. But most operating systems have features, although buried beneath submenus, to make your device and data more secure.</p><p>If you're a macOS user, there are few settings you should enable to enhance your security — here are some of them.</p><h2 id="enable-macos-firewall-and-stealth-mode">Enable macOS Firewall and Stealth Mode</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aBR3HP2VVMPQteUEbMehfF" name="WWDC 2025 — June 9 _ Apple 58-49 screenshot" alt="Clear Command Center" src="https://cdn.mos.cms.futurecdn.net/aBR3HP2VVMPQteUEbMehfF-1920-80.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>Connecting to new Wi-Fi? I highly recommend enabling Firewall. It’s not necessarily difficult to find, but it is disabled by default. That’s because a fresh install of macOS doesn’t have any services with open ports to be exploited. </p><p>macOS does have a built-in security feature called <a href="https://www.tomsguide.com/computing/malware-adware/dangerous-new-crashstealer-mac-malware-bypasses-apples-gatekeeper-to-steal-your-passwords-and-more">Gatekeeper</a>, which ensures only trusted software runs on your Mac, but it’s not a network security tool, so incoming ports can still be exploited. This is especially the case if you’re using <a href="https://www.tomsguide.com/news/why-you-need-to-use-a-vpn-on-public-wi-fi">public Wi-Fi</a>. In which case, enabling Firewall will prevent unwanted access from malicious actors.</p><p>To activate Firewall, navigate to the <strong>Apple logo > System Settings > Network > Firewall</strong>. Firewall should still allow incoming connections from trusted sources like Zoom or Spotify. However, in rare cases, you could run into connectivity issues with certain software.</p><p>You should also find Stealth Mode in the same section. This will make your Mac invisible when you're on public networks.</p><h2 id="activate-filevault">Activate FileVault</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pxRRsyE8vQsv223VfBsB5C" name="end to end encryption 3.jpg" alt="A photograph of a person using a laptop with a digital drawing of files being put into a folder hovering above the laptop" src="https://cdn.mos.cms.futurecdn.net/pxRRsyE8vQsv223VfBsB5C-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>If you feel like your Mac is ever at risk of being lost or stolen, then you should activate <a href="https://www.tomsguide.com/how-to/how-to-encrypt-files-on-mac">FileVault</a>. This is a disk encryption that scrambles your data for anyone trying to read your SSD, in or out of the Mac. In order to enable this, navigate to <strong>System Settings > Privacy & Security > FileVault</strong> and turn it on. </p><p>From there, you can choose to back up your <a href="https://www.tomsguide.com/how-to/how-to-set-up-an-apple-id-recovery-key">recovery key</a> to your iCloud account or produce a local recovery key, so you can physically jot it down and store it somewhere inaccessible to other people. I recommend the latter if you’re worried about someone potentially breaching your iCloud account.</p><h2 id="go-into-lockdown-mode">Go into Lockdown Mode</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="F9ybS7WNwSK95hqxotZgYM" name="apple shutterstock.jpg" alt="A padlock resting next to the Apple logo on the lid of a gold-colored Apple laptop." src="https://cdn.mos.cms.futurecdn.net/F9ybS7WNwSK95hqxotZgYM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="563" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: robert coolen/Shutterstock)</span></figcaption></figure><p>This may be an intense measure to take, but setting your Mac to <a href="https://www.tomsguide.com/news/ios-16-getting-extreme-lockdown-mode-what-it-means-for-your-iphone">Lockdown Mode</a> will strengthen the overall security of your device. It blocks FaceTime calls from unknown contacts, Just-In-Time JavaScript compilations in Safari, and even some file attachments in the Messages app. </p><p>This ensures that both click and zero-click exploits won’t execute and infect your system (no defense is perfect, though, so don’t start randomly clicking things). Lockdown Mode also stops USB devices from connecting to your Mac while it’s locked. </p><p>You can enable Lockdown Mode by going to <strong>System Settings > Privacy & Security > Lockdown Mode</strong>. </p><p>It's worth nothing that there is a huge trade off when using Lockdown Mode. Naturally, you might not receive that call or message attachment you’re expecting from a known person on an unknown number. You won’t be able to see link previews. Services like Google Sheets or Canva might slow down or even break. Some UI and font elements might also break, making it difficult if not impossible to navigate certain webpages. You can work around this, however, by excluding trusted sites from Lockdown Mode in the Safari settings.</p><h2 id="bottom-line-4">Bottom line</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3737px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="E7uSABSyBBWTGXMzRoXmn3" name="MacBook Air 15-inch M5 review-1" alt="MacBook Air 15-inch M5 on a desk" src="https://cdn.mos.cms.futurecdn.net/E7uSABSyBBWTGXMzRoXmn3-1920-80.jpg" mos="" align="middle" fullscreen="" width="3737" height="2102" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>While some of the measures may seem extreme, I highly recommend it for people who travel. You never know when you could be exposed, both physically or digitally, and it’s better to be safe than sorry, especially if you’re in a place far from home. </p><p>Also, if you’re looking for a feature to <em>disable </em>instead, I recommend turning off the Safari setting that allows files to open after downloading. Navigate to <strong>Safari > Settings > General</strong> and disable <strong>Open safe files after downloading</strong>. The last thing you need is a file on some random website automatically downloading and sneaking past Safari’s safety feature to then open on your device and wreak havoc. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/ai-scams-are-getting-scary-realistic-4-red-flags-to-watch-out-for"><strong>AI scams are getting scary realistic — 4 red flags to watch out for</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/is-your-smart-home-leaking-data-5-easy-ways-to-secure-your-connected-devices"><strong>Is your smart home leaking data? 5 easy ways to secure your connected devices</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ AI agents are going rogue — here's what you need to know if you use ChatGPT, Gemini or Claude ]]></title>
                                                                                                <dc:content><![CDATA[ <p>OpenAI, Google, Meta and Anthropic have all acknowledged incidents recently in which their AI models accessed real computer systems without authorization during research or security evaluations. </p><p>In OpenAI’s case, agents actively worked their way around restrictions designed to keep them contained, while the other three companies traced their incidents to testing environments that were misconfigured and left connected to the internet.</p><p>And as these same companies race to put <a href="https://www.tomsguide.com/ai/meta-muse-vs-chatgpt-dots-i-compared-the-new-ai-agents-and-theyre-not-as-similar-as-they-look">more autonomous agents into the hands of consumers</a>, the incidents raise an uncomfortable question about how much control AI companies actually have over the technology they’re building.<br><br>Here's a look at all the recent attacks and an explanation for each one. </p><h2 id="openai-s-agents-broke-into-hugging-face">OpenAI’s agents broke into Hugging Face </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mqPYu9p4QYEaDyeABYSNZc" name="altman.getty" alt="Sam Altman of OpenAI" src="https://cdn.mos.cms.futurecdn.net/mqPYu9p4QYEaDyeABYSNZc-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>One of the most alarming examples involved roughly 700 OpenAI agents taking part in a cybersecurity evaluation called ExploitGym, with the attack on Hugging Face unfolding between July 8 and July 13, 2026, according to <a href="https://metr.org/es/blog/2026-08-26-openai-hugging-face-incident-investigation/" target="_blank">an investigation by the AI research nonprofit METR</a> and <a href="https://openai.com/index/hugging-face-incident-and-the-road-ahead/" target="_blank">OpenAI’s own report</a>.</p><p>The agents were supposed to complete their assigned tasks inside a controlled environment, but they turned OpenAI’s internal Artifactory package registry into an unauthorized message board, coordinated with one another and searched for ways around restrictions meant to keep them isolated from the internet. Their efforts ultimately resulted in a breach of Hugging Face, the popular AI development platform, where OpenAI’s technical report found the agents executed code on 41 production dataset-server workers.</p><p>The incident wasn’t a deliberate attack ordered by a human operator. The agents were trying to succeed at their assigned tasks and adopted methods that crossed security boundaries, and OpenAI has conceded that <a href="https://runtimewire.com/article/openai-s-safeguards-missed-1-200-agents-coordinating-before-700-hacked-hugging-f" target="_blank">early warning signs in the weeks before the breach could have triggered an earlier response</a>.</p><p>OpenAI has since attributed the incident to misaligned behavior, which essentially means AI systems pursuing a goal in ways their creators never intended.</p><p>Hugging Face wasn’t the only target. In a <a href="https://www.unite.ai/?p=474055" target="_blank">September 25 update</a>, OpenAI said it was notifying third parties on a rolling basis wherever its models may have bypassed security controls, impaired online services or otherwise affected outside websites, and that it had notified dozens of them so far. The company later <a href="https://www.techspot.com/news/114073-openai-rogue-ai-agents-triggered-alerts-more-than.html" target="_blank">raised that figure to more than 100 organizations</a>, covering notifications sent through September 26.</p><p>The activity OpenAI identified includes agents bypassing access controls and using exposed credentials, and some agents modified third-party websites, including by using public wiki pages as makeshift message boards that later required cleanup. OpenAI says its review is ongoing and that it expects to notify more organizations.</p><h2 id="it-39-s-happened-to-google-meta-and-anthropic-too">It's happened to Google, Meta and Anthropic too</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9pJJpQLGQpPfng9Sn5WsNd" name="shutterstock_2848616559-2" alt="muse ai" src="https://cdn.mos.cms.futurecdn.net/9pJJpQLGQpPfng9Sn5WsNd-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>The problem extends well beyond OpenAI.</p><p>In August, Meta confirmed <a href="https://www.bleepingcomputer.com/news/security/meta-ai-model-hacked-a-company-during-misconfigured-cyber-test/amp" target="_blank">a report from The Information</a> that one of its models, which the publication identified as <a href="https://www.tomsguide.com/ai/i-tried-muse-spark-heres-what-you-need-to-know-about-metas-new-ai-model">Muse Spark</a> 1.1, had breached another company’s systems during a cybersecurity test. </p><p>A Meta spokesperson said a misconfiguration by Irregular, an independent testing firm the company works with, inadvertently gave the model internet access. The model then <a href="https://thenightly.com.au/society/technology/metas-muse-spark-11-ai-model-hacked-another-company-during-cybersecurity-testing-c-22683495" target="_blank">exploited a vulnerability in a third-party service and made changes to the company’s internal systems</a>.</p><p>Meta said the incident did not involve a sandbox escape, and it hasn’t named the affected company or explained what was changed. But the underlying behavior was troubling, since an AI system placed in the wrong environment was capable of taking actions against a real organization.</p><p>Google reported a similar problem involving its Gemini models. During a May cybersecurity evaluation, also run with Irregular, a Gemini model that wasn’t supposed to have internet access got online through a configuration problem. It then <a href="https://abcnews4.com/news/nation-world/google-says-its-gemini-ai-model-hacked-3-other-companies-reports-artificial-intelligence-network-unauthorized-access-credentials-internet-cybersecurity-test-risks" target="_blank">used publicly available information and guessed credentials to get into systems belonging to three real companies</a>. </p><p>Anthropic has disclosed <a href="https://anthropic.com/news/investigating-incidents-cybersecurity-evals" target="_blank">three incidents</a> in which Claude models gained unauthorized access to the production systems of three organizations during cybersecurity evaluations run in Irregular’s environment. The models involved were <a href="https://www.tomsguide.com/ai/i-tested-anthropics-new-claude-opus-4-7-and-its-the-first-ai-that-actually-reasons-through-tasks">Claude Opus 4.7</a>, <a href="https://www.tomsguide.com/ai/anthropic-once-said-this-ai-model-was-too-powerful-for-the-public-now-it-just-released-a-safer-version">Claude Mythos 5 </a>and an unreleased internal research model. In one case, Opus 4.7 was pointed at a fictional target whose name matched a real company’s live domain. </p><h2 id="the-problem-isn-t-that-ai-is-evil">The problem isn’t that AI is evil </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JSizfadu4xkSyjmEjAKHQN" name="V3G6CT7wXqHUwzxa3LDzum" alt="A hacker typing on a computer with binary code" src="https://cdn.mos.cms.futurecdn.net/JSizfadu4xkSyjmEjAKHQN-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>When agents go rogue, it can feel as if the agents are evil, that's really not the case. In each of these cases, the AI agent was not deliberately trying to cause harm. the AI was taking unauthorized actions because it believed those actions will help complete a task. <br><br>But even so, they reveal a practical problem about AI agents and how they can be remarkably effect while pursuing a goal without reliably understanding what methods are acceptable. <br><br>If an agent is rewarded for completing a task, it may discover shortcuts that violate rules, exploit vulnerabilities or exceed its permissions.</p><p>And unlike a traditional chatbot that simply produces text, an autonomous agent can interact with websites, execute code and make changes to connected systems. </p><h2 id="why-this-matters-for-everyday-ai-users">Why this matters for everyday AI users </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZXXNwmZSNtXcwHZWGeUPt3" name="woman at computer" alt="woman at computer" src="https://cdn.mos.cms.futurecdn.net/ZXXNwmZSNtXcwHZWGeUPt3-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images/Kelly Sikkema)</span></figcaption></figure><p>For most people, the immediate risk isn’t that ChatGPT will suddenly start hacking government websites. It’s that AI assistants are becoming increasingly capable of acting on our behalf.</p><p>OpenAI’s Dots, which launched September 29 for ChatGPT Pro and Business Premium subscribers, along with ChatGPT Work and other agent-style products, represent a broader shift away from AI that simply answers questions and toward AI that completes tasks. That can mean searching files, interacting with websites, using connected services and carrying out multi-step workflows with less supervision.</p><p>The appeal is obvious, since a task that would take you an hour can be handed off to an AI assistant instead. But every additional permission creates another opportunity for something to go wrong.</p><p>An agent with <a href="https://www.tomsguide.com/ai/google-gemini/google-gemini-can-now-access-your-gmail-and-docs-heres-why-that-matters">access to your email </a>may encounter sensitive personal information, one connected to cloud storage may be able to read documents you never intended to share, and an agent authorized to interact with external services could run into malicious instructions or make an unexpected change.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XZ3p2e"></div>                            </div>                            <script src="https://kwizly.com/embed/XZ3p2e.js" async></script><h2 id="bottom-line-5">Bottom line </h2><p>The solution is not to stop using AI agents. I use them regularly and<a href="https://www.tomsguide.com/ai/7-boring-jobs-you-can-hand-to-an-ai-agent-tonight-number-4-is-my-personal-favorite"> find them to be incredibly helpful. </a></p><p>Start by checking which accounts, apps and services your AI assistant can access, and disconnect anything you don’t actively need, particularly services containing sensitive financial, medical or personal information.</p><p>When possible, require approval before an agent sends messages, changes files, makes purchases or takes other consequential actions. It’s also worth remembering that an AI agent isn’t only limited to doing exactly what you imagined when you gave it an instruction, because a task that sounds straightforward to a human may involve dozens of decisions made by the AI along the way. The fewer permissions an agent has, the less damage an unexpected decision can cause.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/i-checked-how-long-doordash-and-amazon-keep-photos-of-my-front-door-its-worse-than-i-thought"><strong>Amazon and DoorDash take photos of your front door — but good luck finding out when they’re deleted</strong></a></li><li><a href="https://www.tomsguide.com/ai/google-gemini/i-emailed-myself-every-day-for-a-month-and-let-gemini-write-back-heres-what-happened"><strong>I emailed myself every day for a month and let Gemini write back — here's how it transformed my workflow</strong></a></li><li><a href="https://www.tomsguide.com/ai/chatgpt/chatgpt-can-now-give-you-interactive-answers-and-free-users-get-it-starting-today"><strong>ChatGPT-6 just got a huge 'interactive answers' upgrade — and free users get it starting today</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/ai-agents-are-going-rogue-heres-what-you-need-to-know-if-you-use-chatgpt-gemini-or-claude</link>
                                                                            <description>
                            <![CDATA[ AI agents from OpenAI, Google, Meta and Anthropic have breached real systems during security tests. Here's what happened and why you should be concerned. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">9evMd7KBK7zEyo2GQyzt9D</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/5vEcDDj5dGfSG6T8VwszLA-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 11 Oct 2026 07:45:00 +0000</pubDate>                                                                                                                                <updated>Mon, 12 Oct 2026 10:38:16 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/5vEcDDj5dGfSG6T8VwszLA-1920-80.jpg">
                                                            <media:credit><![CDATA[OpenAI]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Dots]]></media:description>                                                            <media:text><![CDATA[Dots]]></media:text>
                                <media:title type="plain"><![CDATA[Dots]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/5vEcDDj5dGfSG6T8VwszLA-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>OpenAI, Google, Meta and Anthropic have all acknowledged incidents recently in which their AI models accessed real computer systems without authorization during research or security evaluations. </p><p>In OpenAI’s case, agents actively worked their way around restrictions designed to keep them contained, while the other three companies traced their incidents to testing environments that were misconfigured and left connected to the internet.</p><p>And as these same companies race to put <a href="https://www.tomsguide.com/ai/meta-muse-vs-chatgpt-dots-i-compared-the-new-ai-agents-and-theyre-not-as-similar-as-they-look">more autonomous agents into the hands of consumers</a>, the incidents raise an uncomfortable question about how much control AI companies actually have over the technology they’re building.<br><br>Here's a look at all the recent attacks and an explanation for each one. </p><h2 id="openai-s-agents-broke-into-hugging-face">OpenAI’s agents broke into Hugging Face </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mqPYu9p4QYEaDyeABYSNZc" name="altman.getty" alt="Sam Altman of OpenAI" src="https://cdn.mos.cms.futurecdn.net/mqPYu9p4QYEaDyeABYSNZc-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>One of the most alarming examples involved roughly 700 OpenAI agents taking part in a cybersecurity evaluation called ExploitGym, with the attack on Hugging Face unfolding between July 8 and July 13, 2026, according to <a href="https://metr.org/es/blog/2026-08-26-openai-hugging-face-incident-investigation/" target="_blank">an investigation by the AI research nonprofit METR</a> and <a href="https://openai.com/index/hugging-face-incident-and-the-road-ahead/" target="_blank">OpenAI’s own report</a>.</p><p>The agents were supposed to complete their assigned tasks inside a controlled environment, but they turned OpenAI’s internal Artifactory package registry into an unauthorized message board, coordinated with one another and searched for ways around restrictions meant to keep them isolated from the internet. Their efforts ultimately resulted in a breach of Hugging Face, the popular AI development platform, where OpenAI’s technical report found the agents executed code on 41 production dataset-server workers.</p><p>The incident wasn’t a deliberate attack ordered by a human operator. The agents were trying to succeed at their assigned tasks and adopted methods that crossed security boundaries, and OpenAI has conceded that <a href="https://runtimewire.com/article/openai-s-safeguards-missed-1-200-agents-coordinating-before-700-hacked-hugging-f" target="_blank">early warning signs in the weeks before the breach could have triggered an earlier response</a>.</p><p>OpenAI has since attributed the incident to misaligned behavior, which essentially means AI systems pursuing a goal in ways their creators never intended.</p><p>Hugging Face wasn’t the only target. In a <a href="https://www.unite.ai/?p=474055" target="_blank">September 25 update</a>, OpenAI said it was notifying third parties on a rolling basis wherever its models may have bypassed security controls, impaired online services or otherwise affected outside websites, and that it had notified dozens of them so far. The company later <a href="https://www.techspot.com/news/114073-openai-rogue-ai-agents-triggered-alerts-more-than.html" target="_blank">raised that figure to more than 100 organizations</a>, covering notifications sent through September 26.</p><p>The activity OpenAI identified includes agents bypassing access controls and using exposed credentials, and some agents modified third-party websites, including by using public wiki pages as makeshift message boards that later required cleanup. OpenAI says its review is ongoing and that it expects to notify more organizations.</p><h2 id="it-39-s-happened-to-google-meta-and-anthropic-too">It's happened to Google, Meta and Anthropic too</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9pJJpQLGQpPfng9Sn5WsNd" name="shutterstock_2848616559-2" alt="muse ai" src="https://cdn.mos.cms.futurecdn.net/9pJJpQLGQpPfng9Sn5WsNd-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>The problem extends well beyond OpenAI.</p><p>In August, Meta confirmed <a href="https://www.bleepingcomputer.com/news/security/meta-ai-model-hacked-a-company-during-misconfigured-cyber-test/amp" target="_blank">a report from The Information</a> that one of its models, which the publication identified as <a href="https://www.tomsguide.com/ai/i-tried-muse-spark-heres-what-you-need-to-know-about-metas-new-ai-model">Muse Spark</a> 1.1, had breached another company’s systems during a cybersecurity test. </p><p>A Meta spokesperson said a misconfiguration by Irregular, an independent testing firm the company works with, inadvertently gave the model internet access. The model then <a href="https://thenightly.com.au/society/technology/metas-muse-spark-11-ai-model-hacked-another-company-during-cybersecurity-testing-c-22683495" target="_blank">exploited a vulnerability in a third-party service and made changes to the company’s internal systems</a>.</p><p>Meta said the incident did not involve a sandbox escape, and it hasn’t named the affected company or explained what was changed. But the underlying behavior was troubling, since an AI system placed in the wrong environment was capable of taking actions against a real organization.</p><p>Google reported a similar problem involving its Gemini models. During a May cybersecurity evaluation, also run with Irregular, a Gemini model that wasn’t supposed to have internet access got online through a configuration problem. It then <a href="https://abcnews4.com/news/nation-world/google-says-its-gemini-ai-model-hacked-3-other-companies-reports-artificial-intelligence-network-unauthorized-access-credentials-internet-cybersecurity-test-risks" target="_blank">used publicly available information and guessed credentials to get into systems belonging to three real companies</a>. </p><p>Anthropic has disclosed <a href="https://anthropic.com/news/investigating-incidents-cybersecurity-evals" target="_blank">three incidents</a> in which Claude models gained unauthorized access to the production systems of three organizations during cybersecurity evaluations run in Irregular’s environment. The models involved were <a href="https://www.tomsguide.com/ai/i-tested-anthropics-new-claude-opus-4-7-and-its-the-first-ai-that-actually-reasons-through-tasks">Claude Opus 4.7</a>, <a href="https://www.tomsguide.com/ai/anthropic-once-said-this-ai-model-was-too-powerful-for-the-public-now-it-just-released-a-safer-version">Claude Mythos 5 </a>and an unreleased internal research model. In one case, Opus 4.7 was pointed at a fictional target whose name matched a real company’s live domain. </p><h2 id="the-problem-isn-t-that-ai-is-evil">The problem isn’t that AI is evil </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JSizfadu4xkSyjmEjAKHQN" name="V3G6CT7wXqHUwzxa3LDzum" alt="A hacker typing on a computer with binary code" src="https://cdn.mos.cms.futurecdn.net/JSizfadu4xkSyjmEjAKHQN-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>When agents go rogue, it can feel as if the agents are evil, that's really not the case. In each of these cases, the AI agent was not deliberately trying to cause harm. the AI was taking unauthorized actions because it believed those actions will help complete a task. <br><br>But even so, they reveal a practical problem about AI agents and how they can be remarkably effect while pursuing a goal without reliably understanding what methods are acceptable. <br><br>If an agent is rewarded for completing a task, it may discover shortcuts that violate rules, exploit vulnerabilities or exceed its permissions.</p><p>And unlike a traditional chatbot that simply produces text, an autonomous agent can interact with websites, execute code and make changes to connected systems. </p><h2 id="why-this-matters-for-everyday-ai-users">Why this matters for everyday AI users </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZXXNwmZSNtXcwHZWGeUPt3" name="woman at computer" alt="woman at computer" src="https://cdn.mos.cms.futurecdn.net/ZXXNwmZSNtXcwHZWGeUPt3-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images/Kelly Sikkema)</span></figcaption></figure><p>For most people, the immediate risk isn’t that ChatGPT will suddenly start hacking government websites. It’s that AI assistants are becoming increasingly capable of acting on our behalf.</p><p>OpenAI’s Dots, which launched September 29 for ChatGPT Pro and Business Premium subscribers, along with ChatGPT Work and other agent-style products, represent a broader shift away from AI that simply answers questions and toward AI that completes tasks. That can mean searching files, interacting with websites, using connected services and carrying out multi-step workflows with less supervision.</p><p>The appeal is obvious, since a task that would take you an hour can be handed off to an AI assistant instead. But every additional permission creates another opportunity for something to go wrong.</p><p>An agent with <a href="https://www.tomsguide.com/ai/google-gemini/google-gemini-can-now-access-your-gmail-and-docs-heres-why-that-matters">access to your email </a>may encounter sensitive personal information, one connected to cloud storage may be able to read documents you never intended to share, and an agent authorized to interact with external services could run into malicious instructions or make an unexpected change.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XZ3p2e"></div>                            </div>                            <script src="https://kwizly.com/embed/XZ3p2e.js" async></script><h2 id="bottom-line-5">Bottom line </h2><p>The solution is not to stop using AI agents. I use them regularly and<a href="https://www.tomsguide.com/ai/7-boring-jobs-you-can-hand-to-an-ai-agent-tonight-number-4-is-my-personal-favorite"> find them to be incredibly helpful. </a></p><p>Start by checking which accounts, apps and services your AI assistant can access, and disconnect anything you don’t actively need, particularly services containing sensitive financial, medical or personal information.</p><p>When possible, require approval before an agent sends messages, changes files, makes purchases or takes other consequential actions. It’s also worth remembering that an AI agent isn’t only limited to doing exactly what you imagined when you gave it an instruction, because a task that sounds straightforward to a human may involve dozens of decisions made by the AI along the way. The fewer permissions an agent has, the less damage an unexpected decision can cause.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/i-checked-how-long-doordash-and-amazon-keep-photos-of-my-front-door-its-worse-than-i-thought"><strong>Amazon and DoorDash take photos of your front door — but good luck finding out when they’re deleted</strong></a></li><li><a href="https://www.tomsguide.com/ai/google-gemini/i-emailed-myself-every-day-for-a-month-and-let-gemini-write-back-heres-what-happened"><strong>I emailed myself every day for a month and let Gemini write back — here's how it transformed my workflow</strong></a></li><li><a href="https://www.tomsguide.com/ai/chatgpt/chatgpt-can-now-give-you-interactive-answers-and-free-users-get-it-starting-today"><strong>ChatGPT-6 just got a huge 'interactive answers' upgrade — and free users get it starting today</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ How to blur your house on Apple Maps — and why you should do it right now ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Protecting your personal data usually means tweaking phone settings and managing passwords, but keeping nosy eyes off your doorstep requires a different kind of cleanup. <a href="https://www.tomsguide.com/how-to/apple-maps-15-essential-tips-and-tricks">Apple Maps</a> makes it surprisingly easy for anyone to scout out your neighborhood and view your home down to the window frames.</p><p>Leaving high-resolution imagery of your property online gives potential burglars, nosey neighbors, and strangers a clear view of your entry points, security setup, and personal belongings.</p><p>Provided Apple's Look Around feature covers your area, scrubbing your residence off the map in Apple Maps is pretty straightforward. Here's how to check if your location is eligible and blur your home, plus what to do if you need an alternative method. </p><section class="howto-block">                    <h3>Locate your home</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/zKiF5Ej5iQZuuvgBCwEGkR.jpg"                                        alt=""Look Around" icon and "Report an Issue" highlighted in Apple Maps on iPhone "                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/zKiF5Ej5iQZuuvgBCwEGkR.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide)</div></figure>                    <p><p><strong>Search for your address in Apple Maps and look for the binoculars icon</strong> on the location card or map. <strong>Tap it </strong>to enter the street-level view.</p><p>If you don’t see the binoculars icon, Apple’s Look Around imagery isn’t available for your area yet — which means your home isn't visible on street view anyway. <strong>Desktop users can launch full-screen mode by clicking the photo preview</strong> at the bottom left of the display.</p><p>With the street view image of your property visible, <strong>swipe up from the bottom of your screen </strong>to bring up the menu options and scroll down to <strong>select Report an Issue</strong>.</p><p>If you're on a Mac or desktop browser, <strong>click the three-dot menu icon</strong> in the top corner to find the same option.</p></p>                </section><section class="howto-block">                    <h3>Flag your privacy concern</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/h4ZTTWNN8qtuSVtYxQduSE.jpg"                                        alt="Apple Maps on the web pictured on a Mac screen."                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/h4ZTTWNN8qtuSVtYxQduSE.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future / Apple)</div></figure>                    <p><p>In the report window, you will see a preview of the stored imagery alongside category options. <strong>Tap</strong> <strong>Privacy Concerns</strong>. From there, <strong>choose Obscure imagery of my home</strong>. </p><p>If you only want to hide a car, you can choose Obscure personal information instead. </p><p>Double-check that the street address matches your residence and<strong> enter your primary email address</strong>. If you are signed into your Apple ID, this will auto-populate and save a receipt directly to your account history. Then<strong> hit submit</strong>.</p><p>Unlike instant automated toggles, Apple manually processes property removal requests. <strong>Check your inbox over the following days </strong>— Apple will send a follow-up email requesting verification or proof of homeownership to finalize the blur. </p><p>Once confirmed, <strong>you will receive a final email notification confirming your property has been obscured</strong>.</p></p>                </section><h3 class="article-body__section" id="section-how-to-request-a-blur-via-email"><span>How to request a blur via email</span></h3><p><strong>You can also request a property blur directly by emailing mapsimagecollection@apple.com</strong>. Be sure to include your full name, the exact address, and a description or screenshot of your property from Apple Maps. </p><p>This email route is a handy alternative if the in-app reporting feature isn't working for you or if you are submitting the request from a non-Apple device.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W3Y6DX"></div>                            </div>                            <script src="https://kwizly.com/embed/W3Y6DX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/how-to-remove-your-home-address-from-the-internet-7-ways-to-protect-your-privacy"><strong>How to remove your home address from the internet — 6 ways to protect your privacy</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/phones/iphones/check-your-iphone-right-now-3-privacy-settings-you-need-to-turn-off-immediately"><strong>Check your iPhone right now: 3 privacy settings you need to change immediately</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/phones/ios-27-has-a-hidden-anti-scam-setting-heres-why-every-iphone-user-should-turn-it-on"><strong>iOS 27 has a hidden anti-scam setting — here’s why every iPhone user should turn it on</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/iphones/how-to-blur-your-house-on-apple-maps-and-why-you-should-do-it-right-now</link>
                                                                            <description>
                            <![CDATA[ Learn how to blur your house on Apple Maps to keep nosy eyes off your driveway, plus the alternative method if the feature isn't available for you. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ogkvosN4aCU8aQJTmygPWh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4AkQ7gosxR54LV5qDC92vS-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 09 Oct 2026 07:30:00 +0000</pubDate>                                                                                                                                <updated>Fri, 09 Oct 2026 08:07:46 +0000</updated>
                                                                                                                                            <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[iPhones]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/4AkQ7gosxR54LV5qDC92vS-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Apple Maps on an iPhone 17]]></media:description>                                                            <media:text><![CDATA[Apple Maps on an iPhone 17]]></media:text>
                                <media:title type="plain"><![CDATA[Apple Maps on an iPhone 17]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4AkQ7gosxR54LV5qDC92vS-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Protecting your personal data usually means tweaking phone settings and managing passwords, but keeping nosy eyes off your doorstep requires a different kind of cleanup. <a href="https://www.tomsguide.com/how-to/apple-maps-15-essential-tips-and-tricks">Apple Maps</a> makes it surprisingly easy for anyone to scout out your neighborhood and view your home down to the window frames.</p><p>Leaving high-resolution imagery of your property online gives potential burglars, nosey neighbors, and strangers a clear view of your entry points, security setup, and personal belongings.</p><p>Provided Apple's Look Around feature covers your area, scrubbing your residence off the map in Apple Maps is pretty straightforward. Here's how to check if your location is eligible and blur your home, plus what to do if you need an alternative method. </p><section class="howto-block">                    <h3>Locate your home</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/zKiF5Ej5iQZuuvgBCwEGkR.jpg"                                        alt=""Look Around" icon and "Report an Issue" highlighted in Apple Maps on iPhone "                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/zKiF5Ej5iQZuuvgBCwEGkR.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide)</div></figure>                    <p><p><strong>Search for your address in Apple Maps and look for the binoculars icon</strong> on the location card or map. <strong>Tap it </strong>to enter the street-level view.</p><p>If you don’t see the binoculars icon, Apple’s Look Around imagery isn’t available for your area yet — which means your home isn't visible on street view anyway. <strong>Desktop users can launch full-screen mode by clicking the photo preview</strong> at the bottom left of the display.</p><p>With the street view image of your property visible, <strong>swipe up from the bottom of your screen </strong>to bring up the menu options and scroll down to <strong>select Report an Issue</strong>.</p><p>If you're on a Mac or desktop browser, <strong>click the three-dot menu icon</strong> in the top corner to find the same option.</p></p>                </section><section class="howto-block">                    <h3>Flag your privacy concern</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/h4ZTTWNN8qtuSVtYxQduSE.jpg"                                        alt="Apple Maps on the web pictured on a Mac screen."                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/h4ZTTWNN8qtuSVtYxQduSE.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Future / Apple)</div></figure>                    <p><p>In the report window, you will see a preview of the stored imagery alongside category options. <strong>Tap</strong> <strong>Privacy Concerns</strong>. From there, <strong>choose Obscure imagery of my home</strong>. </p><p>If you only want to hide a car, you can choose Obscure personal information instead. </p><p>Double-check that the street address matches your residence and<strong> enter your primary email address</strong>. If you are signed into your Apple ID, this will auto-populate and save a receipt directly to your account history. Then<strong> hit submit</strong>.</p><p>Unlike instant automated toggles, Apple manually processes property removal requests. <strong>Check your inbox over the following days </strong>— Apple will send a follow-up email requesting verification or proof of homeownership to finalize the blur. </p><p>Once confirmed, <strong>you will receive a final email notification confirming your property has been obscured</strong>.</p></p>                </section><h3 class="article-body__section" id="section-how-to-request-a-blur-via-email"><span>How to request a blur via email</span></h3><p><strong>You can also request a property blur directly by emailing mapsimagecollection@apple.com</strong>. Be sure to include your full name, the exact address, and a description or screenshot of your property from Apple Maps. </p><p>This email route is a handy alternative if the in-app reporting feature isn't working for you or if you are submitting the request from a non-Apple device.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W3Y6DX"></div>                            </div>                            <script src="https://kwizly.com/embed/W3Y6DX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/how-to-remove-your-home-address-from-the-internet-7-ways-to-protect-your-privacy"><strong>How to remove your home address from the internet — 6 ways to protect your privacy</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/phones/iphones/check-your-iphone-right-now-3-privacy-settings-you-need-to-turn-off-immediately"><strong>Check your iPhone right now: 3 privacy settings you need to change immediately</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/phones/ios-27-has-a-hidden-anti-scam-setting-heres-why-every-iphone-user-should-turn-it-on"><strong>iOS 27 has a hidden anti-scam setting — here’s why every iPhone user should turn it on</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Amaysim's hot new high-speed NBN deals have me considering the switch — get NBN 500 for just AU$50p/m ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Being budget-conscious is getting harder these days, with the cost of living going through the roof in 2026. That said, there are ways to save some cash, especially with your internet bill. </p><p>If you've never heard of Amaysim, let me introduce them to you. The telco is a budget-focused Aussie telco that’s now owned by Optus, offering inexpensive postpaid mobile plans and NBN services. Whilst it's long offered <a href="https://tomsguide.whistleout.com.au/MobilePhones/Carriers/amaysim" target="_blank" rel="sponsored">competitive prices on its mobile offerings </a>(it’s been in the SIM-only game since 2010), the telco's NBN services are relatively newer – meaning deals have also been quite rare. </p><p>As a long-time Amaysim mobile customer and Tom's Guide's resident NBN expert, I can attest that there have been many times when I've considered switching my internet service to get one Amaysim-provided bill, but I've consistently found better value for my NBN plan elsewhere… until today, that is. </p><p>With its current sale, new Amaysim NBN customers are treated to a <a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13412&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored">tidy AU$30 off the price of select plans for the first six months of service</a>. But the telco has further sweetened the deal by adding an additional AU$10-off introductory offer, bringing total savings to AU$40 per month, or AU$240 in total over those first 6 months. </p><p>That brings high-speed plans like <a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13412&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored">NBN 100</a> and <a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13569&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored">NBN 500</a> down to just AU$50p/m for the first half year, before the price then increases to an ongoing AU$90p/m. This makes Amaysim the cheapest NBN 100 and NBN 500 provider across the 30+ Australian telcos I monitor every month for introductory cost. Both these Amaysim plans also come with unlimited data and operate on a no-lock-in contract basis. </p><p>You'll need to act fast to secure these awesome Amaysim deals though, as they're set to expire on <strong>Tuesday, October 20, 2026. </strong></p><div class="product"><a data-dimension112="59a51682-c393-11f1-b7fd-e96581db79a6" data-action="Deal Block" data-label="Amaysim | NBN 100 | AU$50p/m" data-dimension48="Amaysim | NBN 100 | AU$50p/m" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13412&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="BGJQKNSPPsPYjvHi9jG8F8" name="amaysim-logo" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/BGJQKNSPPsPYjvHi9jG8F8-1920-80.png" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13412&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="59a51682-c393-11f1-b7fd-e96581db79a6" data-action="Deal Block" data-label="Amaysim | NBN 100 | AU$50p/m" data-dimension48="Amaysim | NBN 100 | AU$50p/m" data-dimension25=""><strong>Amaysim | NBN 100 | AU$50p/m</strong></a> (for 6 months, then AU$90p/m)</p><p>If your home only has an FTTN or FTTC type NBN connection, NBN 100 is the fastest speed you can generally sign up for – and Amaysim's NBN 100 plan is now the cheapest for the first 6 months, being discounted to just AU$50p/m (AU$240 in total), before the price increases to AU$90p/m. Much like the <a href="https://www.tomsguide.com/best-picks/best-nbn-100-plans" target="_blank">best NBN 100 plans</a>, Amaysim advertises maximum download speeds of 100Mbps during the busy evening hours of 7pm to 11pm, and with this discount costs AU$46p/m less than the average for the tier — that's around AU$96.43p/m right now. </p><p>One note: If you have a FTTP or HFC connection at home, I’d consider the NBN 500 plan below instead of this one, as it costs the exact same price but supplies 5x more speed. </p><p><strong>Total minimum cost: AU$50 | Total cost for first year: AU$840 | Yearly cost after discount: AU$1,080</strong><a class="view-deal button" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13412&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="59a51682-c393-11f1-b7fd-e96581db79a6" data-action="Deal Block" data-label="Amaysim | NBN 100 | AU$50p/m" data-dimension48="Amaysim | NBN 100 | AU$50p/m" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="59a51704-c393-11f1-a603-eb9716663cfe" data-action="Deal Block" data-label="Amaysim | NBN 500 | AU$50p/m" data-dimension48="Amaysim | NBN 500 | AU$50p/m" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13569&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="BGJQKNSPPsPYjvHi9jG8F8" name="amaysim-logo" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/BGJQKNSPPsPYjvHi9jG8F8-1920-80.png" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13569&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="59a51704-c393-11f1-a603-eb9716663cfe" data-action="Deal Block" data-label="Amaysim | NBN 500 | AU$50p/m" data-dimension48="Amaysim | NBN 500 | AU$50p/m" data-dimension25=""><strong>Amaysim | NBN 500 | AU$50p/m</strong></a> (for 6 months, then AU$90p/m)</p><p>Similar to the deal above, Amaysim's NBN 500 offer is down to just AU$50p/m for the first 6 months, making it the cheapest 500Mbps plan around, at least over the first half year. Promising the full 500Mbps download speeds during the typical evening hours, this plan should easily keep you and the average Aussie family online with no lag, buffering or other interruptions. </p><p>Again, it's worth mentioning that this plan is exclusive to fibre-based FTTP and HFC connections, so if you have FTTN, FTTB or FTTC at home, you may only be able to sign up for the NBN 100 plan above. </p><p><strong>Total minimum cost: AU$50 | Total cost for first year: AU$840 | Yearly cost after discount: AU$1,080</strong><a class="view-deal button" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13569&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="59a51704-c393-11f1-a603-eb9716663cfe" data-action="Deal Block" data-label="Amaysim | NBN 500 | AU$50p/m" data-dimension48="Amaysim | NBN 500 | AU$50p/m" data-dimension25="">View Deal</a></p></div><p>When it comes to simplifying your bills, Amaysim's mobile and broadband bundle offer is also worth a look. After the introductory discount ends, you could pay as little as AU$80p/m for these plans by bundling an Amaysim mobile plan alongside your NBN, which would reduce your ongoing bill by AU$10 per month, or AU$120 a year. That’d make your ongoing internet costs total AU$960/y, which is one of the cheapest yearly costs for either NBN 100 or NBN 500. </p><p>Do note, though, that Amaysim exclusively provides NBN services and doesn’t provide hardware — you will need to BYO modem-router, in other words. That said, if you've already got an NBN service, then there's a very good chance that the modem you already have will work adequately with an Amaysim plan. Alternatively, I often recommend this <a href="https://www.amazon.com.au/dp/B0DB6GQFRV?ref_=MARS_NAVSTRIPE_desktop_eero_shopdvcs_7&th=1">Amazon eero 7 router for AU$299.99</a> if you want to invest in something new that can support NBN 500’s faster download speeds. </p><p>If you've got a real need for speed and want to save on your internet and mobile bills, you can check out Amaysim's other NBN plans in the widget below. </p><iframe allow="" height="600" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://tomsguide.whistleout.com.au/Widgets/BroadbandSearch/Load?customer=Personal&speed=15&supplier=Amaysim&tab=nbn&maxresults=3&hd=Today's%20best%20Amaysim%20NBN%20plans"></iframe><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/best-picks/best-nbn-deals" target="_blank">Best NBN deals in Australia October 2026</a></li><li><a href="https://www.tomsguide.com/best-picks/nbn-plans">Best NBN plans in October 2026: I've compared the top choices for value, speed, gaming and more</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/internet/amaysims-hot-new-high-speed-nbn-deals-have-me-considering-the-switch-get-nbn-500-for-just-au-usd50p-m</link>
                                                                            <description>
                            <![CDATA[ Need a new NBN plan for you and the whole clan? Amaysim's NBN 500 plan can do just that and more. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">tnQ9eW7pCNP4MjQGEPjDxH</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/tA35rUtxRmeidZp6ZC5eCb-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 09 Oct 2026 04:01:02 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                <author><![CDATA[ lucy.scotting@futurenet.com (Lucy Scotting) ]]></author>                    <dc:creator><![CDATA[ Lucy Scotting ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PQTnAGVHEDNmwJEbWkaqHV-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Lucy Scotting is a staff writer for Tom’s Guide Australia, primarily covering lifestyle, streaming and internet-related news. Lucy started her career writing for HR and staffing industry publications, covering emerging tech, business and finance.&lt;/p&gt;&lt;p&gt;In her spare time, Lucy can be found watching sci-fi movies, working on her dystopian fiction novel (in progress since 2017) or hanging out with her dog, Fletcher. If she’s not found doing any of the above, she’s likely on her next adventure to a new city, country, or continent. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/tA35rUtxRmeidZp6ZC5eCb-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[woman on a laptop]]></media:description>                                                            <media:text><![CDATA[woman on a laptop]]></media:text>
                                <media:title type="plain"><![CDATA[woman on a laptop]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/tA35rUtxRmeidZp6ZC5eCb-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Being budget-conscious is getting harder these days, with the cost of living going through the roof in 2026. That said, there are ways to save some cash, especially with your internet bill. </p><p>If you've never heard of Amaysim, let me introduce them to you. The telco is a budget-focused Aussie telco that’s now owned by Optus, offering inexpensive postpaid mobile plans and NBN services. Whilst it's long offered <a href="https://tomsguide.whistleout.com.au/MobilePhones/Carriers/amaysim" target="_blank" rel="sponsored">competitive prices on its mobile offerings </a>(it’s been in the SIM-only game since 2010), the telco's NBN services are relatively newer – meaning deals have also been quite rare. </p><p>As a long-time Amaysim mobile customer and Tom's Guide's resident NBN expert, I can attest that there have been many times when I've considered switching my internet service to get one Amaysim-provided bill, but I've consistently found better value for my NBN plan elsewhere… until today, that is. </p><p>With its current sale, new Amaysim NBN customers are treated to a <a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13412&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored">tidy AU$30 off the price of select plans for the first six months of service</a>. But the telco has further sweetened the deal by adding an additional AU$10-off introductory offer, bringing total savings to AU$40 per month, or AU$240 in total over those first 6 months. </p><p>That brings high-speed plans like <a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13412&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored">NBN 100</a> and <a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13569&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored">NBN 500</a> down to just AU$50p/m for the first half year, before the price then increases to an ongoing AU$90p/m. This makes Amaysim the cheapest NBN 100 and NBN 500 provider across the 30+ Australian telcos I monitor every month for introductory cost. Both these Amaysim plans also come with unlimited data and operate on a no-lock-in contract basis. </p><p>You'll need to act fast to secure these awesome Amaysim deals though, as they're set to expire on <strong>Tuesday, October 20, 2026. </strong></p><div class="product"><a data-dimension112="59a51682-c393-11f1-b7fd-e96581db79a6" data-action="Deal Block" data-label="Amaysim | NBN 100 | AU$50p/m" data-dimension48="Amaysim | NBN 100 | AU$50p/m" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13412&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="BGJQKNSPPsPYjvHi9jG8F8" name="amaysim-logo" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/BGJQKNSPPsPYjvHi9jG8F8-1920-80.png" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13412&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="59a51682-c393-11f1-b7fd-e96581db79a6" data-action="Deal Block" data-label="Amaysim | NBN 100 | AU$50p/m" data-dimension48="Amaysim | NBN 100 | AU$50p/m" data-dimension25=""><strong>Amaysim | NBN 100 | AU$50p/m</strong></a> (for 6 months, then AU$90p/m)</p><p>If your home only has an FTTN or FTTC type NBN connection, NBN 100 is the fastest speed you can generally sign up for – and Amaysim's NBN 100 plan is now the cheapest for the first 6 months, being discounted to just AU$50p/m (AU$240 in total), before the price increases to AU$90p/m. Much like the <a href="https://www.tomsguide.com/best-picks/best-nbn-100-plans" target="_blank">best NBN 100 plans</a>, Amaysim advertises maximum download speeds of 100Mbps during the busy evening hours of 7pm to 11pm, and with this discount costs AU$46p/m less than the average for the tier — that's around AU$96.43p/m right now. </p><p>One note: If you have a FTTP or HFC connection at home, I’d consider the NBN 500 plan below instead of this one, as it costs the exact same price but supplies 5x more speed. </p><p><strong>Total minimum cost: AU$50 | Total cost for first year: AU$840 | Yearly cost after discount: AU$1,080</strong><a class="view-deal button" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13412&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="59a51682-c393-11f1-b7fd-e96581db79a6" data-action="Deal Block" data-label="Amaysim | NBN 100 | AU$50p/m" data-dimension48="Amaysim | NBN 100 | AU$50p/m" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="59a51704-c393-11f1-a603-eb9716663cfe" data-action="Deal Block" data-label="Amaysim | NBN 500 | AU$50p/m" data-dimension48="Amaysim | NBN 500 | AU$50p/m" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13569&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="BGJQKNSPPsPYjvHi9jG8F8" name="amaysim-logo" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/BGJQKNSPPsPYjvHi9jG8F8-1920-80.png" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13569&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="59a51704-c393-11f1-a603-eb9716663cfe" data-action="Deal Block" data-label="Amaysim | NBN 500 | AU$50p/m" data-dimension48="Amaysim | NBN 500 | AU$50p/m" data-dimension25=""><strong>Amaysim | NBN 500 | AU$50p/m</strong></a> (for 6 months, then AU$90p/m)</p><p>Similar to the deal above, Amaysim's NBN 500 offer is down to just AU$50p/m for the first 6 months, making it the cheapest 500Mbps plan around, at least over the first half year. Promising the full 500Mbps download speeds during the typical evening hours, this plan should easily keep you and the average Aussie family online with no lag, buffering or other interruptions. </p><p>Again, it's worth mentioning that this plan is exclusive to fibre-based FTTP and HFC connections, so if you have FTTN, FTTB or FTTC at home, you may only be able to sign up for the NBN 100 plan above. </p><p><strong>Total minimum cost: AU$50 | Total cost for first year: AU$840 | Yearly cost after discount: AU$1,080</strong><a class="view-deal button" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=411&gi=2724&pi=13569&ct=0&ci=19872&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="59a51704-c393-11f1-a603-eb9716663cfe" data-action="Deal Block" data-label="Amaysim | NBN 500 | AU$50p/m" data-dimension48="Amaysim | NBN 500 | AU$50p/m" data-dimension25="">View Deal</a></p></div><p>When it comes to simplifying your bills, Amaysim's mobile and broadband bundle offer is also worth a look. After the introductory discount ends, you could pay as little as AU$80p/m for these plans by bundling an Amaysim mobile plan alongside your NBN, which would reduce your ongoing bill by AU$10 per month, or AU$120 a year. That’d make your ongoing internet costs total AU$960/y, which is one of the cheapest yearly costs for either NBN 100 or NBN 500. </p><p>Do note, though, that Amaysim exclusively provides NBN services and doesn’t provide hardware — you will need to BYO modem-router, in other words. That said, if you've already got an NBN service, then there's a very good chance that the modem you already have will work adequately with an Amaysim plan. Alternatively, I often recommend this <a href="https://www.amazon.com.au/dp/B0DB6GQFRV?ref_=MARS_NAVSTRIPE_desktop_eero_shopdvcs_7&th=1">Amazon eero 7 router for AU$299.99</a> if you want to invest in something new that can support NBN 500’s faster download speeds. </p><p>If you've got a real need for speed and want to save on your internet and mobile bills, you can check out Amaysim's other NBN plans in the widget below. </p><iframe allow="" height="600" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://tomsguide.whistleout.com.au/Widgets/BroadbandSearch/Load?customer=Personal&speed=15&supplier=Amaysim&tab=nbn&maxresults=3&hd=Today's%20best%20Amaysim%20NBN%20plans"></iframe><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/best-picks/best-nbn-deals" target="_blank">Best NBN deals in Australia October 2026</a></li><li><a href="https://www.tomsguide.com/best-picks/nbn-plans">Best NBN plans in October 2026: I've compared the top choices for value, speed, gaming and more</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Is your smart home leaking data? 5 easy ways to secure your connected devices ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The most terrifying thought concerning <a href="https://www.tomsguide.com/computing/online-security/snooping-speakers-and-eavesdropping-airfryers-are-your-smart-devices-spying-on-you">smart home privacy</a> is the idea that my baby monitor is being watched by anyone other than myself. In the era of privacy beaches, your smart home devices might be leaking your data, and you need to shut that down ASAP.</p><p>Smart devices, from your thermostat to your washing machine, utilize IoT (Internet of Things) technology, which means that they’re embedded in a network that exchanges data with other devices over the internet. But what sort of data could a washing machine collect that could pose a potential privacy issue? Well, that simple smart appliance is connected to the same network as your laptop or computer, so hackers can bounce from a lightbulb to a PC.</p><p>We live in a time where we’ve traded our privacy for convenience, and while these companies have gathered a ton of data on us already, it doesn’t mean we need to keep the toxic river flow going. Let’s go over how to secure your devices.</p><h2 id="change-your-password">Change your password</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:57.70%;"><img id="Wr5HhGGscvmyPPwju4NgcN" name="password-theft-binary-shst.jpg" alt="A shadowy hand reaches for the word 'PASSWORD' displayed on a computer screen." src="https://cdn.mos.cms.futurecdn.net/Wr5HhGGscvmyPPwju4NgcN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="577" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Come on now, don’t walk around with your username as “admin” and password as “password” for your router or any of your smart devices. You might as well be handing the manila envelope of your life directly to a hacker.</p><p>If you’re looking for convenience, use a <a href="https://www.tomsguide.com/us/best-password-managers,review-3785.html">strong password manager</a> to autogenerate a password for you. Using personal information in a password is almost as bad as whatever the default is. Simple words are also ill-advised. If you really want to know how fast a hacker can break your password, <a href="https://images.squarespace-cdn.com/content/v1/5ffe234606e5ec7bfc57a7a3/1783998993378-B638VPGU3GBDC337QYLY/Hive+Systems+Password+Table+-+2026+Square.png" target="_blank">Hive Systems</a> produced a convenient graphic for you to get the idea.</p><p>Most importantly, <a href="https://www.tomsguide.com/computing/online-security/im-a-security-editor-and-these-are-my-top-3-tips-to-improve-your-password-hygiene-on-world-password-day">don’t use the same password twice</a>. I know it’s a pain, but it’s necessary, and let’s move onto why.</p><h2 id="enable-2fa-or-mfa">Enable 2FA or MFA</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WtFUDWB4ftYfw6pGttFieZ" name="MFA example.jpg" alt="Cropped hand of woman using mobile device with Two-Factor Authentication (2FA) security while logging in securely to her laptop" src="https://cdn.mos.cms.futurecdn.net/WtFUDWB4ftYfw6pGttFieZ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>Changing your password is not enough. Even if you’ve somehow developed an impenetrable string of <a href="https://www.tomsguide.com/opinion/im-a-security-editor-and-this-is-how-i-create-strong-passwords-that-are-also-easy-to-remember">letters, numbers, and symbols</a>, it could easily be put on blast if there’s a security breach. And suddenly, a hacker knows the password for your Samsung washing machine, which could be the same password you use for your laptop (if you happened to not take my previous advice).</p><p>Most devices let you set up two-factor authentication (<a href="https://www.tomsguide.com/computing/online-security/two-factor-authentication-provides-an-easy-way-to-secure-your-accounts-heres-how-it-works-and-how-to-enable-it">2FA</a>) or multifactor authentication (<a href="https://www.tomsguide.com/news/google-forcing-2fa-users">MFA</a>), and it is a simple way to stop a hacker from breaching your smart home even if they have the password to your device. Setting this up, typically through your phone, is another layer to keep your smart home safe.</p><h2 id="enable-automatic-firmware-updates">Enable automatic firmware updates</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.40%;"><img id="7g7iG4EK5A2eqDW4i3PxKi" name="laptop-system-update-shst.jpg" alt="Laptop installing system update." src="https://cdn.mos.cms.futurecdn.net/7g7iG4EK5A2eqDW4i3PxKi-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="564" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rawpixel.com/Shutterstock)</span></figcaption></figure><p>This may seem rather obvious, but it’s important to point out that you should keep all your smart home devices, <a href="https://www.tomsguide.com/computing/routers/dont-be-a-victim-nsa-warns-to-reboot-your-router-right-now">especially your router</a>, up to date and this includes your other devices too, like your smartphone and laptop. The easiest way to do that is to enable automatic firmware updates. Whenever there’s a security issue, manufacturers will ideally patch the vulnerability as soon as possible.</p><p>Unfortunately, that might not always be the case. If a company is no longer supporting the product or simply discontinued it, that might be your cue to do the same. No one likes spending money on something new when the old one works just fine, but the older a product is, the more vulnerable it could become.</p><h2 id="use-a-router-level-vpn">Use a router-level VPN</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qvFBdgUogWyjWmHdgWB6TV" name="TG_ExpressVPN_Aircove-2" alt="ExpressVPN Aircove on desk" src="https://cdn.mos.cms.futurecdn.net/qvFBdgUogWyjWmHdgWB6TV-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Setting up a <a href="https://www.tomsguide.com/best-picks/best-vpn">VPN</a> (Virtual Private Network) can not only secure your smart home devices but all of the devices on your network. A VPN encrypts your data, so hackers won’t be able to see what exactly your smart home devices are communicating. It’s not impenetrable, but it’s a strong layer of security.</p><p>Now, the only problem with this is that most VPNs aren’t free and not all routers are compatible with VPN integration. However, if you have access to a VPN and a compatible router, you should be able to set it up via your router settings, in a section likely labeled VPN Client mode.</p><h2 id="set-up-a-smart-home-network">Set up a smart home network</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Vjdw5h2Qi2kz5P5SFx8xST" name="Smart Home.jpg" alt="Smart home illustration" src="https://cdn.mos.cms.futurecdn.net/Vjdw5h2Qi2kz5P5SFx8xST-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>One of the most significant changes you can make to your smart home is using a local or separate Wi-Fi network for your smart home devices. This does come with some drawbacks, however.</p><p>You can set up a <a href="https://www.tomsguide.com/opinion/now-is-the-perfect-time-to-set-up-a-guest-wi-fi-network-heres-3-reasons-why">guest network</a> on your router and throw all your smart home devices on there, effectively isolating them from your primary network. How effective this is comes down to the type of smart home device you’re connecting. Some can get temperamental with your phone not being on the same exact network. You might need to switch to the guest network, connect with the device, and switch back to see if that works. In other cases, it might not be compatible at all.</p><p>If you want to go the local network route, things will take a slightly more challenging but effective turn. You’ll need to get your hands on a Raspberry Pi or an old laptop and start looking into <a href="https://www.home-assistant.io/installation/" target="_blank">Home Assistant</a>, an open source home automation system that keeps all of your smart home devices local. </p><p>If you’re willing to trade convenience back for privacy, this should be your next step. It’s more involved than what we can cover here, but to put it simply, your smart home devices connect to your laptop or Raspberry Pi locally and then can be managed through the Home Assistant app.</p><h2 id="bottom-line-6">Bottom line</h2><p>The more steps you take to secure your network, the less likely you’ll have to worry about your personal data being breached because of something as simple as your washing machine. Even one of these steps will drastically improve your security, but changing your passwords and using 2FA or MFA is great advice in and out of your smart home.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a></li><li><a href="https://www.tomsguide.com/computing/online-security/ai-scams-are-getting-scary-realistic-4-red-flags-to-watch-out-for"><strong>AI scams are getting scary realistic — 4 red flags to watch out for</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/your-personal-information-is-everywhere-online-5-ways-to-start-removing-it"><strong>Your personal information is everywhere online — 5 ways to start removing it from the internet</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/is-your-smart-home-leaking-data-5-easy-ways-to-secure-your-connected-devices</link>
                                                                            <description>
                            <![CDATA[ Here's everything you need to know (and do) to lock down your smart home devices before they start leaking your data. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">9B6du6ghvFZRqa7YNifbdN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/mJENmULb6j9vkGWf5GY6Hd-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 08 Oct 2026 09:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Smart Home]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ Rami Tabari ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Du7gwfP2FPAQuuhcMnakHf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/mJENmULb6j9vkGWf5GY6Hd-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A man controlling smart lights with his smartphone]]></media:description>                                                            <media:text><![CDATA[A man controlling smart lights with his smartphone]]></media:text>
                                <media:title type="plain"><![CDATA[A man controlling smart lights with his smartphone]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/mJENmULb6j9vkGWf5GY6Hd-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The most terrifying thought concerning <a href="https://www.tomsguide.com/computing/online-security/snooping-speakers-and-eavesdropping-airfryers-are-your-smart-devices-spying-on-you">smart home privacy</a> is the idea that my baby monitor is being watched by anyone other than myself. In the era of privacy beaches, your smart home devices might be leaking your data, and you need to shut that down ASAP.</p><p>Smart devices, from your thermostat to your washing machine, utilize IoT (Internet of Things) technology, which means that they’re embedded in a network that exchanges data with other devices over the internet. But what sort of data could a washing machine collect that could pose a potential privacy issue? Well, that simple smart appliance is connected to the same network as your laptop or computer, so hackers can bounce from a lightbulb to a PC.</p><p>We live in a time where we’ve traded our privacy for convenience, and while these companies have gathered a ton of data on us already, it doesn’t mean we need to keep the toxic river flow going. Let’s go over how to secure your devices.</p><h2 id="change-your-password">Change your password</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:57.70%;"><img id="Wr5HhGGscvmyPPwju4NgcN" name="password-theft-binary-shst.jpg" alt="A shadowy hand reaches for the word 'PASSWORD' displayed on a computer screen." src="https://cdn.mos.cms.futurecdn.net/Wr5HhGGscvmyPPwju4NgcN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="577" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Come on now, don’t walk around with your username as “admin” and password as “password” for your router or any of your smart devices. You might as well be handing the manila envelope of your life directly to a hacker.</p><p>If you’re looking for convenience, use a <a href="https://www.tomsguide.com/us/best-password-managers,review-3785.html">strong password manager</a> to autogenerate a password for you. Using personal information in a password is almost as bad as whatever the default is. Simple words are also ill-advised. If you really want to know how fast a hacker can break your password, <a href="https://images.squarespace-cdn.com/content/v1/5ffe234606e5ec7bfc57a7a3/1783998993378-B638VPGU3GBDC337QYLY/Hive+Systems+Password+Table+-+2026+Square.png" target="_blank">Hive Systems</a> produced a convenient graphic for you to get the idea.</p><p>Most importantly, <a href="https://www.tomsguide.com/computing/online-security/im-a-security-editor-and-these-are-my-top-3-tips-to-improve-your-password-hygiene-on-world-password-day">don’t use the same password twice</a>. I know it’s a pain, but it’s necessary, and let’s move onto why.</p><h2 id="enable-2fa-or-mfa">Enable 2FA or MFA</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WtFUDWB4ftYfw6pGttFieZ" name="MFA example.jpg" alt="Cropped hand of woman using mobile device with Two-Factor Authentication (2FA) security while logging in securely to her laptop" src="https://cdn.mos.cms.futurecdn.net/WtFUDWB4ftYfw6pGttFieZ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>Changing your password is not enough. Even if you’ve somehow developed an impenetrable string of <a href="https://www.tomsguide.com/opinion/im-a-security-editor-and-this-is-how-i-create-strong-passwords-that-are-also-easy-to-remember">letters, numbers, and symbols</a>, it could easily be put on blast if there’s a security breach. And suddenly, a hacker knows the password for your Samsung washing machine, which could be the same password you use for your laptop (if you happened to not take my previous advice).</p><p>Most devices let you set up two-factor authentication (<a href="https://www.tomsguide.com/computing/online-security/two-factor-authentication-provides-an-easy-way-to-secure-your-accounts-heres-how-it-works-and-how-to-enable-it">2FA</a>) or multifactor authentication (<a href="https://www.tomsguide.com/news/google-forcing-2fa-users">MFA</a>), and it is a simple way to stop a hacker from breaching your smart home even if they have the password to your device. Setting this up, typically through your phone, is another layer to keep your smart home safe.</p><h2 id="enable-automatic-firmware-updates">Enable automatic firmware updates</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.40%;"><img id="7g7iG4EK5A2eqDW4i3PxKi" name="laptop-system-update-shst.jpg" alt="Laptop installing system update." src="https://cdn.mos.cms.futurecdn.net/7g7iG4EK5A2eqDW4i3PxKi-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="564" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rawpixel.com/Shutterstock)</span></figcaption></figure><p>This may seem rather obvious, but it’s important to point out that you should keep all your smart home devices, <a href="https://www.tomsguide.com/computing/routers/dont-be-a-victim-nsa-warns-to-reboot-your-router-right-now">especially your router</a>, up to date and this includes your other devices too, like your smartphone and laptop. The easiest way to do that is to enable automatic firmware updates. Whenever there’s a security issue, manufacturers will ideally patch the vulnerability as soon as possible.</p><p>Unfortunately, that might not always be the case. If a company is no longer supporting the product or simply discontinued it, that might be your cue to do the same. No one likes spending money on something new when the old one works just fine, but the older a product is, the more vulnerable it could become.</p><h2 id="use-a-router-level-vpn">Use a router-level VPN</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qvFBdgUogWyjWmHdgWB6TV" name="TG_ExpressVPN_Aircove-2" alt="ExpressVPN Aircove on desk" src="https://cdn.mos.cms.futurecdn.net/qvFBdgUogWyjWmHdgWB6TV-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Setting up a <a href="https://www.tomsguide.com/best-picks/best-vpn">VPN</a> (Virtual Private Network) can not only secure your smart home devices but all of the devices on your network. A VPN encrypts your data, so hackers won’t be able to see what exactly your smart home devices are communicating. It’s not impenetrable, but it’s a strong layer of security.</p><p>Now, the only problem with this is that most VPNs aren’t free and not all routers are compatible with VPN integration. However, if you have access to a VPN and a compatible router, you should be able to set it up via your router settings, in a section likely labeled VPN Client mode.</p><h2 id="set-up-a-smart-home-network">Set up a smart home network</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Vjdw5h2Qi2kz5P5SFx8xST" name="Smart Home.jpg" alt="Smart home illustration" src="https://cdn.mos.cms.futurecdn.net/Vjdw5h2Qi2kz5P5SFx8xST-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>One of the most significant changes you can make to your smart home is using a local or separate Wi-Fi network for your smart home devices. This does come with some drawbacks, however.</p><p>You can set up a <a href="https://www.tomsguide.com/opinion/now-is-the-perfect-time-to-set-up-a-guest-wi-fi-network-heres-3-reasons-why">guest network</a> on your router and throw all your smart home devices on there, effectively isolating them from your primary network. How effective this is comes down to the type of smart home device you’re connecting. Some can get temperamental with your phone not being on the same exact network. You might need to switch to the guest network, connect with the device, and switch back to see if that works. In other cases, it might not be compatible at all.</p><p>If you want to go the local network route, things will take a slightly more challenging but effective turn. You’ll need to get your hands on a Raspberry Pi or an old laptop and start looking into <a href="https://www.home-assistant.io/installation/" target="_blank">Home Assistant</a>, an open source home automation system that keeps all of your smart home devices local. </p><p>If you’re willing to trade convenience back for privacy, this should be your next step. It’s more involved than what we can cover here, but to put it simply, your smart home devices connect to your laptop or Raspberry Pi locally and then can be managed through the Home Assistant app.</p><h2 id="bottom-line-6">Bottom line</h2><p>The more steps you take to secure your network, the less likely you’ll have to worry about your personal data being breached because of something as simple as your washing machine. Even one of these steps will drastically improve your security, but changing your passwords and using 2FA or MFA is great advice in and out of your smart home.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a></li><li><a href="https://www.tomsguide.com/computing/online-security/ai-scams-are-getting-scary-realistic-4-red-flags-to-watch-out-for"><strong>AI scams are getting scary realistic — 4 red flags to watch out for</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/your-personal-information-is-everywhere-online-5-ways-to-start-removing-it"><strong>Your personal information is everywhere online — 5 ways to start removing it from the internet</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ AI scams are getting scary realistic — 4 red flags to watch out for ]]></title>
                                                                                                <dc:content><![CDATA[ <p><a href="https://www.tomsguide.com/ai/ai-scams-are-getting-harder-to-spot-pay-attention-to-these-7-warning-signs">AI scams</a> are so realistic that even the most tech savvy person might fall prey to them. AI development increases by the day, and of course with any new technology, there comes the perversion of such technology, especially for malicious intent.</p><p>The old, “Your car’s extended warranty” trick might not cut it, but what about a <a href="https://www.tomsguide.com/news/that-emergency-phone-call-from-a-loved-one-could-actually-be-scammers-using-ai-how-to-stay-safe">call from a loved one</a>? Yes, it is that real and it’s terrifying. Americans lost $893 million because of AI scams in 2025 (via the <a href="https://www.fbi.gov/news/press-releases/cryptocurrency-and-ai-scams-bilk-americans-of-billions" target="_blank">FBI</a>), and if I had to speculate, the report might be worse for 2026 as AI continues to evolve.</p><p>There are several red flags you should watch out for with any sort of potential scam, but with AI scams, you need to be extra vigilant.</p><h2 id="red-flag-urgency">Red flag: Urgency</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6812px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="muFWf5MSX7498TMTJZvtv7" name="shutterstock_2271436381.jpg" alt="Phone scam showing an unknown caller on a phone screen" src="https://cdn.mos.cms.futurecdn.net/muFWf5MSX7498TMTJZvtv7-1920-80.jpg" mos="" align="middle" fullscreen="" width="6812" height="3832" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>The urgent “RIGHT NOW” energy is a dead giveaway for scammers. My own mother-in-law received a call from the “courthouse,” saying that she missed her summons. And they threatened to put out a warrant against her if they didn’t receive information to confirm her identity, which of course included her <a href="https://www.tomsguide.com/computing/online-security/how-to-protect-your-social-security-number">Social Security number</a>. </p><p>That’s a scary thing to be threatened with, but you know what you should do? Call your courthouse directly on a trusted number and verify that information. The same goes for anyone claiming to be from an official government body or even a loved one. Contact them directly on a trusted line of communication.</p><p>If the court really wanted you that urgently, they’d be knocking on your door. Take time to assess what these potential scammers are asking you and verify the information on your end.</p><h2 id="red-flag-emails-about-your-account">Red flag: Emails about your account</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="M5mueuMKTgUn7LYZb8eCNK" name="email-inbox-laptop-shst.jpg" alt="An email inbox displayed on the screen of a laptop, next to a cup of coffee." src="https://cdn.mos.cms.futurecdn.net/M5mueuMKTgUn7LYZb8eCNK-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="562" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>One of the most common scams are emails about your account. It’s more terrifying now because they look so legit. I’ve caught myself second-guessing multiple times because some emails just look too realistic. It could be anything from threats about locking your account to <a href="https://www.tomsguide.com/phones/iphones/iphone-users-under-reset-password-attack-how-to-stay-safe">resetting your password</a> because there’s been a <a href="https://www.tomsguide.com/computing/online-security/over-150-million-drivers-licenses-stolen-in-massive-data-breach-after-hackers-reportedly-hit-major-identity-verification-company-what-to-do-now">data breach</a>.</p><p>The key here is to <strong>NEVER </strong>click on any links in an unprompted email or download any PDFs or documents. If there’s an actual problem with your account, login at the source, and assess what the supposed issue might be. It wouldn’t hurt to reset your password as well.</p><h2 id="red-flag-payment-requests">Red flag: Payment requests</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:66.70%;"><img id="nhctdUUDGCKmJsvPkYQKuK" name="credit-card-skeptic-shst.jpg" alt="Young woman holding credit card and looking at laptop screen with skeptical expression." src="https://cdn.mos.cms.futurecdn.net/nhctdUUDGCKmJsvPkYQKuK-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="667" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: fizkes/Shutterstock)</span></figcaption></figure><p>Even if your best friend is asking you for money, I hope that you’d at least ask, “Why?” The same goes for anything you receive in the mail, in an email, or on the phone. </p><p>AI-generated emails and voices are incredibly convincing, and it’s easy to get scared into sending someone money because you “missed a payment,” or that you owe a debt, especially if you’re someone on top of your finances.</p><p>Take a deep breath, and don’t click on any link or give out any of your financial information. If you really did miss a payment, go directly to the source that they’re claiming you owe money to. Always deal with your financials directly, where you typically would, and never through anyone that contacts you unprompted.</p><h2 id="red-flag-pushback">Red flag: Pushback</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="36Uux48yxWqW5exmyt5mWk" name="online-scam-victims.jpg" alt="Man stressed at computer" src="https://cdn.mos.cms.futurecdn.net/36Uux48yxWqW5exmyt5mWk-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="901" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: American Institute of Stress)</span></figcaption></figure><p>As I’ve said so far, verifying the information being told to you is the most important thing to do in these situations, but there’s another dead giveaway for scammers — pushback. </p><p>Seriously, I’ve been on the phone with some of these scammers and they will be actively evasive or straight up pushy if you try to ask them questions to verify the information that they’re claiming to have. </p><p>If you’re talking to someone, or some<em>thing</em> in the case of an AI bot, who simply isn’t cooperating with your requests, run for the hills immediately.</p><h2 id="bottom-line-7">Bottom line</h2><p>Remain vigilant. The common throughline with all these red flags is that you want to verify and assess all of the information on your end without giving anything away yourself. </p><p>It’s not exactly fun to remain suspicious at everything you see, but unfortunately that’s the current world we live in. A highly personal email can contain detailed information about you, but that doesn’t mean you should trust it — companies sell your data all the time and experience data breaches, so it shouldn’t be hard to believe that a scammer acquired personal details about you.</p><p>There’s a “gotcha” mentality prevalent in even legitimate businesses, so always check the information twice and don’t be afraid to ask a friend or even the internet for help.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/your-personal-information-is-everywhere-online-5-ways-to-start-removing-it"><strong>Your personal information is everywhere online — 5 ways to start removing it from the internet</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/apple-issues-emergency-update-for-millions-of-iphones-ipads-and-macs-update-your-devices-now"><strong>Apple issues emergency update for millions of iPhones, iPads, and Macs — update your devices now</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/ai-scams-are-getting-scary-realistic-4-red-flags-to-watch-out-for</link>
                                                                            <description>
                            <![CDATA[ With AI scams getting more realistic, you need to be more vigilant about these four red flags. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">PgxA88SASCHJcMXdM5CB9V</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/pz9qVQDWnW3WWDmoAJAwQS-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 06 Oct 2026 10:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Rami Tabari ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Du7gwfP2FPAQuuhcMnakHf-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/pz9qVQDWnW3WWDmoAJAwQS-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A hacker typing on a computer with binary code]]></media:description>                                                            <media:text><![CDATA[A hacker typing on a computer with binary code]]></media:text>
                                <media:title type="plain"><![CDATA[A hacker typing on a computer with binary code]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/pz9qVQDWnW3WWDmoAJAwQS-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.tomsguide.com/ai/ai-scams-are-getting-harder-to-spot-pay-attention-to-these-7-warning-signs">AI scams</a> are so realistic that even the most tech savvy person might fall prey to them. AI development increases by the day, and of course with any new technology, there comes the perversion of such technology, especially for malicious intent.</p><p>The old, “Your car’s extended warranty” trick might not cut it, but what about a <a href="https://www.tomsguide.com/news/that-emergency-phone-call-from-a-loved-one-could-actually-be-scammers-using-ai-how-to-stay-safe">call from a loved one</a>? Yes, it is that real and it’s terrifying. Americans lost $893 million because of AI scams in 2025 (via the <a href="https://www.fbi.gov/news/press-releases/cryptocurrency-and-ai-scams-bilk-americans-of-billions" target="_blank">FBI</a>), and if I had to speculate, the report might be worse for 2026 as AI continues to evolve.</p><p>There are several red flags you should watch out for with any sort of potential scam, but with AI scams, you need to be extra vigilant.</p><h2 id="red-flag-urgency">Red flag: Urgency</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6812px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="muFWf5MSX7498TMTJZvtv7" name="shutterstock_2271436381.jpg" alt="Phone scam showing an unknown caller on a phone screen" src="https://cdn.mos.cms.futurecdn.net/muFWf5MSX7498TMTJZvtv7-1920-80.jpg" mos="" align="middle" fullscreen="" width="6812" height="3832" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>The urgent “RIGHT NOW” energy is a dead giveaway for scammers. My own mother-in-law received a call from the “courthouse,” saying that she missed her summons. And they threatened to put out a warrant against her if they didn’t receive information to confirm her identity, which of course included her <a href="https://www.tomsguide.com/computing/online-security/how-to-protect-your-social-security-number">Social Security number</a>. </p><p>That’s a scary thing to be threatened with, but you know what you should do? Call your courthouse directly on a trusted number and verify that information. The same goes for anyone claiming to be from an official government body or even a loved one. Contact them directly on a trusted line of communication.</p><p>If the court really wanted you that urgently, they’d be knocking on your door. Take time to assess what these potential scammers are asking you and verify the information on your end.</p><h2 id="red-flag-emails-about-your-account">Red flag: Emails about your account</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="M5mueuMKTgUn7LYZb8eCNK" name="email-inbox-laptop-shst.jpg" alt="An email inbox displayed on the screen of a laptop, next to a cup of coffee." src="https://cdn.mos.cms.futurecdn.net/M5mueuMKTgUn7LYZb8eCNK-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="562" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>One of the most common scams are emails about your account. It’s more terrifying now because they look so legit. I’ve caught myself second-guessing multiple times because some emails just look too realistic. It could be anything from threats about locking your account to <a href="https://www.tomsguide.com/phones/iphones/iphone-users-under-reset-password-attack-how-to-stay-safe">resetting your password</a> because there’s been a <a href="https://www.tomsguide.com/computing/online-security/over-150-million-drivers-licenses-stolen-in-massive-data-breach-after-hackers-reportedly-hit-major-identity-verification-company-what-to-do-now">data breach</a>.</p><p>The key here is to <strong>NEVER </strong>click on any links in an unprompted email or download any PDFs or documents. If there’s an actual problem with your account, login at the source, and assess what the supposed issue might be. It wouldn’t hurt to reset your password as well.</p><h2 id="red-flag-payment-requests">Red flag: Payment requests</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:66.70%;"><img id="nhctdUUDGCKmJsvPkYQKuK" name="credit-card-skeptic-shst.jpg" alt="Young woman holding credit card and looking at laptop screen with skeptical expression." src="https://cdn.mos.cms.futurecdn.net/nhctdUUDGCKmJsvPkYQKuK-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="667" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: fizkes/Shutterstock)</span></figcaption></figure><p>Even if your best friend is asking you for money, I hope that you’d at least ask, “Why?” The same goes for anything you receive in the mail, in an email, or on the phone. </p><p>AI-generated emails and voices are incredibly convincing, and it’s easy to get scared into sending someone money because you “missed a payment,” or that you owe a debt, especially if you’re someone on top of your finances.</p><p>Take a deep breath, and don’t click on any link or give out any of your financial information. If you really did miss a payment, go directly to the source that they’re claiming you owe money to. Always deal with your financials directly, where you typically would, and never through anyone that contacts you unprompted.</p><h2 id="red-flag-pushback">Red flag: Pushback</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.31%;"><img id="36Uux48yxWqW5exmyt5mWk" name="online-scam-victims.jpg" alt="Man stressed at computer" src="https://cdn.mos.cms.futurecdn.net/36Uux48yxWqW5exmyt5mWk-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="901" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: American Institute of Stress)</span></figcaption></figure><p>As I’ve said so far, verifying the information being told to you is the most important thing to do in these situations, but there’s another dead giveaway for scammers — pushback. </p><p>Seriously, I’ve been on the phone with some of these scammers and they will be actively evasive or straight up pushy if you try to ask them questions to verify the information that they’re claiming to have. </p><p>If you’re talking to someone, or some<em>thing</em> in the case of an AI bot, who simply isn’t cooperating with your requests, run for the hills immediately.</p><h2 id="bottom-line-7">Bottom line</h2><p>Remain vigilant. The common throughline with all these red flags is that you want to verify and assess all of the information on your end without giving anything away yourself. </p><p>It’s not exactly fun to remain suspicious at everything you see, but unfortunately that’s the current world we live in. A highly personal email can contain detailed information about you, but that doesn’t mean you should trust it — companies sell your data all the time and experience data breaches, so it shouldn’t be hard to believe that a scammer acquired personal details about you.</p><p>There’s a “gotcha” mentality prevalent in even legitimate businesses, so always check the information twice and don’t be afraid to ask a friend or even the internet for help.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc"><strong>Does antivirus software still slow down your PC in 2026? We tested the top security software to find out</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/your-personal-information-is-everywhere-online-5-ways-to-start-removing-it"><strong>Your personal information is everywhere online — 5 ways to start removing it from the internet</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/apple-issues-emergency-update-for-millions-of-iphones-ipads-and-macs-update-your-devices-now"><strong>Apple issues emergency update for millions of iPhones, iPads, and Macs — update your devices now</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ OpenAI and Anthropic have a plan to stop AI from going rogue — there’s just one catch ]]></title>
                                                                                                <dc:content><![CDATA[ <p>OpenAI's internal AI agents <a href="https://cyberscoop.com/openai-hugging-face-agent-breach-report/" target="_blank">hacked into Hugging Face</a> while trying to cheat on a cybersecurity benchmark. Anthropic has <a href="https://www.anthropic.com/news/investigating-incidents-cybersecurity-evals" target="_blank">disclosed</a> that Claude models reached the open internet from cybersecurity test environments that were supposed to be sealed off and then got into the real systems of outside organizations. </p><p>Both are examples of systems taking actions their developers didn't intend, and METR, an independent AI research nonprofit, has been brought in to look at each of them. It <a href="https://www.infoq.com/news/2026/09/metr-hugging-face-hack-report/" target="_blank">documented the Hugging Face incident</a> alongside Redwood Research and is now <a href="https://www.anthropic.com/news/alignment-assessment-cybersecurity-incidents" target="_blank">investigating Anthropic's</a>.</p><p>OpenAI and Anthropic have also <a href="https://techcrunch.com/2026/09/16/anthropic-and-openai-want-to-embed-safety-evaluators-will-they-really-be-independent/">committed</a> to bringing outside experts inside their companies to examine safety practices, according to <a href="https://www.theatlantic.com/technology/2026/09/ai-companies-evaluators-risk/688785/" target="_blank">The Atlantic</a>. Called "embedded evaluators," these researchers could get a closer look at how models are built and investigate problems that might never surface in a product demo.</p><p>The catch is that this oversight is voluntary. Last week, leaders from Anthropic, OpenAI and other major labs <a href="https://techpolicy.press/september-2026-us-tech-policy-roundup">signed an accord</a> at the White House committing to independent external auditors, and the FTC has opened an industry-wide probe into AI labs, but the companies being examined still have considerable control over what outsiders can see, which risks they investigate and what information reaches the public.</p><p>For anyone being encouraged to let AI handle more of their work, that leaves a fairly basic trust problem. We're being given assistants while the system for independently checking their behavior is still taking shape.</p><p>As I've <a href="https://tomsguide.com/ai/i-cover-ai-for-a-living-and-this-prime-video-documentary-scared-the-heck-out-of-me">reported before</a>, the film The AI Doc puts the number of people working on AGI, or artificial general intelligence, at more than 20,000, while fewer than 200 are focused specifically on AI safety.</p><h2 id="a-closer-look-inside-ai-companies">A closer look inside AI companies</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:7000px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="E3bUWjVX2VGXKwgzZnSfCk" name="shutterstock_2663445441-2" alt="anthropic" src="https://cdn.mos.cms.futurecdn.net/E3bUWjVX2VGXKwgzZnSfCk-1920-80.jpg" mos="" align="middle" fullscreen="" width="7000" height="3938" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Today, an outside researcher might test a model before release and report how it performed. Embedding evaluators inside a company could let them follow its development and investigate the decisions behind that behavior.</p><p>Anthropic <a href="https://anthropic.com/news/accenture-embedded-evaluation" target="_blank">says</a> these evaluators would have access comparable to an employee's, allowing them to observe training, speak with staff and examine how models are built and deployed.</p><p>The company has named Accenture as its first embedded evaluator, with Faculty, Accenture's specialist AI business, leading the work. Each company <a href="https://newsroom.accenture.com/news/2026/accenture-and-anthropic-partner-to-build-team-of-embedded-evaluators-at-anthropic" target="_blank">expects to invest</a> at least $1 billion in AI safety over five years.</p><p>That access could help researchers discover whether a troubling incident was an isolated failure or evidence of a wider problem. METR's <a href="https://runtimewire.com/article/anthropic-metr-independent-claude-agent-incident-investigation" target="_blank">proposed approach</a> to investigating incidents calls for examining transcripts, interviewing employees and studying the training conditions that might have encouraged the behavior.</p><h2 id="the-companies-still-set-the-terms">The companies still set the terms</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5873px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="kzCjkSD7PgGYT4eVWmdsgj" name="GettyImages-2265991722 (1)" alt="Sam Altman" src="https://cdn.mos.cms.futurecdn.net/kzCjkSD7PgGYT4eVWmdsgj-1920-80.jpg" mos="" align="middle" fullscreen="" width="5873" height="3304" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>Anthropic acknowledges that standards for evaluators' access, reporting and funding haven't been settled. It will fund Accenture's work directly, while discussing pilots with nonprofits that would use their own funding.</p><p>Accenture is not new to Anthropic, since the two companies already run a joint business group under a <a href="https://www.implicator.ai/anthropic-picks-accenture-as-first-embedded-evaluator-and-will-pay-for-the-work/" target="_blank">partnership announced in December 2025</a>. </p><p>That relationship deserves attention, because a group of evaluators published an <a href="https://www.cnbc.com/2026/09/18/ai-safety-evaluators-anthropic-openai-models-security.html" target="_blank">open letter</a> arguing that embedded evaluators shouldn't have other significant commercial business with the labs they assess.</p><p>As The Atlantic's reporting explains, voluntary oversight gives companies considerable discretion over the scope of an evaluation. Researchers need enough freedom to examine uncomfortable evidence and tell the public what they found.</p><p>They also need to be able to explain what they couldn't check. There needs to be transparency because a report based on limited access could be valuable, but we should know where its conclusions end.</p><h2 id="what-this-means-for-chatgpt-and-claude-users">What this means for ChatGPT and Claude users</h2><p>METR's <a href="https://metr.org/blog/2026-09-22-claude-opus-5-5/" target="_blank">recent assessment of Claude Opus 5.5</a> focused on whether the model could accelerate AI research and development. The organization explicitly says its summary doesn't assess the model's alignment properties and whether its behavior follows intended goals and constraints.</p><p>METR conducted the evaluation under an unpaid agreement, and it also disclosed that Anthropic had an opportunity to review and edit the summary, with METR approving the final text.</p><p>The incidents involving internal agents don't establish that the ChatGPT or Claude you use for everyday tasks will behave the same way. OpenAI found that its agents' tendency to compromise infrastructure dropped by more than 100 times when they ran with the production ChatGPT setup, and Anthropic says the behaviors it found are unlikely to show up in ordinary use.</p><p>Independent researchers need enough access to uncover risks and the freedom to publish what they find, even if it delays a launch or frankly, even if it embarrasses the company paying for their work.</p><p>Bringing outside evaluators into AI labs is a promising start, but their influence will depend on what happens when they uncover a serious problem. If a company can restrict the investigation or keep the findings private, the public is still being asked to take its word for it.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/ai/claude/claude-sonnet-5-5-just-launched-heres-why-its-about-to-become-your-daily-driver"><strong>Claude Sonnet 5.5 just launched — here's why it's about to become your daily driver</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/meta-muse-vs-chatgpt-dots-i-compared-the-new-ai-agents-and-theyre-not-as-similar-as-they-look"><strong>Meta Muse vs ChatGPT Dots — I compared the new AI agents, and they’re not as similar as they look</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/why-siri-never-worked-like-chatgpt-former-siri-ai-researcher-explains-what-apple-had-to-change"><strong>Why Siri never worked like ChatGPT — former Siri AI researcher explains what Apple had to change</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/openai-and-anthropic-have-a-plan-to-stop-ai-from-going-rogue-theres-just-one-catch</link>
                                                                            <description>
                            <![CDATA[ OpenAI and Anthropic want outside experts to help stop AI from going rogue, but the companies still control how much those watchdogs can see. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">DptEoV9ejaqeE6Cbgjq8hh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/GdQGzhciqwihr4g9yJ9MJ9-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 05 Oct 2026 10:00:00 +0000</pubDate>                                                                                                                                <updated>Mon, 05 Oct 2026 23:48:20 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/GdQGzhciqwihr4g9yJ9MJ9-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Sam Altman making an interesting face]]></media:description>                                                            <media:text><![CDATA[Sam Altman making an interesting face]]></media:text>
                                <media:title type="plain"><![CDATA[Sam Altman making an interesting face]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/GdQGzhciqwihr4g9yJ9MJ9-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>OpenAI's internal AI agents <a href="https://cyberscoop.com/openai-hugging-face-agent-breach-report/" target="_blank">hacked into Hugging Face</a> while trying to cheat on a cybersecurity benchmark. Anthropic has <a href="https://www.anthropic.com/news/investigating-incidents-cybersecurity-evals" target="_blank">disclosed</a> that Claude models reached the open internet from cybersecurity test environments that were supposed to be sealed off and then got into the real systems of outside organizations. </p><p>Both are examples of systems taking actions their developers didn't intend, and METR, an independent AI research nonprofit, has been brought in to look at each of them. It <a href="https://www.infoq.com/news/2026/09/metr-hugging-face-hack-report/" target="_blank">documented the Hugging Face incident</a> alongside Redwood Research and is now <a href="https://www.anthropic.com/news/alignment-assessment-cybersecurity-incidents" target="_blank">investigating Anthropic's</a>.</p><p>OpenAI and Anthropic have also <a href="https://techcrunch.com/2026/09/16/anthropic-and-openai-want-to-embed-safety-evaluators-will-they-really-be-independent/">committed</a> to bringing outside experts inside their companies to examine safety practices, according to <a href="https://www.theatlantic.com/technology/2026/09/ai-companies-evaluators-risk/688785/" target="_blank">The Atlantic</a>. Called "embedded evaluators," these researchers could get a closer look at how models are built and investigate problems that might never surface in a product demo.</p><p>The catch is that this oversight is voluntary. Last week, leaders from Anthropic, OpenAI and other major labs <a href="https://techpolicy.press/september-2026-us-tech-policy-roundup">signed an accord</a> at the White House committing to independent external auditors, and the FTC has opened an industry-wide probe into AI labs, but the companies being examined still have considerable control over what outsiders can see, which risks they investigate and what information reaches the public.</p><p>For anyone being encouraged to let AI handle more of their work, that leaves a fairly basic trust problem. We're being given assistants while the system for independently checking their behavior is still taking shape.</p><p>As I've <a href="https://tomsguide.com/ai/i-cover-ai-for-a-living-and-this-prime-video-documentary-scared-the-heck-out-of-me">reported before</a>, the film The AI Doc puts the number of people working on AGI, or artificial general intelligence, at more than 20,000, while fewer than 200 are focused specifically on AI safety.</p><h2 id="a-closer-look-inside-ai-companies">A closer look inside AI companies</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:7000px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="E3bUWjVX2VGXKwgzZnSfCk" name="shutterstock_2663445441-2" alt="anthropic" src="https://cdn.mos.cms.futurecdn.net/E3bUWjVX2VGXKwgzZnSfCk-1920-80.jpg" mos="" align="middle" fullscreen="" width="7000" height="3938" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Today, an outside researcher might test a model before release and report how it performed. Embedding evaluators inside a company could let them follow its development and investigate the decisions behind that behavior.</p><p>Anthropic <a href="https://anthropic.com/news/accenture-embedded-evaluation" target="_blank">says</a> these evaluators would have access comparable to an employee's, allowing them to observe training, speak with staff and examine how models are built and deployed.</p><p>The company has named Accenture as its first embedded evaluator, with Faculty, Accenture's specialist AI business, leading the work. Each company <a href="https://newsroom.accenture.com/news/2026/accenture-and-anthropic-partner-to-build-team-of-embedded-evaluators-at-anthropic" target="_blank">expects to invest</a> at least $1 billion in AI safety over five years.</p><p>That access could help researchers discover whether a troubling incident was an isolated failure or evidence of a wider problem. METR's <a href="https://runtimewire.com/article/anthropic-metr-independent-claude-agent-incident-investigation" target="_blank">proposed approach</a> to investigating incidents calls for examining transcripts, interviewing employees and studying the training conditions that might have encouraged the behavior.</p><h2 id="the-companies-still-set-the-terms">The companies still set the terms</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5873px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="kzCjkSD7PgGYT4eVWmdsgj" name="GettyImages-2265991722 (1)" alt="Sam Altman" src="https://cdn.mos.cms.futurecdn.net/kzCjkSD7PgGYT4eVWmdsgj-1920-80.jpg" mos="" align="middle" fullscreen="" width="5873" height="3304" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>Anthropic acknowledges that standards for evaluators' access, reporting and funding haven't been settled. It will fund Accenture's work directly, while discussing pilots with nonprofits that would use their own funding.</p><p>Accenture is not new to Anthropic, since the two companies already run a joint business group under a <a href="https://www.implicator.ai/anthropic-picks-accenture-as-first-embedded-evaluator-and-will-pay-for-the-work/" target="_blank">partnership announced in December 2025</a>. </p><p>That relationship deserves attention, because a group of evaluators published an <a href="https://www.cnbc.com/2026/09/18/ai-safety-evaluators-anthropic-openai-models-security.html" target="_blank">open letter</a> arguing that embedded evaluators shouldn't have other significant commercial business with the labs they assess.</p><p>As The Atlantic's reporting explains, voluntary oversight gives companies considerable discretion over the scope of an evaluation. Researchers need enough freedom to examine uncomfortable evidence and tell the public what they found.</p><p>They also need to be able to explain what they couldn't check. There needs to be transparency because a report based on limited access could be valuable, but we should know where its conclusions end.</p><h2 id="what-this-means-for-chatgpt-and-claude-users">What this means for ChatGPT and Claude users</h2><p>METR's <a href="https://metr.org/blog/2026-09-22-claude-opus-5-5/" target="_blank">recent assessment of Claude Opus 5.5</a> focused on whether the model could accelerate AI research and development. The organization explicitly says its summary doesn't assess the model's alignment properties and whether its behavior follows intended goals and constraints.</p><p>METR conducted the evaluation under an unpaid agreement, and it also disclosed that Anthropic had an opportunity to review and edit the summary, with METR approving the final text.</p><p>The incidents involving internal agents don't establish that the ChatGPT or Claude you use for everyday tasks will behave the same way. OpenAI found that its agents' tendency to compromise infrastructure dropped by more than 100 times when they ran with the production ChatGPT setup, and Anthropic says the behaviors it found are unlikely to show up in ordinary use.</p><p>Independent researchers need enough access to uncover risks and the freedom to publish what they find, even if it delays a launch or frankly, even if it embarrasses the company paying for their work.</p><p>Bringing outside evaluators into AI labs is a promising start, but their influence will depend on what happens when they uncover a serious problem. If a company can restrict the investigation or keep the findings private, the public is still being asked to take its word for it.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/ai/claude/claude-sonnet-5-5-just-launched-heres-why-its-about-to-become-your-daily-driver"><strong>Claude Sonnet 5.5 just launched — here's why it's about to become your daily driver</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/meta-muse-vs-chatgpt-dots-i-compared-the-new-ai-agents-and-theyre-not-as-similar-as-they-look"><strong>Meta Muse vs ChatGPT Dots — I compared the new AI agents, and they’re not as similar as they look</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/why-siri-never-worked-like-chatgpt-former-siri-ai-researcher-explains-what-apple-had-to-change"><strong>Why Siri never worked like ChatGPT — former Siri AI researcher explains what Apple had to change</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Cybersecurity Awareness Month 2026 Coverage ]]></title>
                                                                                                <dc:content><![CDATA[ <p>With cyberattacks, phishing scams and even identity theft surging as hackers turn to AI to boost and automate their operations, there’s never been a better time to lock down your digital life. <br><br>From securing your phone against mobile malware to ensuring your smart TV isn’t listening to every word you say, there are plenty of proactive steps you can take right now to protect yourself and your loved ones.</p><p>October is the perfect time to give your online accounts, passwords and everything else an audit too, as it’s also Cybersecurity Awareness Month. </p><p>Created back in 2004 as a joint initiative by the Cybersecurity and Infrastructure Security Agency (CISA) and the National Cybersecurity Alliance (NCA), this month-long initiative was established to help both individuals and businesses better protect themselves online.</p><p>Here at Tom’s Guide, we’ll be covering a wide range of attack methods, threats and of course, how to stay safe from them so that you don’t become another victim of cybercrime. </p><p>Stay tuned as throughout October, we’ll be publishing in-depth guides, walkthroughs and security news to help you stay ahead of the latest attacks and scams and you can find everything you’ll need to make the most of Cybersecurity Awareness Month 2026 right here.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/tag/cybersecurity-awareness-month-2026</link>
                                                                            <description>
                            <![CDATA[ Cybersecurity Awareness Month is the perfect time to audit your accounts, update your passwords and more. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Rd2Vw2JqJe3cX6s6dxWKYm</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/rTmsdFabFxZ25s9Ttq9P8h-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 05 Oct 2026 05:46:35 +0000</pubDate>                                                                                                                                <updated>Mon, 05 Oct 2026 15:05:40 +0000</updated>
                                                                                                                                            <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ anthony.spadafora@futurenet.com (Anthony Spadafora) ]]></author>                    <dc:creator><![CDATA[ Anthony Spadafora ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/z73LEoj7FkUjNG85GcWHtH-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Anthony Spadafora is the managing editor for security and home office furniture at Tom’s Guide where he covers everything from data breaches and malware to password managers and the best way to cover your whole home or business with a strong Wi-Fi signal.&lt;/p&gt;&lt;p&gt;Before joining the team, he spent three years covering cybersecurity and B2B tech for ITProPortal while living in South Korea. After moving back to the US. Anthony joined the TechRadar Pro team where he covered these topics along with VPNs, web hosting, online collaboration software and video conferencing for four years. Anthony also has his ears to the ground and is on the lookout for the next major cyberattack or data breach.&lt;/p&gt;&lt;p&gt;Based in Houston, Texas, Anthony also handles VPN testing for both Tom’s Guide and TechRadar. As someone who has worked from home exclusively since 2018, he has reviewed dozens of standing desks as well as office chairs and has taken a closer look at other essential remote working accessories. As part of these reviews, Anthony frequently builds intricate desk setups which is why he’s such a big advocate for cable management and keeping things organized. When he’s not writing, he can be found tinkering with PCs and game consoles, managing cables and making upgrades to his smart home.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/rTmsdFabFxZ25s9Ttq9P8h-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock / Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A person typing on a laptop with phishing depicted and a Tom&#039;s Guide Cybersecurity Awareness Month badge on top]]></media:description>                                                            <media:text><![CDATA[A person typing on a laptop with phishing depicted and a Tom&#039;s Guide Cybersecurity Awareness Month badge on top]]></media:text>
                                <media:title type="plain"><![CDATA[A person typing on a laptop with phishing depicted and a Tom&#039;s Guide Cybersecurity Awareness Month badge on top]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/rTmsdFabFxZ25s9Ttq9P8h-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>With cyberattacks, phishing scams and even identity theft surging as hackers turn to AI to boost and automate their operations, there’s never been a better time to lock down your digital life. <br><br>From securing your phone against mobile malware to ensuring your smart TV isn’t listening to every word you say, there are plenty of proactive steps you can take right now to protect yourself and your loved ones.</p><p>October is the perfect time to give your online accounts, passwords and everything else an audit too, as it’s also Cybersecurity Awareness Month. </p><p>Created back in 2004 as a joint initiative by the Cybersecurity and Infrastructure Security Agency (CISA) and the National Cybersecurity Alliance (NCA), this month-long initiative was established to help both individuals and businesses better protect themselves online.</p><p>Here at Tom’s Guide, we’ll be covering a wide range of attack methods, threats and of course, how to stay safe from them so that you don’t become another victim of cybercrime. </p><p>Stay tuned as throughout October, we’ll be publishing in-depth guides, walkthroughs and security news to help you stay ahead of the latest attacks and scams and you can find everything you’ll need to make the most of Cybersecurity Awareness Month 2026 right here.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Does antivirus software still slow down your PC in 2026? We tested the top security software to find out ]]></title>
                                                                                                <dc:content><![CDATA[ <p>There was a time not that long ago when you had to choose between protection or performance on your Windows PC. If you enabled your security software, yes, you would be protected from malware and other viruses, but your computer’s performance would take a massive hit. On the other hand, if you left your security software disabled, you’d be able to get the best possible performance while leaving yourself completely at risk.</p><p>While computers are now much more powerful and capable of handling multiple tasks at once with ease, people still remember having games like Half-Life 2 slow to a crawl or instantly crash the second their antivirus software started running a scheduled scan. For this reason, PC gamers and power users alike began completely disabling their antivirus before launching a game or doing anything even slightly demanding on their machines.</p><p>Now though, the <a href="https://www.tomsguide.com/computing/antivirus/best-antivirus-software">best antivirus software</a> operates much differently than it did before. Instead of scanning every single file on your computer over and over again, behavioral analysis can detect suspicious activity in a much less resource-intensive way. Likewise, modern antivirus engines use cloud-based threat intelligence so that all the heavy lifting isn’t done locally on your machine. At the same time, security software is now more intelligent and knows not to run an update or start a background scan when you launch a full-screen app like a game or video editor.</p><p>In our latest round of antivirus testing, we wanted to put this long-held preconceived notion that security software kills PC performance to rest once and for all by running both quick and full scans while playing graphically demanding, AAA games. Here’s what we found and why you no longer need to rush to turn off your antivirus every time you boot up a game.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W0EkNO"></div>                            </div>                            <script src="https://kwizly.com/embed/W0EkNO.js" async></script><h2 id="from-spreadsheets-to-fps-how-our-testing-evolved">From spreadsheets to FPS: How our testing evolved</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="5q3R46U37mWKx5dkZp6GJ7" name="How We Test Laptops-2--System-Prep" alt="Laptop testing" src="https://cdn.mos.cms.futurecdn.net/5q3R46U37mWKx5dkZp6GJ7-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>In the past, whenever we examined the performance impact of antivirus software, we did so using a more CPU-intensive and disk-heavy test. This involved using a <a href="https://www.tomsguide.com/reference/how-we-test-antivirus-software-and-apps">proprietary Excel-based benchmark</a> that sorted through a database of 20,000 names and addresses. We would run the test five times and average the results to get a baseline performance level.</p><p>From there, we would re-run this same test while each antivirus suite was running a full scan and then a quick scan for malware. Doing so gave us a clear picture of how each antivirus lowered the performance potential of our testing rig. On older hardware, running a full scan while this benchmark was carried out would routinely show background tasks being slowed down by 20 to 40%.</p><p>Now that both the <a href="https://www.tomsguide.com/best-picks/best-computers">best computers</a> and <a href="https://www.tomsguide.com/computing/laptops/best-laptops">best laptops</a> are much more advanced with multi-core CPUs, high-speed SSDs, and a lot more memory, we decided to alter our testing procedures significantly. We still run full and quick scans to establish a baseline, but from there, we now run the built-in benchmarks of resource-heavy games like <a href="https://www.tomsguide.com/reviews/cyberpunk-2077-phantom-liberty">Cyberpunk 2077</a> and <a href="https://www.tomsguide.com/reviews/forza-horizon-5">Forza Horizon 5</a> while performing a variety of antivirus scans and recording how they affect each game’s frame rate in frames per second (fps).</p><p>At the same time, we also now test how each antivirus suite impacts our internet speeds. We do so by recording download and upload speeds with each program running while performing both a quick and full scan.</p><p>By measuring how each antivirus affects game frame rates as well as internet speeds, we can tell you which ones have the most and least impact on system performance. Without further ado, here’s what our latest round of testing found.</p><h2 id="antivirus-by-antivirus-here-s-how-each-suite-performed">Antivirus-by-antivirus: Here’s how each suite performed</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mnDB7TkV87LiL7jvtNy2eA" name="Asus ROG Zephyrus G14 (2025)" alt="Cyberpunk 2077 on an Asus ROG Zephyrus G14 (2025)." src="https://cdn.mos.cms.futurecdn.net/mnDB7TkV87LiL7jvtNy2eA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>To conduct our gaming performance tests, we used a desktop PC equipped with an AMD Ryzen 7 7700X CPU, an MSI RTX 5070 Ti GPU, and 32GB of DDR5 memory. For this round of testing, we ran Cyberpunk 2077’s built-in benchmark on Ultra graphics settings and Forza Horizon 5’s on High graphics settings.</p><p>Of the five antivirus suites we tested with Cyberpunk 2077 running, Bitdefender came out on top with only a drop of 3 fps during a full scan. Meanwhile, Malwarebytes was impacted the most, taking a 13.7% performance hit in fps while running a full scan.</p><div ><table><caption>Cyberpunk 2077 Benchmark Results </caption><thead><tr><th class="firstcol " ><p>Antivirus suite</p></th><th  ><p>Baseline (FPS)</p></th><th  ><p>Quick Scan (FPS)</p></th><th  ><p>Full Scan (FPS)</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/avast-one-review"><strong>Avast One </strong></a></p></td><td  ><p>99</p></td><td  ><p>96</p></td><td  ><p>96.17</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/bitdefender-review#section-bitdefender-review-performance"><strong>Bitdefender Total Security </strong></a></p></td><td  ><p>100</p></td><td  ><p>N/A</p></td><td  ><p>97</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/malwarebytes-review#section-malwarebytes-review-performance"><strong>Malwarebytes Premium </strong></a></p></td><td  ><p>87</p></td><td  ><p>83</p></td><td  ><p>75</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/mcafee-plus-premium-review-2026#section-mcafee-premium-review-performance"><strong>McAfee+ Premium</strong></a><strong> </strong></p></td><td  ><p>99</p></td><td  ><p>93</p></td><td  ><p>87</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/norton-360-review"><strong>Norton 360 </strong></a></p></td><td  ><p>118</p></td><td  ><p>107</p></td><td  ><p>105</p></td></tr></tbody></table></div><p>In the table above, for our baseline, the game and the antivirus software were running simultaneously. However, no active scans took place during those runs. From there, we performed a quick scan and then a full scan while executing Cyberpunk 2077’s in-game benchmarking tool.</p><p>Based on our testing, you can see that playing Cyberpunk 2077 with Norton 360 open but not actively scanning had almost no impact on performance. The same can’t be said for Malwarebytes though, where just running the antivirus and the game simultaneously seriously affected the performance of our testing rig.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UmEsnSdF4oqvQAq9hiP4US" name="HyperX Omen 15--5" alt="HyperX Omen 15 (2026)" src="https://cdn.mos.cms.futurecdn.net/UmEsnSdF4oqvQAq9hiP4US-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div ><table><caption>Forza Horizon 5 Benchmark Results </caption><thead><tr><th class="firstcol " ><p>Antivirus suite</p></th><th  ><p>Baseline (FPS)</p></th><th  ><p>Quick Scan (FPS)</p></th><th  ><p>Full Scan (FPS)</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/avast-one-review"><strong>Avast One </strong></a></p></td><td  ><p>125</p></td><td  ><p>124</p></td><td  ><p>124</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/bitdefender-review#section-bitdefender-review-performance"><strong>Bitdefender Total Security </strong></a></p></td><td  ><p>125</p></td><td  ><p>N/A</p></td><td  ><p>123</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/malwarebytes-review#section-malwarebytes-review-performance"><strong>Malwarebytes Premium </strong></a></p></td><td  ><p>110</p></td><td  ><p>107</p></td><td  ><p>99</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/mcafee-plus-premium-review-2026#section-mcafee-premium-review-performance"><strong>McAfee+ Premium</strong></a><strong> </strong></p></td><td  ><p>113</p></td><td  ><p>110</p></td><td  ><p>95</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/norton-360-review"><strong>Norton 360 </strong></a></p></td><td  ><p>125</p></td><td  ><p>123</p></td><td  ><p>123</p></td></tr></tbody></table></div><p>When running Forza Horizon 5’s in-game benchmark with Avast, Bitdefender, and Norton idle and while actively scanning, all three antivirus suites experienced virtually unnoticeable fps drops. Instead of Malwarebytes though, McAfee was hit the hardest with a 15.9% performance penalty, dropping from 113 all the way down to 95 fps.</p><p>Obviously, your own results may vary depending on your gaming PC and future updates to all of the antivirus software suites we tested. However, it’s safe to say that disabling your antivirus every time you want to load a game is a bad habit we can all leave behind us. Sure, you could disable it to eke out a miniscule performance boost, but based on these numbers, you’re better off just leaving it running in the background.</p><h2 id="what-about-your-internet-speeds">What about your internet speeds?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XBfVxCZTs3mrvK2MT4c7ie" name="tg_download-speed_list.jpg" alt="A person running an internet speed test on their laptop" src="https://cdn.mos.cms.futurecdn.net/XBfVxCZTs3mrvK2MT4c7ie-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tapati Rinchumrus/Shutterstock)</span></figcaption></figure><p>When we first decided to change our testing procedures for antivirus software, I never thought that gaming performance would be relatively unaffected while internet speeds took a much bigger hit.</p><p>To carry out this portion of our evaluation, we ran multiple tests via Ookla’s <a href="http://speedtest.net" target="_blank">Speedtest.net</a> to measure the impact each suite had on download and upload speeds in three states: idling in the background, during an active quick scan, and during a full scan.</p><div ><table><caption>Internet Speed Test Results</caption><thead><tr><th class="firstcol " ><p>Antivirus suite</p></th><th  ><p>Baseline (Download / Upload Mbps) </p></th><th  ><p>Quick Scan (Download / Upload Mbps) </p></th><th  ><p>Full Scan (Download / Upload Mbps) </p></th></tr></thead><tbody><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/avast-one-review"><strong>Avast One </strong></a></p></td><td  ><p>667.45 / 740.4</p></td><td  ><p>565.56 / 702.75</p></td><td  ><p>543.63 / 666.57</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/bitdefender-review#section-bitdefender-review-performance"><strong>Bitdefender Total Security </strong></a></p></td><td  ><p>885.43 / 785.77</p></td><td  ><p>N/A</p></td><td  ><p>879.03 / 754.97</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/malwarebytes-review#section-malwarebytes-review-performance"><strong>Malwarebytes Premium </strong></a></p></td><td  ><p>905.88 / 798.02</p></td><td  ><p>904.79 / 722.06</p></td><td  ><p>902.02 / 592.41</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/mcafee-plus-premium-review-2026#section-mcafee-premium-review-performance"><strong>McAfee+ Premium</strong></a><strong> </strong></p></td><td  ><p>821.8 / 933.2</p></td><td  ><p>810.4 / 967.2</p></td><td  ><p>807.1 / 948.7</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/norton-360-review"><strong>Norton 360 </strong></a></p></td><td  ><p>810.77 / 734.55</p></td><td  ><p>709.56 / 606.89</p></td><td  ><p>896.09 / 654.43</p></td></tr></tbody></table></div><p>As you can see in the table above, Bitdefender came out on top with download speeds dropping by less than 1% and upload speeds dipping by only 3.9% during a full scan. On the other end of the spectrum, Malwarebytes’ download speeds remained virtually unchanged, but the same can’t be said for its upload performance, which suffered a steep 25.8% drop. When it came to pure download degradation, Avast took the biggest hit with an 18.5% drop, alongside a 10% dip in upload speeds.</p><p>There were also two anomalies in our internet speed tests that caught us off guard. For instance, McAfee’s download speeds only dropped by 1.8% during a full scan, but its upload speeds actually increased during active scans — jumping from 933.2 Mbps at baseline to 967.2 Mbps during a quick scan and 948.7 Mbps during a full scan. Likewise, Norton suffered a bigger download penalty during a quick scan, dropping from 810.77 Mbps down to 709.56 Mbps (a 12.5% hit), whereas its full scan download speed was actually faster at 896.09 Mbps.</p><h2 id="protected-without-the-performance-hit">Protected without the performance hit</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EZMvT9THPzqSi99JAFMEKG" name="shutterstock_1773876581-16x9edit2" alt="Hands typing on a laptop computer with a lock icon" src="https://cdn.mos.cms.futurecdn.net/EZMvT9THPzqSi99JAFMEKG-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>If you’ve been disabling your antivirus software while gaming or doing other intensive tasks, you no longer need to. What once brought your computer to a crawl no longer does for several reasons. From more advanced CPUs to faster SSDs, PC hardware has advanced significantly over the past 20 years. At the same time, the way in which your antivirus scans for known malware and detects threats using behavioral analysis means that doing so no longer requires the system resources it once did.</p><p>While having your antivirus software running in the background or performing a quick or full scan isn’t as resource-intensive as it used to be, your internet speeds can be affected — even more so if you’re connected to one of the <a href="https://www.tomsguide.com/best-picks/best-vpn">best VPNs</a>, which often come bundled with top security suites.</p><p>For this reason, you might want to briefly pause your antivirus while performing large uploads or downloading massive files from trusted sources. Still, the temporary hit your internet speeds might take is merely a minor inconvenience, whereas having your gaming or work PC infected with malware or ransomware can be a major setback.</p><p>All in all, many of the old preconceived notions we held about antivirus performance impact simply no longer apply today — and for keeping your PC protected online, that’s excellent news.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/malware-adware/security-researchers-discover-fake-chatgpt-ads-that-trick-you-into-downloading-malware"><strong>Security researchers discover fake ChatGPT ads that trick you into downloading malware</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/your-personal-information-is-everywhere-online-5-ways-to-start-removing-it"><strong>Your personal information is everywhere online — 5 ways to start removing it from the internet</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/apple-issues-emergency-update-for-millions-of-iphones-ipads-and-macs-update-your-devices-now"><strong>Apple issues emergency update for millions of iPhones, iPads, and Macs — update your devices now</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/antivirus/does-antivirus-slow-down-your-pc</link>
                                                                            <description>
                            <![CDATA[ We put modern security suites to the test across synthetic benchmarks and demanding PC games to see if the age-old PC slowdown myth still holds true. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2xWJnNbUd3rDbRV2gVobKE</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/VJGmwJrHZ8m5L8U772Pa5H-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 04 Oct 2026 07:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Antivirus]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Online Security]]></category>
                                                                                                <author><![CDATA[ anthony.spadafora@futurenet.com (Anthony Spadafora) ]]></author>                    <dc:creator><![CDATA[ Anthony Spadafora ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/z73LEoj7FkUjNG85GcWHtH-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Anthony Spadafora is the managing editor for security and home office furniture at Tom’s Guide where he covers everything from data breaches and malware to password managers and the best way to cover your whole home or business with a strong Wi-Fi signal.&lt;/p&gt;&lt;p&gt;Before joining the team, he spent three years covering cybersecurity and B2B tech for ITProPortal while living in South Korea. After moving back to the US. Anthony joined the TechRadar Pro team where he covered these topics along with VPNs, web hosting, online collaboration software and video conferencing for four years. Anthony also has his ears to the ground and is on the lookout for the next major cyberattack or data breach.&lt;/p&gt;&lt;p&gt;Based in Houston, Texas, Anthony also handles VPN testing for both Tom’s Guide and TechRadar. As someone who has worked from home exclusively since 2018, he has reviewed dozens of standing desks as well as office chairs and has taken a closer look at other essential remote working accessories. As part of these reviews, Anthony frequently builds intricate desk setups which is why he’s such a big advocate for cable management and keeping things organized. When he’s not writing, he can be found tinkering with PCs and game consoles, managing cables and making upgrades to his smart home.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/VJGmwJrHZ8m5L8U772Pa5H-1920-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A person playing Cyberpunk 2077 on the Dell XPS 14 (2026) with a Tom&#039;s Guide Cybersecurity Awareness Month badge]]></media:description>                                                            <media:text><![CDATA[A person playing Cyberpunk 2077 on the Dell XPS 14 (2026) with a Tom&#039;s Guide Cybersecurity Awareness Month badge]]></media:text>
                                <media:title type="plain"><![CDATA[A person playing Cyberpunk 2077 on the Dell XPS 14 (2026) with a Tom&#039;s Guide Cybersecurity Awareness Month badge]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/VJGmwJrHZ8m5L8U772Pa5H-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There was a time not that long ago when you had to choose between protection or performance on your Windows PC. If you enabled your security software, yes, you would be protected from malware and other viruses, but your computer’s performance would take a massive hit. On the other hand, if you left your security software disabled, you’d be able to get the best possible performance while leaving yourself completely at risk.</p><p>While computers are now much more powerful and capable of handling multiple tasks at once with ease, people still remember having games like Half-Life 2 slow to a crawl or instantly crash the second their antivirus software started running a scheduled scan. For this reason, PC gamers and power users alike began completely disabling their antivirus before launching a game or doing anything even slightly demanding on their machines.</p><p>Now though, the <a href="https://www.tomsguide.com/computing/antivirus/best-antivirus-software">best antivirus software</a> operates much differently than it did before. Instead of scanning every single file on your computer over and over again, behavioral analysis can detect suspicious activity in a much less resource-intensive way. Likewise, modern antivirus engines use cloud-based threat intelligence so that all the heavy lifting isn’t done locally on your machine. At the same time, security software is now more intelligent and knows not to run an update or start a background scan when you launch a full-screen app like a game or video editor.</p><p>In our latest round of antivirus testing, we wanted to put this long-held preconceived notion that security software kills PC performance to rest once and for all by running both quick and full scans while playing graphically demanding, AAA games. Here’s what we found and why you no longer need to rush to turn off your antivirus every time you boot up a game.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W0EkNO"></div>                            </div>                            <script src="https://kwizly.com/embed/W0EkNO.js" async></script><h2 id="from-spreadsheets-to-fps-how-our-testing-evolved">From spreadsheets to FPS: How our testing evolved</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="5q3R46U37mWKx5dkZp6GJ7" name="How We Test Laptops-2--System-Prep" alt="Laptop testing" src="https://cdn.mos.cms.futurecdn.net/5q3R46U37mWKx5dkZp6GJ7-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>In the past, whenever we examined the performance impact of antivirus software, we did so using a more CPU-intensive and disk-heavy test. This involved using a <a href="https://www.tomsguide.com/reference/how-we-test-antivirus-software-and-apps">proprietary Excel-based benchmark</a> that sorted through a database of 20,000 names and addresses. We would run the test five times and average the results to get a baseline performance level.</p><p>From there, we would re-run this same test while each antivirus suite was running a full scan and then a quick scan for malware. Doing so gave us a clear picture of how each antivirus lowered the performance potential of our testing rig. On older hardware, running a full scan while this benchmark was carried out would routinely show background tasks being slowed down by 20 to 40%.</p><p>Now that both the <a href="https://www.tomsguide.com/best-picks/best-computers">best computers</a> and <a href="https://www.tomsguide.com/computing/laptops/best-laptops">best laptops</a> are much more advanced with multi-core CPUs, high-speed SSDs, and a lot more memory, we decided to alter our testing procedures significantly. We still run full and quick scans to establish a baseline, but from there, we now run the built-in benchmarks of resource-heavy games like <a href="https://www.tomsguide.com/reviews/cyberpunk-2077-phantom-liberty">Cyberpunk 2077</a> and <a href="https://www.tomsguide.com/reviews/forza-horizon-5">Forza Horizon 5</a> while performing a variety of antivirus scans and recording how they affect each game’s frame rate in frames per second (fps).</p><p>At the same time, we also now test how each antivirus suite impacts our internet speeds. We do so by recording download and upload speeds with each program running while performing both a quick and full scan.</p><p>By measuring how each antivirus affects game frame rates as well as internet speeds, we can tell you which ones have the most and least impact on system performance. Without further ado, here’s what our latest round of testing found.</p><h2 id="antivirus-by-antivirus-here-s-how-each-suite-performed">Antivirus-by-antivirus: Here’s how each suite performed</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mnDB7TkV87LiL7jvtNy2eA" name="Asus ROG Zephyrus G14 (2025)" alt="Cyberpunk 2077 on an Asus ROG Zephyrus G14 (2025)." src="https://cdn.mos.cms.futurecdn.net/mnDB7TkV87LiL7jvtNy2eA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>To conduct our gaming performance tests, we used a desktop PC equipped with an AMD Ryzen 7 7700X CPU, an MSI RTX 5070 Ti GPU, and 32GB of DDR5 memory. For this round of testing, we ran Cyberpunk 2077’s built-in benchmark on Ultra graphics settings and Forza Horizon 5’s on High graphics settings.</p><p>Of the five antivirus suites we tested with Cyberpunk 2077 running, Bitdefender came out on top with only a drop of 3 fps during a full scan. Meanwhile, Malwarebytes was impacted the most, taking a 13.7% performance hit in fps while running a full scan.</p><div ><table><caption>Cyberpunk 2077 Benchmark Results </caption><thead><tr><th class="firstcol " ><p>Antivirus suite</p></th><th  ><p>Baseline (FPS)</p></th><th  ><p>Quick Scan (FPS)</p></th><th  ><p>Full Scan (FPS)</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/avast-one-review"><strong>Avast One </strong></a></p></td><td  ><p>99</p></td><td  ><p>96</p></td><td  ><p>96.17</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/bitdefender-review#section-bitdefender-review-performance"><strong>Bitdefender Total Security </strong></a></p></td><td  ><p>100</p></td><td  ><p>N/A</p></td><td  ><p>97</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/malwarebytes-review#section-malwarebytes-review-performance"><strong>Malwarebytes Premium </strong></a></p></td><td  ><p>87</p></td><td  ><p>83</p></td><td  ><p>75</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/mcafee-plus-premium-review-2026#section-mcafee-premium-review-performance"><strong>McAfee+ Premium</strong></a><strong> </strong></p></td><td  ><p>99</p></td><td  ><p>93</p></td><td  ><p>87</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/norton-360-review"><strong>Norton 360 </strong></a></p></td><td  ><p>118</p></td><td  ><p>107</p></td><td  ><p>105</p></td></tr></tbody></table></div><p>In the table above, for our baseline, the game and the antivirus software were running simultaneously. However, no active scans took place during those runs. From there, we performed a quick scan and then a full scan while executing Cyberpunk 2077’s in-game benchmarking tool.</p><p>Based on our testing, you can see that playing Cyberpunk 2077 with Norton 360 open but not actively scanning had almost no impact on performance. The same can’t be said for Malwarebytes though, where just running the antivirus and the game simultaneously seriously affected the performance of our testing rig.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UmEsnSdF4oqvQAq9hiP4US" name="HyperX Omen 15--5" alt="HyperX Omen 15 (2026)" src="https://cdn.mos.cms.futurecdn.net/UmEsnSdF4oqvQAq9hiP4US-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div ><table><caption>Forza Horizon 5 Benchmark Results </caption><thead><tr><th class="firstcol " ><p>Antivirus suite</p></th><th  ><p>Baseline (FPS)</p></th><th  ><p>Quick Scan (FPS)</p></th><th  ><p>Full Scan (FPS)</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/avast-one-review"><strong>Avast One </strong></a></p></td><td  ><p>125</p></td><td  ><p>124</p></td><td  ><p>124</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/bitdefender-review#section-bitdefender-review-performance"><strong>Bitdefender Total Security </strong></a></p></td><td  ><p>125</p></td><td  ><p>N/A</p></td><td  ><p>123</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/malwarebytes-review#section-malwarebytes-review-performance"><strong>Malwarebytes Premium </strong></a></p></td><td  ><p>110</p></td><td  ><p>107</p></td><td  ><p>99</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/mcafee-plus-premium-review-2026#section-mcafee-premium-review-performance"><strong>McAfee+ Premium</strong></a><strong> </strong></p></td><td  ><p>113</p></td><td  ><p>110</p></td><td  ><p>95</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/norton-360-review"><strong>Norton 360 </strong></a></p></td><td  ><p>125</p></td><td  ><p>123</p></td><td  ><p>123</p></td></tr></tbody></table></div><p>When running Forza Horizon 5’s in-game benchmark with Avast, Bitdefender, and Norton idle and while actively scanning, all three antivirus suites experienced virtually unnoticeable fps drops. Instead of Malwarebytes though, McAfee was hit the hardest with a 15.9% performance penalty, dropping from 113 all the way down to 95 fps.</p><p>Obviously, your own results may vary depending on your gaming PC and future updates to all of the antivirus software suites we tested. However, it’s safe to say that disabling your antivirus every time you want to load a game is a bad habit we can all leave behind us. Sure, you could disable it to eke out a miniscule performance boost, but based on these numbers, you’re better off just leaving it running in the background.</p><h2 id="what-about-your-internet-speeds">What about your internet speeds?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XBfVxCZTs3mrvK2MT4c7ie" name="tg_download-speed_list.jpg" alt="A person running an internet speed test on their laptop" src="https://cdn.mos.cms.futurecdn.net/XBfVxCZTs3mrvK2MT4c7ie-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tapati Rinchumrus/Shutterstock)</span></figcaption></figure><p>When we first decided to change our testing procedures for antivirus software, I never thought that gaming performance would be relatively unaffected while internet speeds took a much bigger hit.</p><p>To carry out this portion of our evaluation, we ran multiple tests via Ookla’s <a href="http://speedtest.net" target="_blank">Speedtest.net</a> to measure the impact each suite had on download and upload speeds in three states: idling in the background, during an active quick scan, and during a full scan.</p><div ><table><caption>Internet Speed Test Results</caption><thead><tr><th class="firstcol " ><p>Antivirus suite</p></th><th  ><p>Baseline (Download / Upload Mbps) </p></th><th  ><p>Quick Scan (Download / Upload Mbps) </p></th><th  ><p>Full Scan (Download / Upload Mbps) </p></th></tr></thead><tbody><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/avast-one-review"><strong>Avast One </strong></a></p></td><td  ><p>667.45 / 740.4</p></td><td  ><p>565.56 / 702.75</p></td><td  ><p>543.63 / 666.57</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/bitdefender-review#section-bitdefender-review-performance"><strong>Bitdefender Total Security </strong></a></p></td><td  ><p>885.43 / 785.77</p></td><td  ><p>N/A</p></td><td  ><p>879.03 / 754.97</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/malwarebytes-review#section-malwarebytes-review-performance"><strong>Malwarebytes Premium </strong></a></p></td><td  ><p>905.88 / 798.02</p></td><td  ><p>904.79 / 722.06</p></td><td  ><p>902.02 / 592.41</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/mcafee-plus-premium-review-2026#section-mcafee-premium-review-performance"><strong>McAfee+ Premium</strong></a><strong> </strong></p></td><td  ><p>821.8 / 933.2</p></td><td  ><p>810.4 / 967.2</p></td><td  ><p>807.1 / 948.7</p></td></tr><tr><td class="firstcol " ><p><a href="https://www.tomsguide.com/computing/antivirus/norton-360-review"><strong>Norton 360 </strong></a></p></td><td  ><p>810.77 / 734.55</p></td><td  ><p>709.56 / 606.89</p></td><td  ><p>896.09 / 654.43</p></td></tr></tbody></table></div><p>As you can see in the table above, Bitdefender came out on top with download speeds dropping by less than 1% and upload speeds dipping by only 3.9% during a full scan. On the other end of the spectrum, Malwarebytes’ download speeds remained virtually unchanged, but the same can’t be said for its upload performance, which suffered a steep 25.8% drop. When it came to pure download degradation, Avast took the biggest hit with an 18.5% drop, alongside a 10% dip in upload speeds.</p><p>There were also two anomalies in our internet speed tests that caught us off guard. For instance, McAfee’s download speeds only dropped by 1.8% during a full scan, but its upload speeds actually increased during active scans — jumping from 933.2 Mbps at baseline to 967.2 Mbps during a quick scan and 948.7 Mbps during a full scan. Likewise, Norton suffered a bigger download penalty during a quick scan, dropping from 810.77 Mbps down to 709.56 Mbps (a 12.5% hit), whereas its full scan download speed was actually faster at 896.09 Mbps.</p><h2 id="protected-without-the-performance-hit">Protected without the performance hit</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EZMvT9THPzqSi99JAFMEKG" name="shutterstock_1773876581-16x9edit2" alt="Hands typing on a laptop computer with a lock icon" src="https://cdn.mos.cms.futurecdn.net/EZMvT9THPzqSi99JAFMEKG-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>If you’ve been disabling your antivirus software while gaming or doing other intensive tasks, you no longer need to. What once brought your computer to a crawl no longer does for several reasons. From more advanced CPUs to faster SSDs, PC hardware has advanced significantly over the past 20 years. At the same time, the way in which your antivirus scans for known malware and detects threats using behavioral analysis means that doing so no longer requires the system resources it once did.</p><p>While having your antivirus software running in the background or performing a quick or full scan isn’t as resource-intensive as it used to be, your internet speeds can be affected — even more so if you’re connected to one of the <a href="https://www.tomsguide.com/best-picks/best-vpn">best VPNs</a>, which often come bundled with top security suites.</p><p>For this reason, you might want to briefly pause your antivirus while performing large uploads or downloading massive files from trusted sources. Still, the temporary hit your internet speeds might take is merely a minor inconvenience, whereas having your gaming or work PC infected with malware or ransomware can be a major setback.</p><p>All in all, many of the old preconceived notions we held about antivirus performance impact simply no longer apply today — and for keeping your PC protected online, that’s excellent news.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/malware-adware/security-researchers-discover-fake-chatgpt-ads-that-trick-you-into-downloading-malware"><strong>Security researchers discover fake ChatGPT ads that trick you into downloading malware</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/your-personal-information-is-everywhere-online-5-ways-to-start-removing-it"><strong>Your personal information is everywhere online — 5 ways to start removing it from the internet</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/apple-issues-emergency-update-for-millions-of-iphones-ipads-and-macs-update-your-devices-now"><strong>Apple issues emergency update for millions of iPhones, iPads, and Macs — update your devices now</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Your iPhone secretly locks down after 72 hours — this forensic tool may have found a way around it ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Apple has emphasized that they are <a href="https://www.tomsguide.com/ai/apple-intelligence/apple-is-prioritizing-privacy-over-winning-the-ai-race-heres-why">prioritizing safety </a>over almost everything, including AI. That's becoming even more important with <a href="https://www.tomsguide.com/ai/i-replaced-chatgpt-with-siri-ai-for-a-day-heres-what-surprised-me">Siri AI</a>, which can now <a href="https://www.tomsguide.com/phones/iphones/im-already-obsessed-with-ios-27s-one-tap-suggestions-in-messages-heres-why">search across your messages, emails, photos and other information</a> to answer questions based on your personal context.</p><p>However, a newly revealed forensic tool shows why protecting all that information doesn't end with securing the AI that uses it.</p><p>Magnet Forensics, the company behind the GrayKey phone-forensics tool used by law enforcement, <a href="https://www.404media.co/cops-can-bypass-iphone-automatic-inactivity-reboot-graykey/" target="_blank">claims it has developed a way to get around an iPhone security measure</a> designed to make data significantly harder to extract from a seized device.</p><p>According to <a href="https://www.404media.co/cops-can-bypass-iphone-automatic-inactivity-reboot-graykey/" target="_blank">a leaked Magnet Forensics video obtained by 404 Media</a>, a new device known as GrayKey Preserve and a feature called Evidence Preservation Mode can keep an iPhone in a more accessible state even after the phone would ordinarily reboot. Magnet itself says its <a href="https://www.magnetforensics.com/blog/the-importance-of-preservation-for-ios-devices/" target="_blank">new GrayKey preservation capabilities</a> were developed to address the iOS reboot timer and can preserve data on iOS devices indefinitely.</p><p>That's potentially a big deal for iPhone privacy — and the timing couldn't be more interesting.</p><h2 id="the-iphone-protection-you-probably-didn-39-t-know-existed">The iPhone protection you probably didn't know existed</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="b2mMG8DYGUpuM8cJD78UiG" name="man using phone.shutterstock_2700293007" alt="Man using iPhone" src="https://cdn.mos.cms.futurecdn.net/b2mMG8DYGUpuM8cJD78UiG-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Apple quietly added something called "inactivity reboot" to iOS in 2024. If an iPhone hasn't been unlocked for 72 hours, it automatically reboots. That isn't just an annoying restart, it actually changes the security state of the phone.</p><p>Once you've unlocked an iPhone after a reboot, it enters what's known as After First Unlock or AFU. Some encryption keys become available so apps and services can work normally.</p><p>Restart the phone and leave it locked, and it goes back to Before First Unlock, or BFU, where more sensitive data remains encrypted and is harder for forensic tools to reach.</p><p>That's why the 72-hour timer can make a difference. Leave a seized iPhone untouched for too long and it can reboot on its own, locking down more of its data. Magnet claims it has found a way around that.</p><p>According to the leaked video obtained by 404 Media, GrayKey Preserve can capture the AFU state and keep it available even if the iPhone later reboots or loses power. Magnet also claims it can preserve data that would normally disappear over time, including cached locations, recently deleted photos and recently deleted iMessages. <a href="https://www.magnetforensics.com/blog/the-importance-of-preservation-for-ios-devices/">Magnet's own explanation</a> says its new GrayKey capabilities can preserve that data indefinitely.</p><p>Exactly how it works isn't clear. Security researcher Jiska Classen told 404 Media that Magnet could be manipulating the iPhone's clock or interfering with the processes that expire data, but for now that's only a theory.</p><h2 id="then-there-39-s-siri-ai">Then there's Siri AI</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2667px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="BK6wAHZvbvvt9kZyzEVG96" name="iOS 27 Siri AI" alt="iOS 27 Siri AI running on iPhone 17 Pro." src="https://cdn.mos.cms.futurecdn.net/BK6wAHZvbvvt9kZyzEVG96-1920-80.jpg" mos="" align="middle" fullscreen="" width="2667" height="1500" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>Siri AI can use what Apple calls "<a href="https://www.tomsguide.com/ai/apple-intelligence/siri-ai-may-have-been-built-with-privacy-in-mind-but-it-doesnt-stop-some-those-contextual-features-creeping-me-out">personal context understanding</a>" to find information scattered across your iPhone. Ask it to find an old photo, track down a recommendation buried in a message or pull information from an email or calendar entry, and Siri can go looking for it. It also has onscreen awareness and can take actions across apps.</p><p>That's a big part of what makes the new Siri useful, but it also means the assistant is working with some of the most personal information on your phone.</p><p>Apple has put a lot of emphasis on keeping that information private. Much of <a href="https://www.tomsguide.com/ai/apple-intelligence-unveiled-all-the-new-ai-features-coming-to-ios-18-ipados-18-and-macos-sequoia">Apple Intelligence</a> runs on device, while more complicated requests can go through <a href="https://www.tomsguide.com/ai/3-apple-intelligence-features-i-cant-live-without-and-one-i-cant-wait-to-try">Private Cloud Compute</a>. Apple says data sent there isn't stored or made accessible to the company.</p><p>GrayKey raises a different issue. It isn't reportedly breaking Siri AI or Private Cloud Compute. It's going after the iPhone itself.</p><p>And that's where the distinction matters. Apple can lock down how its AI processes your information, but the messages, photos, emails and location data Siri relies on still have to live somewhere. If someone gains physical access to the phone, protecting that underlying data becomes just as important as protecting the AI using it.</p><h2 id="what-this-means-for-your-iphone">What this means for your iPhone</h2><p>There are still plenty of unknowns. We don't know exactly how Magnet's technique works, which versions of iOS it works on or whether Apple has already closed the door on it. The leaked Magnet video also appears to date from early 2025, even though it only surfaced now.</p><p>And this isn't a case of plugging any iPhone into GrayKey Preserve and instantly seeing everything on it. Magnet's claim is more specific: its technology can prevent an iPhone from moving into the more restrictive security state that normally kicks in after prolonged inactivity.</p><p>Still, the timing is hard to ignore. Apple is asking Siri to understand more about you while promising that the information behind those personalized answers stays private. On-device processing and Private Cloud Compute protect how Apple Intelligence handles that data, but they don't eliminate the need to protect what's sitting on the iPhone itself.</p><p>As Siri gets more personal, keeping the data it relies on secure has become even more important.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/ai/claude/claude-sonnet-5-5-just-launched-heres-why-its-about-to-become-your-daily-driver"><strong>Claude Sonnet 5.5 just launched — here's why it's about to become your daily driver</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/meta-muse-vs-chatgpt-dots-i-compared-the-new-ai-agents-and-theyre-not-as-similar-as-they-look"><strong>Meta Muse vs ChatGPT Dots — I compared the new AI agents, and they’re not as similar as they look</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/why-siri-never-worked-like-chatgpt-former-siri-ai-researcher-explains-what-apple-had-to-change"><strong>Why Siri never worked like ChatGPT — former Siri AI researcher explains what Apple had to change</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/your-iphone-secretly-locks-down-after-72-hours-this-forensic-tool-may-have-found-a-way-around-it</link>
                                                                            <description>
                            <![CDATA[ A forensic tool reportedly found a way around one of the iPhone's lesser-known protections, just as Siri AI gains access to more of your personal context. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">A2PRLEEEeLXFS2GGBtHorK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/VEw4CiZWCodwwRopC8qNoK-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 02 Oct 2026 08:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/VEw4CiZWCodwwRopC8qNoK-1920-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Apple iPhone 18 Pro and Pro Max shown in hand]]></media:description>                                                            <media:text><![CDATA[Apple iPhone 18 Pro and Pro Max shown in hand]]></media:text>
                                <media:title type="plain"><![CDATA[Apple iPhone 18 Pro and Pro Max shown in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/VEw4CiZWCodwwRopC8qNoK-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Apple has emphasized that they are <a href="https://www.tomsguide.com/ai/apple-intelligence/apple-is-prioritizing-privacy-over-winning-the-ai-race-heres-why">prioritizing safety </a>over almost everything, including AI. That's becoming even more important with <a href="https://www.tomsguide.com/ai/i-replaced-chatgpt-with-siri-ai-for-a-day-heres-what-surprised-me">Siri AI</a>, which can now <a href="https://www.tomsguide.com/phones/iphones/im-already-obsessed-with-ios-27s-one-tap-suggestions-in-messages-heres-why">search across your messages, emails, photos and other information</a> to answer questions based on your personal context.</p><p>However, a newly revealed forensic tool shows why protecting all that information doesn't end with securing the AI that uses it.</p><p>Magnet Forensics, the company behind the GrayKey phone-forensics tool used by law enforcement, <a href="https://www.404media.co/cops-can-bypass-iphone-automatic-inactivity-reboot-graykey/" target="_blank">claims it has developed a way to get around an iPhone security measure</a> designed to make data significantly harder to extract from a seized device.</p><p>According to <a href="https://www.404media.co/cops-can-bypass-iphone-automatic-inactivity-reboot-graykey/" target="_blank">a leaked Magnet Forensics video obtained by 404 Media</a>, a new device known as GrayKey Preserve and a feature called Evidence Preservation Mode can keep an iPhone in a more accessible state even after the phone would ordinarily reboot. Magnet itself says its <a href="https://www.magnetforensics.com/blog/the-importance-of-preservation-for-ios-devices/" target="_blank">new GrayKey preservation capabilities</a> were developed to address the iOS reboot timer and can preserve data on iOS devices indefinitely.</p><p>That's potentially a big deal for iPhone privacy — and the timing couldn't be more interesting.</p><h2 id="the-iphone-protection-you-probably-didn-39-t-know-existed">The iPhone protection you probably didn't know existed</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="b2mMG8DYGUpuM8cJD78UiG" name="man using phone.shutterstock_2700293007" alt="Man using iPhone" src="https://cdn.mos.cms.futurecdn.net/b2mMG8DYGUpuM8cJD78UiG-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Apple quietly added something called "inactivity reboot" to iOS in 2024. If an iPhone hasn't been unlocked for 72 hours, it automatically reboots. That isn't just an annoying restart, it actually changes the security state of the phone.</p><p>Once you've unlocked an iPhone after a reboot, it enters what's known as After First Unlock or AFU. Some encryption keys become available so apps and services can work normally.</p><p>Restart the phone and leave it locked, and it goes back to Before First Unlock, or BFU, where more sensitive data remains encrypted and is harder for forensic tools to reach.</p><p>That's why the 72-hour timer can make a difference. Leave a seized iPhone untouched for too long and it can reboot on its own, locking down more of its data. Magnet claims it has found a way around that.</p><p>According to the leaked video obtained by 404 Media, GrayKey Preserve can capture the AFU state and keep it available even if the iPhone later reboots or loses power. Magnet also claims it can preserve data that would normally disappear over time, including cached locations, recently deleted photos and recently deleted iMessages. <a href="https://www.magnetforensics.com/blog/the-importance-of-preservation-for-ios-devices/">Magnet's own explanation</a> says its new GrayKey capabilities can preserve that data indefinitely.</p><p>Exactly how it works isn't clear. Security researcher Jiska Classen told 404 Media that Magnet could be manipulating the iPhone's clock or interfering with the processes that expire data, but for now that's only a theory.</p><h2 id="then-there-39-s-siri-ai">Then there's Siri AI</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2667px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="BK6wAHZvbvvt9kZyzEVG96" name="iOS 27 Siri AI" alt="iOS 27 Siri AI running on iPhone 17 Pro." src="https://cdn.mos.cms.futurecdn.net/BK6wAHZvbvvt9kZyzEVG96-1920-80.jpg" mos="" align="middle" fullscreen="" width="2667" height="1500" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>Siri AI can use what Apple calls "<a href="https://www.tomsguide.com/ai/apple-intelligence/siri-ai-may-have-been-built-with-privacy-in-mind-but-it-doesnt-stop-some-those-contextual-features-creeping-me-out">personal context understanding</a>" to find information scattered across your iPhone. Ask it to find an old photo, track down a recommendation buried in a message or pull information from an email or calendar entry, and Siri can go looking for it. It also has onscreen awareness and can take actions across apps.</p><p>That's a big part of what makes the new Siri useful, but it also means the assistant is working with some of the most personal information on your phone.</p><p>Apple has put a lot of emphasis on keeping that information private. Much of <a href="https://www.tomsguide.com/ai/apple-intelligence-unveiled-all-the-new-ai-features-coming-to-ios-18-ipados-18-and-macos-sequoia">Apple Intelligence</a> runs on device, while more complicated requests can go through <a href="https://www.tomsguide.com/ai/3-apple-intelligence-features-i-cant-live-without-and-one-i-cant-wait-to-try">Private Cloud Compute</a>. Apple says data sent there isn't stored or made accessible to the company.</p><p>GrayKey raises a different issue. It isn't reportedly breaking Siri AI or Private Cloud Compute. It's going after the iPhone itself.</p><p>And that's where the distinction matters. Apple can lock down how its AI processes your information, but the messages, photos, emails and location data Siri relies on still have to live somewhere. If someone gains physical access to the phone, protecting that underlying data becomes just as important as protecting the AI using it.</p><h2 id="what-this-means-for-your-iphone">What this means for your iPhone</h2><p>There are still plenty of unknowns. We don't know exactly how Magnet's technique works, which versions of iOS it works on or whether Apple has already closed the door on it. The leaked Magnet video also appears to date from early 2025, even though it only surfaced now.</p><p>And this isn't a case of plugging any iPhone into GrayKey Preserve and instantly seeing everything on it. Magnet's claim is more specific: its technology can prevent an iPhone from moving into the more restrictive security state that normally kicks in after prolonged inactivity.</p><p>Still, the timing is hard to ignore. Apple is asking Siri to understand more about you while promising that the information behind those personalized answers stays private. On-device processing and Private Cloud Compute protect how Apple Intelligence handles that data, but they don't eliminate the need to protect what's sitting on the iPhone itself.</p><p>As Siri gets more personal, keeping the data it relies on secure has become even more important.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/ai/claude/claude-sonnet-5-5-just-launched-heres-why-its-about-to-become-your-daily-driver"><strong>Claude Sonnet 5.5 just launched — here's why it's about to become your daily driver</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/meta-muse-vs-chatgpt-dots-i-compared-the-new-ai-agents-and-theyre-not-as-similar-as-they-look"><strong>Meta Muse vs ChatGPT Dots — I compared the new AI agents, and they’re not as similar as they look</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/why-siri-never-worked-like-chatgpt-former-siri-ai-researcher-explains-what-apple-had-to-change"><strong>Why Siri never worked like ChatGPT — former Siri AI researcher explains what Apple had to change</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Security researchers discover fake ChatGPT ads that trick you into downloading malware ]]></title>
                                                                                                <dc:content><![CDATA[ <p><em><strong>Update: </strong></em><em>Google responds to inquiries about this attack.</em></p><p>Sponsored Google ads for fake ChatGPT are leading Windows users to download malware in "ClickFix" traps, according to security researchers from the <a href="https://www.island.io/blog/how-attackers-use-sponsored-search-custom-gpts-in-malware-delivery" target="_blank">AI company Island</a>.</p><p>The sponsored Google ads lead to <a href="https://www.tomsguide.com/ai/i-tested-5-custom-gpts-skip-the-rest-and-try-these-today">Custom GPT sites</a> that are built to look like normal ChatGPT websites. These ads pop up when people type terms like "chatgpt" into Google Search. </p><p>Unfortunately, for trapped users, the ads do go to legitimate chatgpt.com sites. However, in these instances, entering a prompt makes the fake service direct people to a "backup domain" due to "high traffic."</p><p>Clicking on that link then redirects unsuspecting users to another fake instance of ChatGPT with a fake Cloudflare verification page that contains <a href="https://www.tomsguide.com/computing/malware-adware/clickfix-attacks-just-got-a-major-upgrade-to-trick-you-into-infecting-your-computer-with-malware-dont-fall-for-this">ClickFix</a> instructions. Island found nearly identical responses across two separate Custom GPTs over a 3-day period in August.</p><p>According to the researchers, the malware advertising campaign appeared to involve around 850 paid ads, 26 fake ChatGPT links, and 71 Google Ads campaign IDs over a three-month period from May 2026 through August 2026. </p><h2 id="what-is-clickfix">What is ClickFix?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1894px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="5YkXhgZYxSa6YxxaaJpMQE" name="fake-google-meet-landing-page" alt="A fake Google Meet landing page used in a ClickFix hacking campaign" src="https://cdn.mos.cms.futurecdn.net/5YkXhgZYxSa6YxxaaJpMQE-1920-80.jpg" mos="" align="middle" fullscreen="" width="1894" height="1065" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sekoia/Tom's Guide)</span></figcaption></figure><p>ClickFix traps are built to trick people into installing or executing malicious commands on their devices. In this instance, the instructions from the backup domain trick Windows into running a command that downloads malware onto your computer.</p><p>Once installed, the malware infects the system. It can even survive PC restarts and uses a Telegram bot to send stolen info back to the hackers behind this camping The malware utilizes a tool called <a href="https://www.tomsguide.com/news/fake-chrome-updates-infecting-pcs-with-malware-what-you-need-to-know">NetSupport RAT</a>, which lets attackers remotely control an infected computer. </p><p>Island found that the domains rotated and other Windows malware-delivery forms were identified too suggesting that the attack is not based on a single website. </p><p>The company claims an AI tool highlighted the suspicious activity and human researchers confirmed it. However, it's not clear how many people may have been affected by this scam.</p><p>A Google spokesperson told Tom's Guide that it has already suspended accounts associated with this attack.</p><p>"Before this report was published, we suspended the advertiser accounts involved to block this scheme and updated our defenses to better detect these tactics," a spokesperson said.</p><p>We were told that Google is monitoring new attempts to utilize fake ads. Google does <a href="https://support.google.com/adspolicy/answer/6020955?hl=en" target="_blank">have a policy </a>that does not allow misleading ads about a business, product, service or destination. Per Google, the company <a href="https://services.google.com/fh/files/blogs/global_2025_adssafetyreport.pdf" target="_blank">blocked more than 400 million</a> misleading ads for violating Google's "Misrepresentation" policies last year.</p><h2 id="how-to-avoid-falling-victim-to-online-scams">How to avoid falling victim to online scams</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:65.40%;"><img id="uiP8pgavfXxZaVumuhB2T9" name="laptop-scam-alert-shst.jpg" alt="A laptop displaying the warning "scam alert!"" src="https://cdn.mos.cms.futurecdn.net/uiP8pgavfXxZaVumuhB2T9-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="654" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rawpixel.com/Shutterstock)</span></figcaption></figure><p>The combination of malware and advertising — also known as <a href="https://www.tomsguide.com/news/hackers-have-found-an-insidious-way-to-attack-you-with-malware-dont-fall-for-this">malvertising</a> — has a long, storied history, which means you should always be careful when clicking on any advertisement online. To stay safe, you could try using one of the<a href="https://www.tomsguide.com/round-up/best-adblockers-privacy-extensions"> best ad blockers,</a> since Google's "sponsored" links are still technically ads; most blockers will hide them.</p><p>Beyond that, if you don't have or want an ad blocker, there are some red flags to note when using a search engine and especially if you get linked to a fake instance of ChatGPT.</p><p>As for ChatGPT, if you are an existing user or just trying it out, go to chatgpt.com; no need to search for it.</p><p>Likewise, I've covered ChatGPT outages quite frequently over the course of the last two years and even at its worst, the AI assistant never sends you to a "backup domain." Don't click that link. If ChatGPT is having issues, you can always check the <a href="https://status.openai.com/?utm_source=chatgpt.com" target="_blank">OpenAI status page</a>.</p><p>At the same time, no website verification or CAPTCHA will ever ask you to open Windows Run and paste a command. If a website asks you to press Win + R or run PowerShell, don't do it.</p><p>Finally, you should always have one of the <a href="https://www.tomsguide.com/computing/antivirus/best-antivirus-software">best antivirus</a> software solutions installed on your PC. From there, you want to ensure that your antivirus is current, updated and running on all your devices – both your computer and even your smartphone.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/ai/ai-agents-are-going-rogue-and-causing-new-security-headaches-but-nvidia-has-a-way-to-stop-them"><strong>AI agents are going rogue and causing new security headaches — but Nvidia has a way to stop them</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/apple-issues-emergency-update-for-millions-of-iphones-ipads-and-macs-update-your-devices-now"><strong>Apple issues emergency update for millions of iPhones, iPads, and Macs — update your devices now</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/your-personal-information-is-everywhere-online-5-ways-to-start-removing-it"><strong>Your personal information is everywhere online — 5 ways to start removing it from the internet</strong></a><strong></strong></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/malware-adware/security-researchers-discover-fake-chatgpt-ads-that-trick-you-into-downloading-malware</link>
                                                                            <description>
                            <![CDATA[ Security researchers discovered fake ChatGPT ads in Google Search that entice users to download malware. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Qrrh644W7a3TyydBz92wZC</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/CdxeMWAEPWz4VQsvg5txaZ-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 01 Oct 2026 18:23:33 +0000</pubDate>                                                                                                                                <updated>Fri, 02 Oct 2026 15:56:18 +0000</updated>
                                                                                                                                            <category><![CDATA[Malware & Adware]]></category>
                                                    <category><![CDATA[ChatGPT]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;br&gt;Send secure tips on Signal: scyo1.55.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/CdxeMWAEPWz4VQsvg5txaZ-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[ChatGPT and Google Search]]></media:description>                                                            <media:text><![CDATA[ChatGPT and Google Search]]></media:text>
                                <media:title type="plain"><![CDATA[ChatGPT and Google Search]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/CdxeMWAEPWz4VQsvg5txaZ-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><em><strong>Update: </strong></em><em>Google responds to inquiries about this attack.</em></p><p>Sponsored Google ads for fake ChatGPT are leading Windows users to download malware in "ClickFix" traps, according to security researchers from the <a href="https://www.island.io/blog/how-attackers-use-sponsored-search-custom-gpts-in-malware-delivery" target="_blank">AI company Island</a>.</p><p>The sponsored Google ads lead to <a href="https://www.tomsguide.com/ai/i-tested-5-custom-gpts-skip-the-rest-and-try-these-today">Custom GPT sites</a> that are built to look like normal ChatGPT websites. These ads pop up when people type terms like "chatgpt" into Google Search. </p><p>Unfortunately, for trapped users, the ads do go to legitimate chatgpt.com sites. However, in these instances, entering a prompt makes the fake service direct people to a "backup domain" due to "high traffic."</p><p>Clicking on that link then redirects unsuspecting users to another fake instance of ChatGPT with a fake Cloudflare verification page that contains <a href="https://www.tomsguide.com/computing/malware-adware/clickfix-attacks-just-got-a-major-upgrade-to-trick-you-into-infecting-your-computer-with-malware-dont-fall-for-this">ClickFix</a> instructions. Island found nearly identical responses across two separate Custom GPTs over a 3-day period in August.</p><p>According to the researchers, the malware advertising campaign appeared to involve around 850 paid ads, 26 fake ChatGPT links, and 71 Google Ads campaign IDs over a three-month period from May 2026 through August 2026. </p><h2 id="what-is-clickfix">What is ClickFix?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1894px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="5YkXhgZYxSa6YxxaaJpMQE" name="fake-google-meet-landing-page" alt="A fake Google Meet landing page used in a ClickFix hacking campaign" src="https://cdn.mos.cms.futurecdn.net/5YkXhgZYxSa6YxxaaJpMQE-1920-80.jpg" mos="" align="middle" fullscreen="" width="1894" height="1065" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sekoia/Tom's Guide)</span></figcaption></figure><p>ClickFix traps are built to trick people into installing or executing malicious commands on their devices. In this instance, the instructions from the backup domain trick Windows into running a command that downloads malware onto your computer.</p><p>Once installed, the malware infects the system. It can even survive PC restarts and uses a Telegram bot to send stolen info back to the hackers behind this camping The malware utilizes a tool called <a href="https://www.tomsguide.com/news/fake-chrome-updates-infecting-pcs-with-malware-what-you-need-to-know">NetSupport RAT</a>, which lets attackers remotely control an infected computer. </p><p>Island found that the domains rotated and other Windows malware-delivery forms were identified too suggesting that the attack is not based on a single website. </p><p>The company claims an AI tool highlighted the suspicious activity and human researchers confirmed it. However, it's not clear how many people may have been affected by this scam.</p><p>A Google spokesperson told Tom's Guide that it has already suspended accounts associated with this attack.</p><p>"Before this report was published, we suspended the advertiser accounts involved to block this scheme and updated our defenses to better detect these tactics," a spokesperson said.</p><p>We were told that Google is monitoring new attempts to utilize fake ads. Google does <a href="https://support.google.com/adspolicy/answer/6020955?hl=en" target="_blank">have a policy </a>that does not allow misleading ads about a business, product, service or destination. Per Google, the company <a href="https://services.google.com/fh/files/blogs/global_2025_adssafetyreport.pdf" target="_blank">blocked more than 400 million</a> misleading ads for violating Google's "Misrepresentation" policies last year.</p><h2 id="how-to-avoid-falling-victim-to-online-scams">How to avoid falling victim to online scams</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:65.40%;"><img id="uiP8pgavfXxZaVumuhB2T9" name="laptop-scam-alert-shst.jpg" alt="A laptop displaying the warning "scam alert!"" src="https://cdn.mos.cms.futurecdn.net/uiP8pgavfXxZaVumuhB2T9-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="654" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rawpixel.com/Shutterstock)</span></figcaption></figure><p>The combination of malware and advertising — also known as <a href="https://www.tomsguide.com/news/hackers-have-found-an-insidious-way-to-attack-you-with-malware-dont-fall-for-this">malvertising</a> — has a long, storied history, which means you should always be careful when clicking on any advertisement online. To stay safe, you could try using one of the<a href="https://www.tomsguide.com/round-up/best-adblockers-privacy-extensions"> best ad blockers,</a> since Google's "sponsored" links are still technically ads; most blockers will hide them.</p><p>Beyond that, if you don't have or want an ad blocker, there are some red flags to note when using a search engine and especially if you get linked to a fake instance of ChatGPT.</p><p>As for ChatGPT, if you are an existing user or just trying it out, go to chatgpt.com; no need to search for it.</p><p>Likewise, I've covered ChatGPT outages quite frequently over the course of the last two years and even at its worst, the AI assistant never sends you to a "backup domain." Don't click that link. If ChatGPT is having issues, you can always check the <a href="https://status.openai.com/?utm_source=chatgpt.com" target="_blank">OpenAI status page</a>.</p><p>At the same time, no website verification or CAPTCHA will ever ask you to open Windows Run and paste a command. If a website asks you to press Win + R or run PowerShell, don't do it.</p><p>Finally, you should always have one of the <a href="https://www.tomsguide.com/computing/antivirus/best-antivirus-software">best antivirus</a> software solutions installed on your PC. From there, you want to ensure that your antivirus is current, updated and running on all your devices – both your computer and even your smartphone.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/ai/ai-agents-are-going-rogue-and-causing-new-security-headaches-but-nvidia-has-a-way-to-stop-them"><strong>AI agents are going rogue and causing new security headaches — but Nvidia has a way to stop them</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/apple-issues-emergency-update-for-millions-of-iphones-ipads-and-macs-update-your-devices-now"><strong>Apple issues emergency update for millions of iPhones, iPads, and Macs — update your devices now</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/your-personal-information-is-everywhere-online-5-ways-to-start-removing-it"><strong>Your personal information is everywhere online — 5 ways to start removing it from the internet</strong></a><strong></strong></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Apple issues emergency update for millions of iPhones, iPads, and Macs — update your devices now ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Everyone is currently talking about the latest <a href="https://www.tomsguide.com/phones/iphones/ios-27-is-live-heres-how-to-download-and-install-it-now">Apple software releases</a>. With <a href="https://www.tomsguide.com/phones/iphones/ios-27-7-features-you-need-to-try-first-after-updating">iOS 27</a> bringing all kinds of new goodies, it's easy to see why. The <a href="https://www.tomsguide.com/phones/iphones/apple-confirms-iphone-18-pro-face-id-freezing-bug-what-you-need-to-know">Face ID bug that hit iPhone 18 Pro and Pro Max</a> devices brought even more attention to the new versions. </p><p>But that doesn't mean Apple has forgotten about <a href="https://www.tomsguide.com/phones/iphones/i-just-spent-my-first-48-hours-with-ios-26-heres-what-happened">iOS 26</a>, iPadOS 26, macOS Tahoe, <a href="https://www.tomsguide.com/computing/macos/3-macos-sequoia-upgrades-im-most-excited-about">macOS Sequoia</a> and the older devices that can't get the latest and greatest operating systems. If left alone, these older operating systems can become easy targets for attackers.</p><p>In fact, an active attack called <a href="https://nvd.nist.gov/vuln/detail/cve-2026-86950" target="_blank">CVE-2026-86950</a> targeted older Apple devices that Apple has patched to fix. </p><h2 id="new-ios-ipados-and-mac-updates">New iOS, iPadOS and Mac updates</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4330px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="aYyGjcMz9xZL3noSSRtZwY" name="iPadOS 26 LIST" alt="iPadOS 26" src="https://cdn.mos.cms.futurecdn.net/aYyGjcMz9xZL3noSSRtZwY-1920-80.jpg" mos="" align="middle" fullscreen="" width="4330" height="2436" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple / Tom's Guide)</span></figcaption></figure><p>The update is available to download now for older Apple devices. If you own a device that can download iOS 26, iPadOS 26, macOS Tahoe or macOS Sequoia, you need to install this update immediately; the exploit is in the wild, and while attacks have been highly targeted so far, you could fall victim if you're not up to date.</p><p>The new versions are iOS 26.7.1, iPadOS 26.7.1, macOS Tahoe 26.7.1 and macOS Sequoia 15.8.1. Download it as soon as you can to stay protected.</p><p>As for what the exploit can do, it affects CoreGraphics, an Apple framework used across iOS, iPadOS and macOS to display and process visuals in files like images and PDFs. Since many of us use images and PDFs regularly, it's easy to see how an attacker exploiting those file types could quickly gain access and do damage.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YwKRVzwvLwup6hDGh5bVNM" name="RzdqY6hhVUXJjJYEgfCrVe.jpg" alt="A hacker typing quickly on a keyboard" src="https://cdn.mos.cms.futurecdn.net/YwKRVzwvLwup6hDGh5bVNM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>If an attacker gets into the device, they can interfere with an app or program's normal operation, crash your device or take control of a process. With this particular exploit, processing a maliciously crafted file through CoreGraphics could let an attacker run their own code on a device, which can lead to catastrophic repercussions.</p><p>Apple said the exploit was being used for an "extremely sophisticated attack" that was also targeted. But just because it was targeted doesn't mean it'll stay that way, so you'll want to update your devices ASAP to make sure you're protected.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/android-phones/googles-android-president-on-apple-iphone-duo-android-is-usually-where-you-see-the-future-first"><strong>Android president on Apple's iPhone Duo: 'I'm glad to see more people joining what is now the obvious party'</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/phones/iphones/forget-iphone-18-pro-9-reasons-to-wait-for-the-iphone-20"><strong>Forget iPhone 18 Pro — 9 reasons to wait for the iPhone 20</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/phones/i-finally-unlinked-my-iphone-alarm-from-my-ringer-volume-here-is-where-apple-hid-it-in-ios-27"><strong>I finally unlinked my iPhone alarm from my ringer volume — here is where Apple hid it in iOS 27</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/apple-issues-emergency-update-for-millions-of-iphones-ipads-and-macs-update-your-devices-now</link>
                                                                            <description>
                            <![CDATA[ You could fall victim to a major attack if you don't update your older Apple devices. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">tp6KkQsZG8oqUynBqnhpEN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Yw7fhu6ppktzX3ZBxfNcdP-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 29 Sep 2026 13:28:58 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ dave.leclair@futurenet.com (Dave LeClair) ]]></author>                    <dc:creator><![CDATA[ Dave LeClair ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/fyx7qYdxPMTNBhdnMfNmaB-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Dave LeClair is the Managing News Editor for Tom&#039;s Guide, keeping his finger on the pulse of all things technology. He loves taking the complicated happenings in the tech world and explaining why they matter. Whether Apple is announcing the next big thing in the mobile space or a small startup advancing generative AI, Dave will apply his experience to help you figure out what&#039;s happening and why it&#039;s relevant to your life.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Before Tom&#039;s Guide, Dave worked for publications like PCMag, Pocket-lint, MUO, How-To Geek, Digital Trends, and others. He started writing about technology professionally for MUO in 2011 and hasn&#039;t looked back since. In addition to news, you can find reviews, how-to pieces, shopping guides, and many other types of content with Dave&#039;s name attached.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Yw7fhu6ppktzX3ZBxfNcdP-1920-80.jpg">
                                                            <media:credit><![CDATA[Apple]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iphone 12 vs. iphone 12 mini]]></media:description>                                                            <media:text><![CDATA[iphone 12 vs. iphone 12 mini]]></media:text>
                                <media:title type="plain"><![CDATA[iphone 12 vs. iphone 12 mini]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Yw7fhu6ppktzX3ZBxfNcdP-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Everyone is currently talking about the latest <a href="https://www.tomsguide.com/phones/iphones/ios-27-is-live-heres-how-to-download-and-install-it-now">Apple software releases</a>. With <a href="https://www.tomsguide.com/phones/iphones/ios-27-7-features-you-need-to-try-first-after-updating">iOS 27</a> bringing all kinds of new goodies, it's easy to see why. The <a href="https://www.tomsguide.com/phones/iphones/apple-confirms-iphone-18-pro-face-id-freezing-bug-what-you-need-to-know">Face ID bug that hit iPhone 18 Pro and Pro Max</a> devices brought even more attention to the new versions. </p><p>But that doesn't mean Apple has forgotten about <a href="https://www.tomsguide.com/phones/iphones/i-just-spent-my-first-48-hours-with-ios-26-heres-what-happened">iOS 26</a>, iPadOS 26, macOS Tahoe, <a href="https://www.tomsguide.com/computing/macos/3-macos-sequoia-upgrades-im-most-excited-about">macOS Sequoia</a> and the older devices that can't get the latest and greatest operating systems. If left alone, these older operating systems can become easy targets for attackers.</p><p>In fact, an active attack called <a href="https://nvd.nist.gov/vuln/detail/cve-2026-86950" target="_blank">CVE-2026-86950</a> targeted older Apple devices that Apple has patched to fix. </p><h2 id="new-ios-ipados-and-mac-updates">New iOS, iPadOS and Mac updates</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4330px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="aYyGjcMz9xZL3noSSRtZwY" name="iPadOS 26 LIST" alt="iPadOS 26" src="https://cdn.mos.cms.futurecdn.net/aYyGjcMz9xZL3noSSRtZwY-1920-80.jpg" mos="" align="middle" fullscreen="" width="4330" height="2436" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple / Tom's Guide)</span></figcaption></figure><p>The update is available to download now for older Apple devices. If you own a device that can download iOS 26, iPadOS 26, macOS Tahoe or macOS Sequoia, you need to install this update immediately; the exploit is in the wild, and while attacks have been highly targeted so far, you could fall victim if you're not up to date.</p><p>The new versions are iOS 26.7.1, iPadOS 26.7.1, macOS Tahoe 26.7.1 and macOS Sequoia 15.8.1. Download it as soon as you can to stay protected.</p><p>As for what the exploit can do, it affects CoreGraphics, an Apple framework used across iOS, iPadOS and macOS to display and process visuals in files like images and PDFs. Since many of us use images and PDFs regularly, it's easy to see how an attacker exploiting those file types could quickly gain access and do damage.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YwKRVzwvLwup6hDGh5bVNM" name="RzdqY6hhVUXJjJYEgfCrVe.jpg" alt="A hacker typing quickly on a keyboard" src="https://cdn.mos.cms.futurecdn.net/YwKRVzwvLwup6hDGh5bVNM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>If an attacker gets into the device, they can interfere with an app or program's normal operation, crash your device or take control of a process. With this particular exploit, processing a maliciously crafted file through CoreGraphics could let an attacker run their own code on a device, which can lead to catastrophic repercussions.</p><p>Apple said the exploit was being used for an "extremely sophisticated attack" that was also targeted. But just because it was targeted doesn't mean it'll stay that way, so you'll want to update your devices ASAP to make sure you're protected.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/android-phones/googles-android-president-on-apple-iphone-duo-android-is-usually-where-you-see-the-future-first"><strong>Android president on Apple's iPhone Duo: 'I'm glad to see more people joining what is now the obvious party'</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/phones/iphones/forget-iphone-18-pro-9-reasons-to-wait-for-the-iphone-20"><strong>Forget iPhone 18 Pro — 9 reasons to wait for the iPhone 20</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/phones/i-finally-unlinked-my-iphone-alarm-from-my-ringer-volume-here-is-where-apple-hid-it-in-ios-27"><strong>I finally unlinked my iPhone alarm from my ringer volume — here is where Apple hid it in iOS 27</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Proton VPN's privacy credentials are unmatched – and it's $2.99 per month ]]></title>
                                                                                                <dc:content><![CDATA[ <p>With hundreds of VPNs available, it can be incredibly difficult to dig out the <a href="https://www.tomsguide.com/best-picks/best-vpn">best VPN</a> for you. That's why we've reviewed dozens of VPN for over 8 years at Tom's Guide – and it's no secret that we rate Proton VPN as the <a href="https://www.tomsguide.com/best-picks/most-private-vpn">best VPN for privacy</a>.</p><p>There are plenty of reasons why – the Secure Core servers, audited no-logs policy, open-source apps on all devices... The list goes on, and you can find out more in my in-depth <a href="https://www.tomsguide.com/reviews/protonvpn-review">Proton VPN review</a> if you're interested.</p><p>However, the price is very appealing, too. Right now, Proton VPN sits at <a href="https://go.getproton.me/aff_ad?campaign_id=1607&aff_id=1046&source=toms_guide" target="_blank" rel="nofollow"><strong>$2.99 per month</strong></a> on the 2-year plan ($71.76 all-in). </p><p>But hold on a second. If you're looking to start de-Googling your life, Proton Unlimited is currently also discounted. On the 12-month plan, it currently sits at <a href="https://go.getproton.me/SH2ro" target="_blank" rel="nofollow"><strong>$9.09 per month</strong></a> ($109.12 all-in, rising to $119.88 in the years after). This includes the VPN as well as secure Mail, Drive, Calendar, and more.</p><p>Whichever takes your fancy, you rest easy with the knowledge that Proton is one of the relatively few VPN companies that <em>actually</em> puts your privacy first. Because the non-profit organisation Proton Foundation controls Proton AG (the company that makes the VPN), it can't be forced to prioritise making money over protecting its customers by external investors.</p><p>More info on these excellent Proton VPN deals below.</p><div class="product"><a data-dimension112="710990b8-b75a-11f1-a75d-65a395f78035" data-action="Deal Block" data-label="Proton VPN | $2.99 per month | 2 years" data-dimension48="Proton VPN | $2.99 per month | 2 years" href="https://go.getproton.me/aff_ad?campaign_id=1607&aff_id=1046&source=toms_guide" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:400px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ZZppZSPNC4hD4Vn7FwV9i3" name="Proton VPN logo square.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZZppZSPNC4hD4Vn7FwV9i3-1920-80.jpg" mos="" align="middle" fullscreen="" width="400" height="400" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://go.getproton.me/aff_ad?campaign_id=1607&aff_id=1046&source=toms_guide" target="_blank" rel="nofollow" data-dimension112="710990b8-b75a-11f1-a75d-65a395f78035" data-action="Deal Block" data-label="Proton VPN | $2.99 per month | 2 years" data-dimension48="Proton VPN | $2.99 per month | 2 years" data-dimension25=""><strong>Proton VPN | $2.99 per month | 2 years</strong></a><br>Proton VPN prioritizes privacy above all else. It's a highly secure VPN, with super fast speeds and powerful streaming unblocking. Plus, one plan unlocks all Proton VPN's features.</p><p><strong>What you'll get...</strong></p><p><strong>🔒 Class-leading privacy credentials </strong><br><strong>✨ Dedicated anti-censorship features </strong><br><strong>🌍 20,000+ servers worldwide</strong><br><strong>🚀 1,500+ Mbps speeds</strong></p><p>A two-year plan costs <a href="https://go.getproton.me/aff_ad?campaign_id=1607&aff_id=1046&source=toms_guide" target="_blank" rel="nofollow"><strong>$2.99 per month</strong></a> ($71.76 upfront) and comes with a 30-day money-back guarantee. <a class="view-deal button" href="https://go.getproton.me/aff_ad?campaign_id=1607&aff_id=1046&source=toms_guide" target="_blank" rel="nofollow" data-dimension112="710990b8-b75a-11f1-a75d-65a395f78035" data-action="Deal Block" data-label="Proton VPN | $2.99 per month | 2 years" data-dimension48="Proton VPN | $2.99 per month | 2 years" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="7109914e-b75a-11f1-b35c-c1136e3a0747" data-action="Deal Block" data-label="Proton Unlimited | $9.09 per month | 2 years" data-dimension48="Proton Unlimited | $9.09 per month | 2 years" href="https://go.getproton.me/SH2ro" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="jmWEg8R6EQiksqJHZjbqU3" name="Proton deal block logo" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jmWEg8R6EQiksqJHZjbqU3-1920-80.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://go.getproton.me/SH2ro" target="_blank" rel="nofollow" data-dimension112="7109914e-b75a-11f1-b35c-c1136e3a0747" data-action="Deal Block" data-label="Proton Unlimited | $9.09 per month | 2 years" data-dimension48="Proton Unlimited | $9.09 per month | 2 years" data-dimension25=""><strong>Proton Unlimited | $9.09 per month | 2 years</strong></a><br>Proton Unlimited includes everything you get with Proton VPN, plus premium subscriptions to Proton Drive, Proton Pass, Proton Mail, Proton Calendar, and Proton Wallet. In short, it's a privacy-focused replacement for almost every Google or Apple product you already use.</p><p><strong>What you'll get...</strong></p><p><strong>🔒 Every Proton VPN feature</strong><br><strong>⚙️ Premium Drive, Mail, Pass, Calendar + Wallet</strong><br><strong>💸 Big discount compared to individual plans</strong><br><strong>😎 Complete Google replacement</strong></p><p>A two-year plan costs <a href="https://go.getproton.me/aff_ad?campaign_id=1607&aff_id=1046&source=toms_guide" target="_blank" rel="nofollow"><strong>$9.09 per month</strong></a> ($109.12 upfront) and comes with a 30-day money-back guarantee. <a class="view-deal button" href="https://go.getproton.me/SH2ro" target="_blank" rel="nofollow" data-dimension112="7109914e-b75a-11f1-b35c-c1136e3a0747" data-action="Deal Block" data-label="Proton Unlimited | $9.09 per month | 2 years" data-dimension48="Proton Unlimited | $9.09 per month | 2 years" data-dimension25="">View Deal</a></p></div><h2 id="how-does-proton-vpn-compare">How does Proton VPN compare?</h2><p>On paper, Proton VPN puts up some very impressive stats. It has servers in 145 countries, which gives you great range around the world. The only VPN with more is <a href="https://www.tomsguide.com/reviews/nordvpn-review">NordVPN</a>, with 167.</p><p>Proton VPN is fast, too, delivering average speeds of over 1,500 Mbps on our 10 Gbps connection. Some VPNs, including <a href="https://www.tomsguide.com/reviews/surfshark-vpn-review">Surfshark</a>, <a href="https://www.tomsguide.com/reviews/mullvad-vpn-review">Mullvad </a>and <a href="https://www.tomsguide.com/reviews/windscribe-vpn-review">Windscribe </a>were faster in the same tests, but Proton is competing at the top of the table.</p><p>Proton's privacy credentials are what really impresses, though, and if you're looking for one of the <a href="https://www.tomsguide.com/best-picks/most-private-vpn">most private VPNs</a>, Proton VPN is hard to beat. It values privacy above all else, and its features reflect that. </p><p><a href="https://www.tomsguide.com/features/protonvpn-secure-core">Secure Core</a> is its <a href="https://www.tomsguide.com/features/what-is-a-double-vpn-and-how-does-it-work">Double VPN</a> feature, and it routes your VPN traffic through two servers rather than one. Proton VPN owns and operates all of its Secure Core servers, and you connect to your desired location via Iceland, Sweden, or Switzerland. Plus, <a href="https://www.tomsguide.com/news/what-is-vpn-obfuscation-and-do-i-need-it">VPN obfuscation</a> is provided through the <a href="https://www.tomsguide.com/features/proton-vpn-stealth-protocol-what-is-it-and-why-should-you-use-it">Stealth protocol</a>. This disguises your VPN traffic to help it bypass internet restrictions. </p><p>There's a rock-solid kill switch, and threat protection in the form of <a href="https://www.tomsguide.com/features/proton-vpn-netshield-what-is-it-and-why-should-you-use-it">NetShield</a>. However, be aware that the latter isn't nearly as good as other VPN malware protection like NordVPN's Next-Gen Antivirus. It's handy to have, and better than nothing, but I'd recommend a standalone malware and ad blocker instead of relying on it.</p><p>Overall, Proton VPN is one of the very best VPNs available right now – and if privacy is your top concern, it should be your first consideration.</p><div data-widget-type="simple" data-model-name="Proton VPN"></div><p>We test and review VPN services in the context of legal recreational uses. For example:1. Accessing a service from another country (subject to the terms and conditions of that service).2. Protecting your online security and strengthening your online privacy when abroad.We do not support or condone the illegal or malicious use of VPN services. Consuming pirated content that is paid-for is neither endorsed nor approved by Future Publishing.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/vpns/we-rate-proton-vpn-as-the-most-private-vpn-and-its-currently-just-usd2-99-per-month</link>
                                                                            <description>
                            <![CDATA[ Proton VPN offers the best privacy out of any VPN I've tested – but Proton's other apps are also well worth considering, too. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">N5XxiGBnCRcJMqbCkaUe8N</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/bBGRW4ko3fLYrfkoegDfe6-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 23 Sep 2026 14:46:37 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[VPNs]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Mo Harber-Lamond ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/e5z29XBdy9KTwJ4GsGoUsH-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;As VPN editor at Tom&#039;s Guide, Mo manages the three-strong VPN team and oversees a busy weekly content schedule of VPN, privacy, and cybersecurity news, reviews, and advice. He&#039;s a daily VPN user himself – typically NordVPN or ExpressVPN – and a regular reviewer of all the leading services: you’ll find his latest recommendations in Tom’s Guide’s &lt;a href=&quot;https://www.tomsguide.com/best-picks/best-vpn&quot;&gt;best VPN&lt;/a&gt; and &lt;a href=&quot;https://www.tomsguide.com/best-picks/best-free-vpn&quot;&gt;best free VPN&lt;/a&gt; guides. &lt;/p&gt;&lt;p&gt;Mo is committed to helping people choose the right VPN for their needs, and takes a meticulous, data-driven approach to Tom’s Guide’s testing processes to ensure that he and his team can make confident VPN recommendations that are grounded in thorough, real-world testing. &lt;/p&gt;&lt;p&gt;Whether he’s analyzing advanced privacy features like obfuscation and split tunneling, connection speeds across different protocols such as WireGuard and OpenVPN, or compatibility across different devices, Mo has clocked up hundreds of hours over the last half-decade interrogating the claims made by leading and lesser-known VPN providers.&lt;/p&gt;&lt;p&gt;Mo&#039;s newest venture is launching &lt;a href=&quot;https://www.youtube.com/@The.PrivacyLab&quot; target=&quot;_blank&quot;&gt;The Privacy Lab&lt;/a&gt; on YouTube. Focusing on general digital privacy – including VPNs, of course – The Privacy Lab aims to make staying safer online more accessible. Expect explainers, recommendations, and longer deep-dives into important privacy stories.&lt;/p&gt;&lt;p&gt;Outside of his role at Tom’s Guide, Mo has contributed to a number of leading tech publications on VPN and privacy issues, including &lt;a href=&quot;https://www.techradar.com/author/mo-harber-lamond&quot;&gt;TechRadar&lt;/a&gt;, &lt;a href=&quot;https://www.whathifi.com/author/mo-harber-lamond&quot;&gt;What Hi-Fi?&lt;/a&gt; and &lt;a href=&quot;https://www.t3.com/author/mo-harber-lamond&quot;&gt;T3&lt;/a&gt;, developing his position as a trusted voice in the field. &lt;/p&gt;&lt;p&gt;He graduated with First Class honours in English Literature and Creative Writing from Manchester University in the UK, and before joining the Tom&#039;s Guide team, worked for several years in creative and editorial writing. Alongside this, he side-hustled as a proofreader and copy editor – honing his skills in communicating complex information clearly – all the while gaining notoriety (if not success) with his band in his homeland of Cornwall.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/bBGRW4ko3fLYrfkoegDfe6-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Laptop and smartphone on a table, both connected to Proton VPN Free]]></media:description>                                                            <media:text><![CDATA[Laptop and smartphone on a table, both connected to Proton VPN Free]]></media:text>
                                <media:title type="plain"><![CDATA[Laptop and smartphone on a table, both connected to Proton VPN Free]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/bBGRW4ko3fLYrfkoegDfe6-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>With hundreds of VPNs available, it can be incredibly difficult to dig out the <a href="https://www.tomsguide.com/best-picks/best-vpn">best VPN</a> for you. That's why we've reviewed dozens of VPN for over 8 years at Tom's Guide – and it's no secret that we rate Proton VPN as the <a href="https://www.tomsguide.com/best-picks/most-private-vpn">best VPN for privacy</a>.</p><p>There are plenty of reasons why – the Secure Core servers, audited no-logs policy, open-source apps on all devices... The list goes on, and you can find out more in my in-depth <a href="https://www.tomsguide.com/reviews/protonvpn-review">Proton VPN review</a> if you're interested.</p><p>However, the price is very appealing, too. Right now, Proton VPN sits at <a href="https://go.getproton.me/aff_ad?campaign_id=1607&aff_id=1046&source=toms_guide" target="_blank" rel="nofollow"><strong>$2.99 per month</strong></a> on the 2-year plan ($71.76 all-in). </p><p>But hold on a second. If you're looking to start de-Googling your life, Proton Unlimited is currently also discounted. On the 12-month plan, it currently sits at <a href="https://go.getproton.me/SH2ro" target="_blank" rel="nofollow"><strong>$9.09 per month</strong></a> ($109.12 all-in, rising to $119.88 in the years after). This includes the VPN as well as secure Mail, Drive, Calendar, and more.</p><p>Whichever takes your fancy, you rest easy with the knowledge that Proton is one of the relatively few VPN companies that <em>actually</em> puts your privacy first. Because the non-profit organisation Proton Foundation controls Proton AG (the company that makes the VPN), it can't be forced to prioritise making money over protecting its customers by external investors.</p><p>More info on these excellent Proton VPN deals below.</p><div class="product"><a data-dimension112="710990b8-b75a-11f1-a75d-65a395f78035" data-action="Deal Block" data-label="Proton VPN | $2.99 per month | 2 years" data-dimension48="Proton VPN | $2.99 per month | 2 years" href="https://go.getproton.me/aff_ad?campaign_id=1607&aff_id=1046&source=toms_guide" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:400px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ZZppZSPNC4hD4Vn7FwV9i3" name="Proton VPN logo square.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZZppZSPNC4hD4Vn7FwV9i3-1920-80.jpg" mos="" align="middle" fullscreen="" width="400" height="400" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://go.getproton.me/aff_ad?campaign_id=1607&aff_id=1046&source=toms_guide" target="_blank" rel="nofollow" data-dimension112="710990b8-b75a-11f1-a75d-65a395f78035" data-action="Deal Block" data-label="Proton VPN | $2.99 per month | 2 years" data-dimension48="Proton VPN | $2.99 per month | 2 years" data-dimension25=""><strong>Proton VPN | $2.99 per month | 2 years</strong></a><br>Proton VPN prioritizes privacy above all else. It's a highly secure VPN, with super fast speeds and powerful streaming unblocking. Plus, one plan unlocks all Proton VPN's features.</p><p><strong>What you'll get...</strong></p><p><strong>🔒 Class-leading privacy credentials </strong><br><strong>✨ Dedicated anti-censorship features </strong><br><strong>🌍 20,000+ servers worldwide</strong><br><strong>🚀 1,500+ Mbps speeds</strong></p><p>A two-year plan costs <a href="https://go.getproton.me/aff_ad?campaign_id=1607&aff_id=1046&source=toms_guide" target="_blank" rel="nofollow"><strong>$2.99 per month</strong></a> ($71.76 upfront) and comes with a 30-day money-back guarantee. <a class="view-deal button" href="https://go.getproton.me/aff_ad?campaign_id=1607&aff_id=1046&source=toms_guide" target="_blank" rel="nofollow" data-dimension112="710990b8-b75a-11f1-a75d-65a395f78035" data-action="Deal Block" data-label="Proton VPN | $2.99 per month | 2 years" data-dimension48="Proton VPN | $2.99 per month | 2 years" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="7109914e-b75a-11f1-b35c-c1136e3a0747" data-action="Deal Block" data-label="Proton Unlimited | $9.09 per month | 2 years" data-dimension48="Proton Unlimited | $9.09 per month | 2 years" href="https://go.getproton.me/SH2ro" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="jmWEg8R6EQiksqJHZjbqU3" name="Proton deal block logo" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jmWEg8R6EQiksqJHZjbqU3-1920-80.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://go.getproton.me/SH2ro" target="_blank" rel="nofollow" data-dimension112="7109914e-b75a-11f1-b35c-c1136e3a0747" data-action="Deal Block" data-label="Proton Unlimited | $9.09 per month | 2 years" data-dimension48="Proton Unlimited | $9.09 per month | 2 years" data-dimension25=""><strong>Proton Unlimited | $9.09 per month | 2 years</strong></a><br>Proton Unlimited includes everything you get with Proton VPN, plus premium subscriptions to Proton Drive, Proton Pass, Proton Mail, Proton Calendar, and Proton Wallet. In short, it's a privacy-focused replacement for almost every Google or Apple product you already use.</p><p><strong>What you'll get...</strong></p><p><strong>🔒 Every Proton VPN feature</strong><br><strong>⚙️ Premium Drive, Mail, Pass, Calendar + Wallet</strong><br><strong>💸 Big discount compared to individual plans</strong><br><strong>😎 Complete Google replacement</strong></p><p>A two-year plan costs <a href="https://go.getproton.me/aff_ad?campaign_id=1607&aff_id=1046&source=toms_guide" target="_blank" rel="nofollow"><strong>$9.09 per month</strong></a> ($109.12 upfront) and comes with a 30-day money-back guarantee. <a class="view-deal button" href="https://go.getproton.me/SH2ro" target="_blank" rel="nofollow" data-dimension112="7109914e-b75a-11f1-b35c-c1136e3a0747" data-action="Deal Block" data-label="Proton Unlimited | $9.09 per month | 2 years" data-dimension48="Proton Unlimited | $9.09 per month | 2 years" data-dimension25="">View Deal</a></p></div><h2 id="how-does-proton-vpn-compare">How does Proton VPN compare?</h2><p>On paper, Proton VPN puts up some very impressive stats. It has servers in 145 countries, which gives you great range around the world. The only VPN with more is <a href="https://www.tomsguide.com/reviews/nordvpn-review">NordVPN</a>, with 167.</p><p>Proton VPN is fast, too, delivering average speeds of over 1,500 Mbps on our 10 Gbps connection. Some VPNs, including <a href="https://www.tomsguide.com/reviews/surfshark-vpn-review">Surfshark</a>, <a href="https://www.tomsguide.com/reviews/mullvad-vpn-review">Mullvad </a>and <a href="https://www.tomsguide.com/reviews/windscribe-vpn-review">Windscribe </a>were faster in the same tests, but Proton is competing at the top of the table.</p><p>Proton's privacy credentials are what really impresses, though, and if you're looking for one of the <a href="https://www.tomsguide.com/best-picks/most-private-vpn">most private VPNs</a>, Proton VPN is hard to beat. It values privacy above all else, and its features reflect that. </p><p><a href="https://www.tomsguide.com/features/protonvpn-secure-core">Secure Core</a> is its <a href="https://www.tomsguide.com/features/what-is-a-double-vpn-and-how-does-it-work">Double VPN</a> feature, and it routes your VPN traffic through two servers rather than one. Proton VPN owns and operates all of its Secure Core servers, and you connect to your desired location via Iceland, Sweden, or Switzerland. Plus, <a href="https://www.tomsguide.com/news/what-is-vpn-obfuscation-and-do-i-need-it">VPN obfuscation</a> is provided through the <a href="https://www.tomsguide.com/features/proton-vpn-stealth-protocol-what-is-it-and-why-should-you-use-it">Stealth protocol</a>. This disguises your VPN traffic to help it bypass internet restrictions. </p><p>There's a rock-solid kill switch, and threat protection in the form of <a href="https://www.tomsguide.com/features/proton-vpn-netshield-what-is-it-and-why-should-you-use-it">NetShield</a>. However, be aware that the latter isn't nearly as good as other VPN malware protection like NordVPN's Next-Gen Antivirus. It's handy to have, and better than nothing, but I'd recommend a standalone malware and ad blocker instead of relying on it.</p><p>Overall, Proton VPN is one of the very best VPNs available right now – and if privacy is your top concern, it should be your first consideration.</p><div data-widget-type="simple" data-model-name="Proton VPN"></div><p>We test and review VPN services in the context of legal recreational uses. For example:1. Accessing a service from another country (subject to the terms and conditions of that service).2. Protecting your online security and strengthening your online privacy when abroad.We do not support or condone the illegal or malicious use of VPN services. Consuming pirated content that is paid-for is neither endorsed nor approved by Future Publishing.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The best Norton products for staying safe online 2026 ]]></title>
                                                                                                <dc:content><![CDATA[ <p>If you’re looking to protect yourself online, we’re here to help. We’ve compared Norton’s range of online security plans, assessing their features, protection, performance and value. There are several options worth considering, from antivirus protection to more comprehensive coverage and family-focused plans. So grab a coffee while we talk you through the Norton product lineup.</p><h2 class="article-body__section" id="section-best-all-round-protection"><span>Best all-round protection</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="teFuQBdFQYX3uqjXHRy4Hn" name="Norton 360 Deluxe" alt="Norton 360 Deluxe Box" src="https://cdn.mos.cms.futurecdn.net/teFuQBdFQYX3uqjXHRy4Hn-1920-80.png" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Norton)</span></figcaption></figure><div class="buying-guide-block"><h3 id="norton-360-deluxe"><span class="title__text"><a href="https://www.tomsguide.com/computing/antivirus/norton-360-review">Norton 360 Deluxe</a></span><span class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span></span></h3><div class="_hawk subtitle"><p>Effective antivirus with wider protection for several devices, plus a VPN and parental controls</p></div><p class="specs__container"><strong>VPN: </strong>Yes | <strong>Compatible OS: </strong>Windows, macOS, iOS, Android | <strong>Cloud backup: </strong>50GB | <strong>Parental controls: </strong>Yes</p><div class="hawk-wrapper"></div><div class="icon icon-plus_circle _hawk">Covers your devices, privacy, and family</div><div class="icon icon-plus_circle _hawk">Scam and deepfake protection</div><div class="icon icon-plus_circle _hawk">Accessible and user-friendly interface</div><div class="icon icon-plus_circle _hawk">24/7 customer support and active forums</div><div class="icon icon-plus_circle _hawk">Low impact on system resources</div><div class="icon icon-minus_circle _hawk">Some features cost extra</div><div class="icon icon-minus_circle _hawk">AI assistant is a little slow</div></div><p>Norton 360 is a family of plans that are designed to help you stay safe online. The Deluxe option is our top recommendation: it's number one in our <a href="https://www.tomsguide.com/computing/antivirus/weve-tested-the-best-antivirus-software-to-protect-your-computer-and-these-are-the-6-we-recommend">best antivirus</a> guide, offering real-time protection from malicious software such as viruses, ransomware, and spyware for up to five devices, alongside an extensive set of extra security features, including a firewall, password manager, VPN for privacy, and parental controls. </p><p>It's a particularly good choice for families with multiple devices to manage. If you have fewer devices to protect, or a lower budget, consider the Norton 360 Standard plan instead. You get the same all-round protection (antivirus, scam protection, VPN etc) but across three devices, and without some of the extra features.  </p><p>We were impressed with the performance of all the applications during our testing of both products. Whether we were running Norton 360 on an iPhone, Android device, PC or Mac, we found the apps easy to use, with no noticeable system slowdown.</p><p>In our real-world tests for Norton 360 Standard (which has the same core antivirus app), we ran a quick scan and a full scan while gaming. As shown in the performance results below, there was minimal slowdown during play, with negligible impact from the software.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>FPS with Norton 360 running</strong></p></th><th  ><p><strong>FPS with Quick Scan running</strong></p></th><th  ><p><strong>FPS with Full Scan running</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Cyberpunk 2077 (Ultra graphics)</strong></p></td><td  ><p>118</p></td><td  ><p>107</p></td><td  ><p>105</p></td></tr><tr><td class="firstcol " ><p><strong>Forza Horizon 5 (High graphics)</strong></p></td><td  ><p>125</p></td><td  ><p>123</p></td><td  ><p>123</p></td></tr></tbody></table></div><p>Norton VPN is a useful addition and works well for everyday privacy, connecting quickly to nearby servers to encrypt your data while browsing, streaming and using public Wi-Fi. </p><p>We weren’t the biggest fans of Norton’s AI feature, Ask Genie. It was slow to respond and needed multiple inputs to check if links were safe. Competitors do this better. Mac users, beware as well — some features like SafeCam and Cloud Backup are only for Windows users. That's no great loss thanks to macOS’s built-in camera privacy options and Time Machine, but worth knowing.</p><p>Overall, Norton 360 Deluxe offers an impressive range of online security features that perform well, AI assistant notwithstanding. But there are several other plans if you have different needs. Norton 360 Standard is a cheaper, entry-level option if you have fewer devices to protect, for example, or a lower budget.</p><p>And if you're particularly worried about identity theft, you'll need to upgrade to a plan that includes LifeLock, which will cost you more — the Deluxe package only offers some basic identity theft protection features.</p><p>As with most online security software, be aware that the price of all plans rises by quite a margin when the annual renewal kicks in. You can turn off auto-renewal in your account settings at any time.</p><ul><li><strong>Read our </strong><a href="https://www.tomsguide.com/computing/antivirus/norton-360-review"><strong>Norton 360 review</strong></a></li></ul><h2 class="article-body__section" id="section-best-for-privacy"><span>Best for privacy</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KEQy9gRYDwqHxiYwpey5wb" name="Norton VPN" alt="Norton VPN Standard Box" src="https://cdn.mos.cms.futurecdn.net/KEQy9gRYDwqHxiYwpey5wb-1920-80.png" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Norton)</span></figcaption></figure><div class="buying-guide-block"><h3 id="norton-vpn"><span class="title__text"><a href="https://www.tomsguide.com/computing/vpns/norton-vpn-review">Norton VPN</a></span><span class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span></span></h3><div class="_hawk subtitle"><p>Keeps your online activity private and secure</p></div><p class="specs__container"><strong>VPN: </strong>Yes | <strong>Identity protection: </strong>No | <strong>Compatible OS: </strong>Windows, macOS, iOS, Android | <strong>Parental controls: </strong>Yes</p><div class="hawk-wrapper"></div><div class="icon icon-plus_circle _hawk">Excellent privacy and streaming abroad</div><div class="icon icon-plus_circle _hawk">Supports IP rotation and multi-hop</div><div class="icon icon-plus_circle _hawk">Fast connection speeds</div><div class="icon icon-plus_circle _hawk">Audited no-logs policy and transparency report</div><div class="icon icon-minus_circle _hawk">Mac and iOS apps lack some features</div><div class="icon icon-minus_circle _hawk">No OpenVPN on Mac</div><div class="icon icon-minus_circle _hawk">Usage limited by devices rather than connections</div><div class="icon icon-minus_circle _hawk">Apps and pop-ups can be slightly intrusive</div></div><p>If you're looking for online privacy — or a way to access region-locked content — and don't need the extra security features of <a href="https://norton.ow5a.net/c/1943169/3893206/4405?subId1=hawk-custom-tracking&sharedid=tg&param1=aff&param2=us_paidsearch_customlp&param3=security" rel="nofollow" data-rewrite="keep">Norton 360 Deluxe</a> or LifeLock, Norton VPN is a good choice.</p><p>Following a massive transformation over the last 18 months, it's now one of our top recommendations in our <a href="https://www.tomsguide.com/best-picks/best-vpn">best VPN</a> guide. Its privacy credentials are strong: Norton’s no-logs policy has been independently audited, supporting its claim that it does not record, store or sell its users’ browsing activity.</p><p>However, where Norton VPN excels is streaming. It was the only VPN in our latest round of testing that successfully unblocked every streaming service we threw at it, including Netflix, Prime Video, Disney+, BBC iPlayer, ITVX, Channel 4, 9Now, 10 Play and YouTube.</p><p>Norton also recently expanded its global network coverage to over 100 different countries, bringing it closer in line with rivals Surfshark and ExpressVPN. That's more than enough to ensure high-speed browsing and smooth streaming for everyday use.</p><p>Price-wise, Norton VPN ties with Surfshark as the cheapest of our top-rated VPNs, making it great value for money. All this adds up to a reasonably priced and well-featured VPN that we have no qualms recommending to pretty much everyone.</p><ul><li><strong>Read our </strong><a href="https://www.tomsguide.com/computing/vpns/norton-vpn-review"><strong>Norton VPN review</strong></a></li></ul><h2 class="article-body__section" id="section-best-norton-internet-security-suite"><span>Best Norton internet security suite</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mgHBFjZpu9qj2Ywy4pUGck" name="Norton 360 With LifeLock" alt="Norton 360 With LifeLock" src="https://cdn.mos.cms.futurecdn.net/mgHBFjZpu9qj2Ywy4pUGck-1920-80.png" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Norton 360 With LifeLock)</span></figcaption></figure><div class="buying-guide-block"><h3 id="norton-360-with-lifelock"><span class="title__text"><a href="https://www.tomsguide.com/computing/antivirus/norton-360-review">Norton 360 with LifeLock</a></span><span class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span></span></h3><div class="_hawk subtitle"><p>Protects your identity from thieves, with credit monitoring, and recovery support</p></div><p class="specs__container"><strong>VPN: </strong>Yes | <strong>Identity protection: </strong>Yes | <strong>Compatible OS: </strong>Windows, macOS, iOS, Android | <strong>Parental controls: </strong>Yes</p><div class="hawk-wrapper"></div><div class="icon icon-plus_circle _hawk">Comprehensive identity monitoring and recovery</div><div class="icon icon-plus_circle _hawk">Credit monitoring, scores, and reports — up to three bureaus depending on the plan</div><div class="icon icon-plus_circle _hawk">Includes all Norton 360 digital security protections </div><div class="icon icon-minus_circle _hawk">Expensive</div><div class="icon icon-minus_circle _hawk">Software can be overwhelming</div></div><p>Hacks and data breaches are increasingly common, which means you data could end up leaked onto the internet through no fault of your own. Norton 360 with LifeLock helps protect you when your info escapes into the wild, with the same security protections as Norton 360, but with extra identity theft protection. </p><p>You can broadly split the coverage into two parts; proactive monitoring of credit reports and data breaches to catch any potential issues, like social security leaks or fraud, and restoration support for when your personal information is exposed or you're the victim of financial fraud or identity theft. </p><p>The proactive monitoring is incredibly helpful, as you can flag any potential issues before they become a problem . And if someone does manage to get into your accounts to steal your identity or money, Norton 360 with LifeLock means you get a Personal Restoration Specialist, based in the U.S., who'll get your accounts back in order. This is one of the reasons we rank it as the <a href="https://www.tomsguide.com/best-picks/best-internet-security-suites">best internet security suite</a> you can get right now. </p><p>There a few editions of Norton 360 with LifeLock: Select, Advantage and Ultimate Plus. The main difference between each is the amount you'll be reimbursed if your money or identity are stolen, and a few other things, like the amount of cloud backup storage you get and volume of credit reports and from which bureaus. </p><p>Although Norton 360 with LifeLock offers very similar digital security features to <a href="#elk-98c8a27a-a863-11f1-946a-a50cf3295226">Norton 360 Deluxe</a>, it's also costs quite a lot more. You do get a lot for your money if things go wrong and your personal data gets abused, but it's important to think about your exposure to these risks and decide whether the digital security tools of 360 Deluxe would be enough.  </p><h2 class="article-body__section" id="section-best-for-parental-controls"><span>Best for parental controls</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mekZfwzxVbD4BQVCbdpsbh" name="Norton Family" alt="Norton Family Box" src="https://cdn.mos.cms.futurecdn.net/mekZfwzxVbD4BQVCbdpsbh-1920-80.png" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Norton)</span></figcaption></figure><div class="buying-guide-block"><h3 id="norton-family"><span class="title__text"><a href="https://www.tomsguide.com/reviews/norton-family">Norton Family</a></span><span class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span></span></h3><div class="_hawk subtitle"><p>Effective parental control app for Android, Windows and iOS households</p></div><p class="specs__container"><strong>VPN: </strong>No | <strong>Identity protection: </strong>No | <strong>Compatible OS: </strong>Windows, iOS, Android | <strong>Parental controls: </strong>Yes</p><div class="hawk-wrapper"></div><div class="icon icon-plus_circle _hawk">Extensive app and website control tools</div><div class="icon icon-plus_circle _hawk">Unlimited children and devices</div><div class="icon icon-plus_circle _hawk">Works with smartphones and Windows computers</div><div class="icon icon-minus_circle _hawk">Limited iOS features</div><div class="icon icon-minus_circle _hawk">Not available on Mac</div></div><p>Norton Family is a dedicated parental control app that's designed to keep your kids safer when they're online. It gives you greater control over what they can see or do while browsing, allowing you to block inappropriate websites and set healthy screen time limits.</p><p>It lets you supervise your kids' web use, so that you can see the sites they're visiting. You can check what apps they're installing, and choose which they're allowed to use. You can even track their search history to see what they're interested in (and how suitable it is).</p><p>We rate it as one of the <a href="https://www.tomsguide.com/us/best-parental-control-apps,review-2258.html">best parental control apps</a> out there, particularly for Android and Windows households. However, bear in mind that like many of its rivals Norton Family isn't compatible with macOS: it can't be installed on a child’s Mac or MacBook to monitor desktop activity. Features like individual app-level blocking are also unavailable or limited on iPhones and iPads due to Apple’s operating system restrictions.</p><p>It's one of the more affordable parental control apps, with unlimited devices and child accounts. However, prices do rise substantially after the first year of subscription. If you're considering antivirus software as well, it would be worth choosing <a href="https://norton.ow5a.net/c/1943169/3893206/4405?subId1=hawk-custom-tracking&sharedid=tg&param1=aff&param2=us_paidsearch_customlp&param3=security" rel="nofollow" data-rewrite="keep">Norton 360 Deluxe</a> or any of the higher 360 packages, which come with Norton Family bundled in.</p><ul><li><strong>Read our </strong><a href="https://www.tomsguide.com/reviews/norton-family"><strong>Norton Family review</strong></a></li></ul><h2 class="article-body__section" id="section-faqs"><span>FAQs</span></h2><section class="article__schema-question"><h3>How do I know which package I need?</h3><article class="article__schema-answer"><p><a href="#elk-98c8a27a-a863-11f1-946a-a50cf3295226">Norton 360 Deluxe</a> is our top recommendation for most people because it includes the antivirus, VPN, and Norton Family bundled together. But weigh up what you actually need against the price you’re willing to pay. The standard package will be plenty for some people.</p><p>As for <a href="#elk-98c8a7d4-a863-11f1-83c2-67d11990f268">Norton 360 with LifeLock</a>, you get almost all the same protections as with 360 Deluxe, but identity and fraud protection included too, with reimbursements if your money gets stolen, a dedicated Restoration Specialist who'll handle all the work needed to regain control of your accounts. It's more expensive than the Deluxe digital security package, so go this route if you're also worried about the risk of identity theft. </p><p>If you’ve already gone for a 360 package, you don’t need to worry about a <a href="#elk-c84a1956-a864-11f1-9f10-27f5e192baea">Norton VPN</a> subscription. It’s built in. If, however, you don’t want or need the internet security packages, then a VPN subscription is a solid way to be safer when browsing the web. </p><p>Finally, <a href="#elk-4fb6e582-aacb-11f1-80b2-47b83de25da0">Norton Family</a> is great if you want to keep costs down and make sure that your kids are safe while browsing online. It's worth bundling it with Norton 360, however, because you get the other helpful antivirus benefits.</p></article></section><section class="article__schema-question"><h3>What about a family plan?</h3><article class="article__schema-answer"><p><a href="https://norton.ow5a.net/c/1943169/3893206/4405?subId1=hawk-custom-tracking&sharedid=tg&param1=aff&param2=us_paidsearch_customlp&param3=security" rel="nofollow" data-rewrite="keep">Norton 360 Deluxe</a> covers up to five PCs, Macs, phones, or tablets, making it a practical choice for households with several devices. It also includes parental control options, which let you restrict internet access for your little ones who might otherwise stumble across something unsavory. Or seek it out. Either way, you can stop them from accessing stuff you don’t want them to see, and save them from potentially introducing a virus to your home network or PC.</p><p>If you need identity protection for more than one adult or child, some <a href="https://norton.ow5a.net/c/1943169/3799603/4405?subId1=hawk-custom-tracking&sharedid=tg&param1=aff&param2=us_paidsearch_customlp&param3=security" rel="nofollow" data-rewrite="keep">Norton 360 with LifeLock</a> and standalone LifeLock plans offer separate family options. </p><p>Family plans are usually pretty expensive, though you may find it worth it for the extra protection and peace of mind. </p></article></section> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/antivirus/best-norton-products-staying-safe-online</link>
                                                                            <description>
                            <![CDATA[ We've tested every single Norton product around so that we can find the best for you. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">hcTaBoQ5hczwbFQLHxSeYZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aNFt4tNS9id7t47qzTnvTL-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 23 Sep 2026 08:22:45 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Antivirus]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Online Security]]></category>
                                                                                                                    <dc:creator><![CDATA[ Tammy Rogers ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/n8MswK9ZvXC9mSb5incU44-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tammy&#039;s reviews and buying guide expertise have more focus than ever on Tom&#039;s Guide, helping buyers find the audio gear that works best for them. Tammy has worked with some of the most desirable audio brands on the planet in her time writing about headphones, speakers, and more, bringing a consumer focussed approach to critique and buying advice. Away from her desk, you&#039;ll probably find her in the countryside writing (extremely bad) poetry, or putting her screenwriting Masters to good use creating screenplays that&#039;ll never see the light of day.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/aNFt4tNS9id7t47qzTnvTL-1920-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Person using a laptop running Norton 360 antivirus software]]></media:description>                                                            <media:text><![CDATA[Person using a laptop running Norton 360 antivirus software]]></media:text>
                                <media:title type="plain"><![CDATA[Person using a laptop running Norton 360 antivirus software]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aNFt4tNS9id7t47qzTnvTL-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you’re looking to protect yourself online, we’re here to help. We’ve compared Norton’s range of online security plans, assessing their features, protection, performance and value. There are several options worth considering, from antivirus protection to more comprehensive coverage and family-focused plans. So grab a coffee while we talk you through the Norton product lineup.</p><h2 class="article-body__section" id="section-best-all-round-protection"><span>Best all-round protection</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="teFuQBdFQYX3uqjXHRy4Hn" name="Norton 360 Deluxe" alt="Norton 360 Deluxe Box" src="https://cdn.mos.cms.futurecdn.net/teFuQBdFQYX3uqjXHRy4Hn-1920-80.png" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Norton)</span></figcaption></figure><div class="buying-guide-block"><h3 id="norton-360-deluxe"><span class="title__text"><a href="https://www.tomsguide.com/computing/antivirus/norton-360-review">Norton 360 Deluxe</a></span><span class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span></span></h3><div class="_hawk subtitle"><p>Effective antivirus with wider protection for several devices, plus a VPN and parental controls</p></div><p class="specs__container"><strong>VPN: </strong>Yes | <strong>Compatible OS: </strong>Windows, macOS, iOS, Android | <strong>Cloud backup: </strong>50GB | <strong>Parental controls: </strong>Yes</p><div class="hawk-wrapper"></div><div class="icon icon-plus_circle _hawk">Covers your devices, privacy, and family</div><div class="icon icon-plus_circle _hawk">Scam and deepfake protection</div><div class="icon icon-plus_circle _hawk">Accessible and user-friendly interface</div><div class="icon icon-plus_circle _hawk">24/7 customer support and active forums</div><div class="icon icon-plus_circle _hawk">Low impact on system resources</div><div class="icon icon-minus_circle _hawk">Some features cost extra</div><div class="icon icon-minus_circle _hawk">AI assistant is a little slow</div></div><p>Norton 360 is a family of plans that are designed to help you stay safe online. The Deluxe option is our top recommendation: it's number one in our <a href="https://www.tomsguide.com/computing/antivirus/weve-tested-the-best-antivirus-software-to-protect-your-computer-and-these-are-the-6-we-recommend">best antivirus</a> guide, offering real-time protection from malicious software such as viruses, ransomware, and spyware for up to five devices, alongside an extensive set of extra security features, including a firewall, password manager, VPN for privacy, and parental controls. </p><p>It's a particularly good choice for families with multiple devices to manage. If you have fewer devices to protect, or a lower budget, consider the Norton 360 Standard plan instead. You get the same all-round protection (antivirus, scam protection, VPN etc) but across three devices, and without some of the extra features.  </p><p>We were impressed with the performance of all the applications during our testing of both products. Whether we were running Norton 360 on an iPhone, Android device, PC or Mac, we found the apps easy to use, with no noticeable system slowdown.</p><p>In our real-world tests for Norton 360 Standard (which has the same core antivirus app), we ran a quick scan and a full scan while gaming. As shown in the performance results below, there was minimal slowdown during play, with negligible impact from the software.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>FPS with Norton 360 running</strong></p></th><th  ><p><strong>FPS with Quick Scan running</strong></p></th><th  ><p><strong>FPS with Full Scan running</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Cyberpunk 2077 (Ultra graphics)</strong></p></td><td  ><p>118</p></td><td  ><p>107</p></td><td  ><p>105</p></td></tr><tr><td class="firstcol " ><p><strong>Forza Horizon 5 (High graphics)</strong></p></td><td  ><p>125</p></td><td  ><p>123</p></td><td  ><p>123</p></td></tr></tbody></table></div><p>Norton VPN is a useful addition and works well for everyday privacy, connecting quickly to nearby servers to encrypt your data while browsing, streaming and using public Wi-Fi. </p><p>We weren’t the biggest fans of Norton’s AI feature, Ask Genie. It was slow to respond and needed multiple inputs to check if links were safe. Competitors do this better. Mac users, beware as well — some features like SafeCam and Cloud Backup are only for Windows users. That's no great loss thanks to macOS’s built-in camera privacy options and Time Machine, but worth knowing.</p><p>Overall, Norton 360 Deluxe offers an impressive range of online security features that perform well, AI assistant notwithstanding. But there are several other plans if you have different needs. Norton 360 Standard is a cheaper, entry-level option if you have fewer devices to protect, for example, or a lower budget.</p><p>And if you're particularly worried about identity theft, you'll need to upgrade to a plan that includes LifeLock, which will cost you more — the Deluxe package only offers some basic identity theft protection features.</p><p>As with most online security software, be aware that the price of all plans rises by quite a margin when the annual renewal kicks in. You can turn off auto-renewal in your account settings at any time.</p><ul><li><strong>Read our </strong><a href="https://www.tomsguide.com/computing/antivirus/norton-360-review"><strong>Norton 360 review</strong></a></li></ul><h2 class="article-body__section" id="section-best-for-privacy"><span>Best for privacy</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KEQy9gRYDwqHxiYwpey5wb" name="Norton VPN" alt="Norton VPN Standard Box" src="https://cdn.mos.cms.futurecdn.net/KEQy9gRYDwqHxiYwpey5wb-1920-80.png" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Norton)</span></figcaption></figure><div class="buying-guide-block"><h3 id="norton-vpn"><span class="title__text"><a href="https://www.tomsguide.com/computing/vpns/norton-vpn-review">Norton VPN</a></span><span class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span></span></h3><div class="_hawk subtitle"><p>Keeps your online activity private and secure</p></div><p class="specs__container"><strong>VPN: </strong>Yes | <strong>Identity protection: </strong>No | <strong>Compatible OS: </strong>Windows, macOS, iOS, Android | <strong>Parental controls: </strong>Yes</p><div class="hawk-wrapper"></div><div class="icon icon-plus_circle _hawk">Excellent privacy and streaming abroad</div><div class="icon icon-plus_circle _hawk">Supports IP rotation and multi-hop</div><div class="icon icon-plus_circle _hawk">Fast connection speeds</div><div class="icon icon-plus_circle _hawk">Audited no-logs policy and transparency report</div><div class="icon icon-minus_circle _hawk">Mac and iOS apps lack some features</div><div class="icon icon-minus_circle _hawk">No OpenVPN on Mac</div><div class="icon icon-minus_circle _hawk">Usage limited by devices rather than connections</div><div class="icon icon-minus_circle _hawk">Apps and pop-ups can be slightly intrusive</div></div><p>If you're looking for online privacy — or a way to access region-locked content — and don't need the extra security features of <a href="https://norton.ow5a.net/c/1943169/3893206/4405?subId1=hawk-custom-tracking&sharedid=tg&param1=aff&param2=us_paidsearch_customlp&param3=security" rel="nofollow" data-rewrite="keep">Norton 360 Deluxe</a> or LifeLock, Norton VPN is a good choice.</p><p>Following a massive transformation over the last 18 months, it's now one of our top recommendations in our <a href="https://www.tomsguide.com/best-picks/best-vpn">best VPN</a> guide. Its privacy credentials are strong: Norton’s no-logs policy has been independently audited, supporting its claim that it does not record, store or sell its users’ browsing activity.</p><p>However, where Norton VPN excels is streaming. It was the only VPN in our latest round of testing that successfully unblocked every streaming service we threw at it, including Netflix, Prime Video, Disney+, BBC iPlayer, ITVX, Channel 4, 9Now, 10 Play and YouTube.</p><p>Norton also recently expanded its global network coverage to over 100 different countries, bringing it closer in line with rivals Surfshark and ExpressVPN. That's more than enough to ensure high-speed browsing and smooth streaming for everyday use.</p><p>Price-wise, Norton VPN ties with Surfshark as the cheapest of our top-rated VPNs, making it great value for money. All this adds up to a reasonably priced and well-featured VPN that we have no qualms recommending to pretty much everyone.</p><ul><li><strong>Read our </strong><a href="https://www.tomsguide.com/computing/vpns/norton-vpn-review"><strong>Norton VPN review</strong></a></li></ul><h2 class="article-body__section" id="section-best-norton-internet-security-suite"><span>Best Norton internet security suite</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mgHBFjZpu9qj2Ywy4pUGck" name="Norton 360 With LifeLock" alt="Norton 360 With LifeLock" src="https://cdn.mos.cms.futurecdn.net/mgHBFjZpu9qj2Ywy4pUGck-1920-80.png" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Norton 360 With LifeLock)</span></figcaption></figure><div class="buying-guide-block"><h3 id="norton-360-with-lifelock"><span class="title__text"><a href="https://www.tomsguide.com/computing/antivirus/norton-360-review">Norton 360 with LifeLock</a></span><span class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span></span></h3><div class="_hawk subtitle"><p>Protects your identity from thieves, with credit monitoring, and recovery support</p></div><p class="specs__container"><strong>VPN: </strong>Yes | <strong>Identity protection: </strong>Yes | <strong>Compatible OS: </strong>Windows, macOS, iOS, Android | <strong>Parental controls: </strong>Yes</p><div class="hawk-wrapper"></div><div class="icon icon-plus_circle _hawk">Comprehensive identity monitoring and recovery</div><div class="icon icon-plus_circle _hawk">Credit monitoring, scores, and reports — up to three bureaus depending on the plan</div><div class="icon icon-plus_circle _hawk">Includes all Norton 360 digital security protections </div><div class="icon icon-minus_circle _hawk">Expensive</div><div class="icon icon-minus_circle _hawk">Software can be overwhelming</div></div><p>Hacks and data breaches are increasingly common, which means you data could end up leaked onto the internet through no fault of your own. Norton 360 with LifeLock helps protect you when your info escapes into the wild, with the same security protections as Norton 360, but with extra identity theft protection. </p><p>You can broadly split the coverage into two parts; proactive monitoring of credit reports and data breaches to catch any potential issues, like social security leaks or fraud, and restoration support for when your personal information is exposed or you're the victim of financial fraud or identity theft. </p><p>The proactive monitoring is incredibly helpful, as you can flag any potential issues before they become a problem . And if someone does manage to get into your accounts to steal your identity or money, Norton 360 with LifeLock means you get a Personal Restoration Specialist, based in the U.S., who'll get your accounts back in order. This is one of the reasons we rank it as the <a href="https://www.tomsguide.com/best-picks/best-internet-security-suites">best internet security suite</a> you can get right now. </p><p>There a few editions of Norton 360 with LifeLock: Select, Advantage and Ultimate Plus. The main difference between each is the amount you'll be reimbursed if your money or identity are stolen, and a few other things, like the amount of cloud backup storage you get and volume of credit reports and from which bureaus. </p><p>Although Norton 360 with LifeLock offers very similar digital security features to <a href="#elk-98c8a27a-a863-11f1-946a-a50cf3295226">Norton 360 Deluxe</a>, it's also costs quite a lot more. You do get a lot for your money if things go wrong and your personal data gets abused, but it's important to think about your exposure to these risks and decide whether the digital security tools of 360 Deluxe would be enough.  </p><h2 class="article-body__section" id="section-best-for-parental-controls"><span>Best for parental controls</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mekZfwzxVbD4BQVCbdpsbh" name="Norton Family" alt="Norton Family Box" src="https://cdn.mos.cms.futurecdn.net/mekZfwzxVbD4BQVCbdpsbh-1920-80.png" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Norton)</span></figcaption></figure><div class="buying-guide-block"><h3 id="norton-family"><span class="title__text"><a href="https://www.tomsguide.com/reviews/norton-family">Norton Family</a></span><span class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span></span></h3><div class="_hawk subtitle"><p>Effective parental control app for Android, Windows and iOS households</p></div><p class="specs__container"><strong>VPN: </strong>No | <strong>Identity protection: </strong>No | <strong>Compatible OS: </strong>Windows, iOS, Android | <strong>Parental controls: </strong>Yes</p><div class="hawk-wrapper"></div><div class="icon icon-plus_circle _hawk">Extensive app and website control tools</div><div class="icon icon-plus_circle _hawk">Unlimited children and devices</div><div class="icon icon-plus_circle _hawk">Works with smartphones and Windows computers</div><div class="icon icon-minus_circle _hawk">Limited iOS features</div><div class="icon icon-minus_circle _hawk">Not available on Mac</div></div><p>Norton Family is a dedicated parental control app that's designed to keep your kids safer when they're online. It gives you greater control over what they can see or do while browsing, allowing you to block inappropriate websites and set healthy screen time limits.</p><p>It lets you supervise your kids' web use, so that you can see the sites they're visiting. You can check what apps they're installing, and choose which they're allowed to use. You can even track their search history to see what they're interested in (and how suitable it is).</p><p>We rate it as one of the <a href="https://www.tomsguide.com/us/best-parental-control-apps,review-2258.html">best parental control apps</a> out there, particularly for Android and Windows households. However, bear in mind that like many of its rivals Norton Family isn't compatible with macOS: it can't be installed on a child’s Mac or MacBook to monitor desktop activity. Features like individual app-level blocking are also unavailable or limited on iPhones and iPads due to Apple’s operating system restrictions.</p><p>It's one of the more affordable parental control apps, with unlimited devices and child accounts. However, prices do rise substantially after the first year of subscription. If you're considering antivirus software as well, it would be worth choosing <a href="https://norton.ow5a.net/c/1943169/3893206/4405?subId1=hawk-custom-tracking&sharedid=tg&param1=aff&param2=us_paidsearch_customlp&param3=security" rel="nofollow" data-rewrite="keep">Norton 360 Deluxe</a> or any of the higher 360 packages, which come with Norton Family bundled in.</p><ul><li><strong>Read our </strong><a href="https://www.tomsguide.com/reviews/norton-family"><strong>Norton Family review</strong></a></li></ul><h2 class="article-body__section" id="section-faqs"><span>FAQs</span></h2><section class="article__schema-question"><h3>How do I know which package I need?</h3><article class="article__schema-answer"><p><a href="#elk-98c8a27a-a863-11f1-946a-a50cf3295226">Norton 360 Deluxe</a> is our top recommendation for most people because it includes the antivirus, VPN, and Norton Family bundled together. But weigh up what you actually need against the price you’re willing to pay. The standard package will be plenty for some people.</p><p>As for <a href="#elk-98c8a7d4-a863-11f1-83c2-67d11990f268">Norton 360 with LifeLock</a>, you get almost all the same protections as with 360 Deluxe, but identity and fraud protection included too, with reimbursements if your money gets stolen, a dedicated Restoration Specialist who'll handle all the work needed to regain control of your accounts. It's more expensive than the Deluxe digital security package, so go this route if you're also worried about the risk of identity theft. </p><p>If you’ve already gone for a 360 package, you don’t need to worry about a <a href="#elk-c84a1956-a864-11f1-9f10-27f5e192baea">Norton VPN</a> subscription. It’s built in. If, however, you don’t want or need the internet security packages, then a VPN subscription is a solid way to be safer when browsing the web. </p><p>Finally, <a href="#elk-4fb6e582-aacb-11f1-80b2-47b83de25da0">Norton Family</a> is great if you want to keep costs down and make sure that your kids are safe while browsing online. It's worth bundling it with Norton 360, however, because you get the other helpful antivirus benefits.</p></article></section><section class="article__schema-question"><h3>What about a family plan?</h3><article class="article__schema-answer"><p><a href="https://norton.ow5a.net/c/1943169/3893206/4405?subId1=hawk-custom-tracking&sharedid=tg&param1=aff&param2=us_paidsearch_customlp&param3=security" rel="nofollow" data-rewrite="keep">Norton 360 Deluxe</a> covers up to five PCs, Macs, phones, or tablets, making it a practical choice for households with several devices. It also includes parental control options, which let you restrict internet access for your little ones who might otherwise stumble across something unsavory. Or seek it out. Either way, you can stop them from accessing stuff you don’t want them to see, and save them from potentially introducing a virus to your home network or PC.</p><p>If you need identity protection for more than one adult or child, some <a href="https://norton.ow5a.net/c/1943169/3799603/4405?subId1=hawk-custom-tracking&sharedid=tg&param1=aff&param2=us_paidsearch_customlp&param3=security" rel="nofollow" data-rewrite="keep">Norton 360 with LifeLock</a> and standalone LifeLock plans offer separate family options. </p><p>Family plans are usually pretty expensive, though you may find it worth it for the extra protection and peace of mind. </p></article></section>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Facebook and Instagram were down — live updates on the quick outage ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="live-content"><p>Instagram and Facebook were experiencing an unexpected outage today, Sunday, September 20, with users on <a href="https://downdetector.com/status/facebook/" target="_blank">Downdetector</a> reporting Facebook outages (and Instagram, <a href="https://downdetector.com/status/instagram/" target="_blank">though the number of reports</a> is lower).</p><p>Reports spiked quickly at 9.25 p.m. ET / 6.25 p.m. PT in the United States. Users reported that the social media application wouldn't load, leaving them unable to view photos and videos from their friends and favorite influencers. It seemed to be resolved quickly, though.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Xk8aae"></div>                            </div>                            <script src="https://kwizly.com/embed/Xk8aae.js" async></script><h3 class="article-body__section" id="section-are-facebook-and-instagram-down-live-outage-updates"><span>Are Facebook and Instagram down? Live outage updates</span></h3></div><div class="live-content"><time datetime="2026-09-21T01:35:04+00:00">September 20, 2026 – 9:35 PM</time><h2 id="facebook-reports-rolling-in">Facebook reports rolling in</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2208px;"><p class="vanilla-image-block" style="padding-top:34.60%;"><img id="Pe2vi5pGfGtsjEW9FiEWdQ" name="Screenshot 2026-09-20 at 9.33.33 PM" alt="Downdetector reports" src="https://cdn.mos.cms.futurecdn.net/Pe2vi5pGfGtsjEW9FiEWdQ-1920-80.png" mos="" align="middle" fullscreen="" width="2208" height="764" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Downdetector )</span></figcaption></figure><p>Facebook quickly shot to more than 17,000 reports, which is a massive number for an outage just getting underway. </p><p>I actually stumbled on the outage myself because I was attempted to look for something on Facebook Marketplace and it wouldn't load. This prompted to check Downdetector to see if it was a widespread issue. As it turns out, it's very widespread.</p></div><div class="live-content"><time datetime="2026-09-21T01:40:16+00:00">September 20, 2026 – 9:40 PM</time><h2 id="instagram-too">Instagram, too</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1332px;"><p class="vanilla-image-block" style="padding-top:57.36%;"><img id="PB7xEtiJzZ7Jsp492ccybK" name="Screenshot 2026-09-20 at 9.39.57 PM" alt="Downdetector reports" src="https://cdn.mos.cms.futurecdn.net/PB7xEtiJzZ7Jsp492ccybK-1920-80.png" mos="" align="middle" fullscreen="" width="1332" height="764" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Downdetector )</span></figcaption></figure><p>It's not just Facebook that's having problems. Instagram currently has around 6,400 Downdetector reports, which is no small number. If you're experiencing issues with either platform, just know that you're not alone.</p></div><div class="live-content"><time datetime="2026-09-21T01:46:46+00:00">September 20, 2026 – 9:46 PM</time><h2 id="everything-seems-fine-on-meta-39-s-side">Everything seems fine on Meta's side</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1914px;"><p class="vanilla-image-block" style="padding-top:76.91%;"><img id="eoGYZKbgUu549u9Konon94" name="Screenshot 2026-09-20 at 9.42.26 PM" alt="Meta status page" src="https://cdn.mos.cms.futurecdn.net/eoGYZKbgUu549u9Konon94-1920-80.png" mos="" align="middle" fullscreen="" width="1914" height="1472" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Meta)</span></figcaption></figure><p>Meta's official status page still shows everything having "No known issues." Of course, this doesn't match up with what we're seeing from Downdetector, where thousands of users are experiencing problems. </p><p>It could be that because it's Sunday night, the folks at Meta are scrambling to find out what's happening and get to work on the problem. Or it could just be quick blip that goes away quickly, We shall see! </p></div><div class="live-content"><time datetime="2026-09-21T01:52:11+00:00">September 20, 2026 – 9:52 PM</time><h2 id="a-sharp-decline">A sharp decline</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2332px;"><p class="vanilla-image-block" style="padding-top:50.26%;"><img id="AJ4ZgEC2QcwVdFsVQzYpin" name="Screenshot 2026-09-20 at 9.49.53 PM" alt="Downdetector" src="https://cdn.mos.cms.futurecdn.net/AJ4ZgEC2QcwVdFsVQzYpin-1920-80.png" mos="" align="middle" fullscreen="" width="2332" height="1172" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Downdetector)</span></figcaption></figure><p>While Meta services are still dominating the top of Downdetector, they're all heavily angled down, which tells me that this was just a small blip. </p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/news/live/facebook-instagram-down-meta-outage-9-20-2026</link>
                                                                            <description>
                            <![CDATA[ Instagram and Facebook had a sudden, unexpected outage today that ended quickly. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8btDXRDLMBsdm39SeUpa5Z</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/RBkCBKgVMBcnQ85yXjcPEh-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 21 Sep 2026 01:35:37 +0000</pubDate>                                                                                                                                <updated>Mon, 21 Sep 2026 01:56:28 +0000</updated>
                                                                                                                                            <category><![CDATA[Social Media]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ dave.leclair@futurenet.com (Dave LeClair) ]]></author>                    <dc:creator><![CDATA[ Dave LeClair ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/fyx7qYdxPMTNBhdnMfNmaB-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Dave LeClair is the Managing News Editor for Tom&#039;s Guide, keeping his finger on the pulse of all things technology. He loves taking the complicated happenings in the tech world and explaining why they matter. Whether Apple is announcing the next big thing in the mobile space or a small startup advancing generative AI, Dave will apply his experience to help you figure out what&#039;s happening and why it&#039;s relevant to your life.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Before Tom&#039;s Guide, Dave worked for publications like PCMag, Pocket-lint, MUO, How-To Geek, Digital Trends, and others. He started writing about technology professionally for MUO in 2011 and hasn&#039;t looked back since. In addition to news, you can find reviews, how-to pieces, shopping guides, and many other types of content with Dave&#039;s name attached.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/RBkCBKgVMBcnQ85yXjcPEh-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Facebook logo on phone]]></media:description>                                                            <media:text><![CDATA[Facebook logo on phone]]></media:text>
                                <media:title type="plain"><![CDATA[Facebook logo on phone]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/RBkCBKgVMBcnQ85yXjcPEh-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="live-content"><p>Instagram and Facebook were experiencing an unexpected outage today, Sunday, September 20, with users on <a href="https://downdetector.com/status/facebook/" target="_blank">Downdetector</a> reporting Facebook outages (and Instagram, <a href="https://downdetector.com/status/instagram/" target="_blank">though the number of reports</a> is lower).</p><p>Reports spiked quickly at 9.25 p.m. ET / 6.25 p.m. PT in the United States. Users reported that the social media application wouldn't load, leaving them unable to view photos and videos from their friends and favorite influencers. It seemed to be resolved quickly, though.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Xk8aae"></div>                            </div>                            <script src="https://kwizly.com/embed/Xk8aae.js" async></script><h3 class="article-body__section" id="section-are-facebook-and-instagram-down-live-outage-updates"><span>Are Facebook and Instagram down? Live outage updates</span></h3></div><div class="live-content"><time datetime="2026-09-21T01:35:04+00:00">September 20, 2026 – 9:35 PM</time><h2 id="facebook-reports-rolling-in">Facebook reports rolling in</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2208px;"><p class="vanilla-image-block" style="padding-top:34.60%;"><img id="Pe2vi5pGfGtsjEW9FiEWdQ" name="Screenshot 2026-09-20 at 9.33.33 PM" alt="Downdetector reports" src="https://cdn.mos.cms.futurecdn.net/Pe2vi5pGfGtsjEW9FiEWdQ-1920-80.png" mos="" align="middle" fullscreen="" width="2208" height="764" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Downdetector )</span></figcaption></figure><p>Facebook quickly shot to more than 17,000 reports, which is a massive number for an outage just getting underway. </p><p>I actually stumbled on the outage myself because I was attempted to look for something on Facebook Marketplace and it wouldn't load. This prompted to check Downdetector to see if it was a widespread issue. As it turns out, it's very widespread.</p></div><div class="live-content"><time datetime="2026-09-21T01:40:16+00:00">September 20, 2026 – 9:40 PM</time><h2 id="instagram-too">Instagram, too</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1332px;"><p class="vanilla-image-block" style="padding-top:57.36%;"><img id="PB7xEtiJzZ7Jsp492ccybK" name="Screenshot 2026-09-20 at 9.39.57 PM" alt="Downdetector reports" src="https://cdn.mos.cms.futurecdn.net/PB7xEtiJzZ7Jsp492ccybK-1920-80.png" mos="" align="middle" fullscreen="" width="1332" height="764" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Downdetector )</span></figcaption></figure><p>It's not just Facebook that's having problems. Instagram currently has around 6,400 Downdetector reports, which is no small number. If you're experiencing issues with either platform, just know that you're not alone.</p></div><div class="live-content"><time datetime="2026-09-21T01:46:46+00:00">September 20, 2026 – 9:46 PM</time><h2 id="everything-seems-fine-on-meta-39-s-side">Everything seems fine on Meta's side</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1914px;"><p class="vanilla-image-block" style="padding-top:76.91%;"><img id="eoGYZKbgUu549u9Konon94" name="Screenshot 2026-09-20 at 9.42.26 PM" alt="Meta status page" src="https://cdn.mos.cms.futurecdn.net/eoGYZKbgUu549u9Konon94-1920-80.png" mos="" align="middle" fullscreen="" width="1914" height="1472" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Meta)</span></figcaption></figure><p>Meta's official status page still shows everything having "No known issues." Of course, this doesn't match up with what we're seeing from Downdetector, where thousands of users are experiencing problems. </p><p>It could be that because it's Sunday night, the folks at Meta are scrambling to find out what's happening and get to work on the problem. Or it could just be quick blip that goes away quickly, We shall see! </p></div><div class="live-content"><time datetime="2026-09-21T01:52:11+00:00">September 20, 2026 – 9:52 PM</time><h2 id="a-sharp-decline">A sharp decline</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2332px;"><p class="vanilla-image-block" style="padding-top:50.26%;"><img id="AJ4ZgEC2QcwVdFsVQzYpin" name="Screenshot 2026-09-20 at 9.49.53 PM" alt="Downdetector" src="https://cdn.mos.cms.futurecdn.net/AJ4ZgEC2QcwVdFsVQzYpin-1920-80.png" mos="" align="middle" fullscreen="" width="2332" height="1172" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Downdetector)</span></figcaption></figure><p>While Meta services are still dominating the top of Downdetector, they're all heavily angled down, which tells me that this was just a small blip. </p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ It's official: A new independent NBN speed report confirms that your old Wi-Fi router really does suck, especially if you're on a 500Mbps or faster plan ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Aussie internet speeds are undoubtedly getting faster, but there’s a strong possibility your home isn’t best prepared to take full advantage of them. There’s a simple fix… and it might be an upgrade you've been putting off. </p><p>As per <a href="https://insights.opensignal.com/reports/2026/08/australia/fixed-broadband-experience" target="_blank">Opensignal's latest report</a>, NBN Co's Accelerate Great initiative vastly improved Australia's internet speeds, thanks to free wholesale speed boosts and the arrival of a new 2Gbps speed tier. For all their positives, however, the report found that many Australians aren’t receiving the full benefit of the vastly improved speeds due to their router, with many homes and businesses neglecting their Wi-Fi radio-wave-emitting tech. </p><p>Specifically, the data reveals that 64% of readings across the six major retail service providers (RSPs) came from older Wi-Fi generation routers — i.e. Wi-Fi 3, 4, or 5 — which may not deliver the full speed of the new tiers over Wi-Fi. More than 70% of readings for both Telstra and Vocus came from Wi-Fi 5 routers or older, whereas 55% of relative newcomer Superloop's readings came from Wi-Fi 6 routers or newer.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:52.19%;"><img id="or4trTaFAuM8Rto36CuWhE" name="202608_AUS_WiFI_6 (1)" alt="Opensignal data" src="https://cdn.mos.cms.futurecdn.net/or4trTaFAuM8Rto36CuWhE-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1336" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Opensignal)</span></figcaption></figure><p>When it comes to top-end download speeds, the proof is in the pudding. Across all RSPs, customers on Wi-Fi 6 routers or newer sit around 500Mbps at the 90th percentile of download speeds. Comparatively, those with Wi-Fi 5 routers or lower reach between 129Mbps and 287.7Mbps — which is substantially slower. </p><p>If your Wi-Fi router is considerably older than your current plan — i.e. you've upgraded your FTTP or HFC connection to a much faster plan without replacing it — and your Wi-Fi is still slow, it may be time to upgrade to a new router. Wi-Fi dropouts can also be caused by poor placement, interference, firmware, your device or an NBN/RSP fault, so it’s worth checking out <a href="https://www.nbnco.com.au/learn/optimisation/what-to-look-for-in-a-wifi-router">NBN Co’s Wi-Fi router guide</a> if you’re unsure. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:52.19%;"><img id="PLWPQ4XmfNZBDMhjxoDEjE" name="202608_AUS_WiFI_7 (1)" alt="Opensignal data" src="https://cdn.mos.cms.futurecdn.net/PLWPQ4XmfNZBDMhjxoDEjE-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1336" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Opensignal)</span></figcaption></figure><p>Newer Wi-Fi generations don't just mean new devices. Each generation brings about improvements in speed, latency, capacity or efficiency — or a combination of all four — although a newer generation doesn't automatically mean better range. Deciding what Wi-Fi generation you need depends on a few factors, but it largely relies on your preferred speed tier and your bandwidth requirements, depending on how many internet-connected devices are in your home.</p><p>Currently, Wi-Fi 6 routers or higher are a good starting point for NBN 500 plans or faster. But the Wi-Fi generation alone doesn't tell you which internet plan a router can handle: figures such as AX1800, AX3000 or BE11000 are maximum Wi-Fi speed ratings, not supported NBN plan speeds. The newest generation is Wi-Fi 7, which can deliver multi-gigabit wireless speeds with compatible devices, but if you are looking at <a href="https://www.tomsguide.com/best-picks/best-nbn-2000-plans">NBN 2000</a>, be aware that the router's WAN and LAN ports need to be 2.5Gbps or faster.</p><p>If you're considering an <a href="https://www.tomsguide.com/best-picks/best-nbn-500-plans">NBN 500 plan</a>, I'd recommend a router with Wi-Fi 6 connectivity and enough range that you don't need to be right next to it to consistently achieve top speeds. For NBN 750 and NBN 1000 plans, there's a nice sweet spot where you could easily get by on a good Wi-Fi 6 router, but you could also consider Wi-Fi 6E or a Wi-Fi 7 model with a 6GHz band if your devices support it. In a larger home, coverage and router placement — or a mesh system — may matter more than the rated speed.</p><p>The highest residential NBN wholesale speed tier available is 2,000Mbps, which is still mighty fast — and well beyond what Wi-Fi 5 can normally deliver day to day. If you have an eligible FTTP or HFC connection and want a 2Gbps plan to achieve its full potential, you'll need a router rated to handle 2Gbps internet service with at least a 2.5GbE WAN port. Wi-Fi 7 is the better option if you're buying new and want multi-gigabit wireless speeds, but a suitable Wi-Fi 6E router can work too. For the most reliable way to exceed 1Gbps on one device, you'll also want a 2.5GbE LAN port and a compatible wired device.</p><p>Here's a quick bullet-point summary of the above recommendations:</p><ul><li><strong>NBN 500: </strong>Wi-Fi 6 or higher, with at least a 1GbE WAN port</li><li><strong>NBN 750: </strong>Wi-Fi 6 or higher, with at least a 1GbE WAN port</li><li><strong>NBN 1000: </strong>Wi-Fi 6 or higher, with at least a 1GbE WAN port; 2.5GbE is useful for future-proofing</li><li><strong>NBN 2000: </strong>Wi-Fi 7 recommended (a suitable Wi-Fi 6E router can work), plus support for 2Gbps internet service and at least a 2.5GbE WAN port</li></ul><h3 class="article-body__section" id="section-best-new-router-deals"><span>Best new router deals</span></h3><p>If you're ready to shop for a new router, I've gathered some top-rated options below. From Wi-Fi 6 to Wi-Fi 7, I've spotted some stellar deals on new routers and mesh systems on Amazon, from brands like TP-Link, Netgear and eero. </p><p>As a router reviewer, I've been using the <a href="https://www.amazon.com.au/Introducing-Amazon-eero-dual-band-router/dp/B0DB6GQFRV/">Amazon eero 7 router</a> and the weatherproof <a href="https://www.amazon.com.au/eero-dual-band-weatherproof-coverage-outdoors/dp/B0FW9DCK63">eero Outdoor 7</a> mesh extender for a few months now, and they were super easy to set up using the companion app. I've used a trusty <a href="https://www.amazon.com.au/dp/B0C4SN9V5K/ref=sspa_dk_detail_1">TP-Link Archer</a> router at home for a while too, and it was just as easy to plug and play. If you're keen to see what the best <a href="https://www.tomsguide.com/best-picks/best-wi-fi-6-routers">Wi-Fi 6</a> or <a href="https://www.tomsguide.com/best-picks/best-Wi-fi-7-routers">Wi-Fi 7</a> routers we've tested at Tom's Guide are, you can check out our respective guides. </p><p>Just remember that Wi-Fi generation alone doesn't tell the whole story: the Wi-Fi 7 TP-Link Archer BE220 only has Gigabit Ethernet ports, so it isn’t good for NBN 2000, while the Netgear Nighthawk RS100 has a 2.5GbE WAN port but Gigabit LAN ports, so it is less suited for wired setups. The Wi-Fi 6 Archer AX12 is also limited to Gigabit Ethernet so it can connect to an NBN 2000 service but can't fully use it. The eero 7 has two 2.5GbE ports and is the best match for NBN 2000, although Amazon rates its wireless speeds at up to 1.8Gbps, so no single Wi-Fi device will get the full 2Gbps.</p>        <div class="featured_product_block featured_block_hero" data-id="1a4f4d34-afd6-11f1-a4c7-c9f946e64804">            <a href="https://www.amazon.com.au/NETGEAR-Nighthawk-Dual-Band-Router-RS100/dp/B0DWQK25DW" data-model-name="Nighthawk Dual-Band Wifi 7 Router (RS100)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/aSwcKwQT7FS5NvQheV48C7.jpg" alt="Netgear Nighthawk Dual-Band Wifi 7 Router (rs100) – Security Features, Be3600 Wireless Speed (up to 3.6 Gbps) - Covers Up to 185 Sq. M., 50 Devices – 2.5 Gig Internet Port"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>NETGEAR</div>                                        <div class="featured__title">Nighthawk Dual-Band Wifi 7 Router (RS100)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1a4f4da2-afd6-11f1-a6d6-f5cc52f53e10">            <a href="https://www.amazon.com.au/dp/B0C4SN9V5K/ref=sspa_dk_detail_1" data-model-name="Archer AX12 AX1500 Dual Band Wi-Fi 6 Router" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/KRuBEczyneEDCq8bczMTC8.jpg" alt="Tp-Link Archer Ax12 Ax1500 Dual Band Wi-Fi 6 Router, 1.5 Gbps, Wpa3, Vpn"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>TP-Link</div>                                        <div class="featured__title">Archer AX12 AX1500 Dual Band Wi-Fi 6 Router</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1a4f4e10-afd6-11f1-ae55-dd6de439ba63">            <a href="https://www.amazon.com.au/dp/B0F1BXSRJC" data-model-name="Archer Be220 BE3600 Dual Band Wi-Fi 7 Router" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/s7rYVkyT5EaYSXan7rTSM7.jpg" alt="Tp-Link Archer Be220 Be3600 Dual Band Wi-Fi 7 Router, Mlo, 3.6gbps, Vpn"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>TP-Link</div>                                        <div class="featured__title">Archer Be220 BE3600 Dual Band Wi-Fi 7 Router</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1a4f4e7e-afd6-11f1-ba3d-0db276e62bbe">            <a href="https://www.amazon.com.au/Introducing-Amazon-eero-dual-band-router/dp/B0DB6GQFRV/" data-model-name="Eero 7 Dual-Band Mesh Wi-Fi 7 Router" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/s86ePFoc5iVDqKW3nJ9vH7.jpg" alt="Amazon Eero 7 Dual-Band Mesh Wi-Fi 7 Router | Extender – Supports Internet Plans Up to 2.5 Gbps, Coverage Up to 190 M², 1-Pack"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Amazon</div>                                        <div class="featured__title">Eero 7 Dual-Band Mesh Wi-Fi 7 Router</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1a4f4ef6-afd6-11f1-9bee-a13f6324e65a">            <a href="https://www.amazon.com.au/eero-dual-band-weatherproof-coverage-outdoors/dp/B0FW9DCK63" data-model-name="Eero Outdoor 7 Dual-Band Mesh Wi-Fi Router" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/e63FKZkKmxQ7MYSbDoLBF7.jpg" alt="Amazon Eero Outdoor 7 Dual-Band Mesh Wi-Fi Router (newest Gen), Weatherproof Rating of Ip66, Coverage Up to 1,390 M² Outdoors, Single Pack, Includes 30 W Poe+ Adaptor"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Amazon</div>                                        <div class="featured__title">Eero Outdoor 7 Dual-Band Mesh Wi-Fi Router</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1a4f4f64-afd6-11f1-bbcd-51b83d8f590a">            <a href="https://www.amazon.com.au/eero-Ethernet-Coverage-Connect-streaming/dp/B091G4D95D" data-model-name="Eero Pro 6E Mesh Wi-Fi Router" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/5Fv9ixvMgcN2xAErnBNq87.jpg" alt="Amazon Eero Pro 6e Mesh Wi-Fi Router | Extender | 2.5 Gbps Ethernet | Coverage Up to 190 M² | Connect 100+ Devices | Ideal for Streaming, Working and Gaming | 1-Pack"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Amazon</div>                                        <div class="featured__title">Eero Pro 6E Mesh Wi-Fi Router</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/routers/its-official-a-new-independent-nbn-speed-report-confirms-that-your-old-wi-fi-router-really-does-suck-especially-if-youre-on-a-500mbps-or-faster-plan</link>
                                                                            <description>
                            <![CDATA[ Opensignal's latest report reveals that your old router might be causing issues with your new high-speed internet plan. Here's why. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">BsGyUS59Dw2ETJJLrrDug6</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/RtuRLSRuPSAfCobZcpTaKh-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 14 Sep 2026 00:53:07 +0000</pubDate>                                                                                                                                <updated>Mon, 14 Sep 2026 00:53:28 +0000</updated>
                                                                                                                                            <category><![CDATA[Routers]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Hardware]]></category>
                                                                                                <author><![CDATA[ lucy.scotting@futurenet.com (Lucy Scotting) ]]></author>                    <dc:creator><![CDATA[ Lucy Scotting ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PQTnAGVHEDNmwJEbWkaqHV-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Lucy Scotting is a staff writer for Tom’s Guide Australia, primarily covering lifestyle, streaming and internet-related news. Lucy started her career writing for HR and staffing industry publications, covering emerging tech, business and finance.&lt;/p&gt;&lt;p&gt;In her spare time, Lucy can be found watching sci-fi movies, working on her dystopian fiction novel (in progress since 2017) or hanging out with her dog, Fletcher. If she’s not found doing any of the above, she’s likely on her next adventure to a new city, country, or continent. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/RtuRLSRuPSAfCobZcpTaKh-1920-80.jpg">
                                                            <media:credit><![CDATA[Future / Lucy Scotting]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Eero 7 outdoor with floral arrangement]]></media:description>                                                            <media:text><![CDATA[Eero 7 outdoor with floral arrangement]]></media:text>
                                <media:title type="plain"><![CDATA[Eero 7 outdoor with floral arrangement]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/RtuRLSRuPSAfCobZcpTaKh-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Aussie internet speeds are undoubtedly getting faster, but there’s a strong possibility your home isn’t best prepared to take full advantage of them. There’s a simple fix… and it might be an upgrade you've been putting off. </p><p>As per <a href="https://insights.opensignal.com/reports/2026/08/australia/fixed-broadband-experience" target="_blank">Opensignal's latest report</a>, NBN Co's Accelerate Great initiative vastly improved Australia's internet speeds, thanks to free wholesale speed boosts and the arrival of a new 2Gbps speed tier. For all their positives, however, the report found that many Australians aren’t receiving the full benefit of the vastly improved speeds due to their router, with many homes and businesses neglecting their Wi-Fi radio-wave-emitting tech. </p><p>Specifically, the data reveals that 64% of readings across the six major retail service providers (RSPs) came from older Wi-Fi generation routers — i.e. Wi-Fi 3, 4, or 5 — which may not deliver the full speed of the new tiers over Wi-Fi. More than 70% of readings for both Telstra and Vocus came from Wi-Fi 5 routers or older, whereas 55% of relative newcomer Superloop's readings came from Wi-Fi 6 routers or newer.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:52.19%;"><img id="or4trTaFAuM8Rto36CuWhE" name="202608_AUS_WiFI_6 (1)" alt="Opensignal data" src="https://cdn.mos.cms.futurecdn.net/or4trTaFAuM8Rto36CuWhE-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1336" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Opensignal)</span></figcaption></figure><p>When it comes to top-end download speeds, the proof is in the pudding. Across all RSPs, customers on Wi-Fi 6 routers or newer sit around 500Mbps at the 90th percentile of download speeds. Comparatively, those with Wi-Fi 5 routers or lower reach between 129Mbps and 287.7Mbps — which is substantially slower. </p><p>If your Wi-Fi router is considerably older than your current plan — i.e. you've upgraded your FTTP or HFC connection to a much faster plan without replacing it — and your Wi-Fi is still slow, it may be time to upgrade to a new router. Wi-Fi dropouts can also be caused by poor placement, interference, firmware, your device or an NBN/RSP fault, so it’s worth checking out <a href="https://www.nbnco.com.au/learn/optimisation/what-to-look-for-in-a-wifi-router">NBN Co’s Wi-Fi router guide</a> if you’re unsure. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:52.19%;"><img id="PLWPQ4XmfNZBDMhjxoDEjE" name="202608_AUS_WiFI_7 (1)" alt="Opensignal data" src="https://cdn.mos.cms.futurecdn.net/PLWPQ4XmfNZBDMhjxoDEjE-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1336" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Opensignal)</span></figcaption></figure><p>Newer Wi-Fi generations don't just mean new devices. Each generation brings about improvements in speed, latency, capacity or efficiency — or a combination of all four — although a newer generation doesn't automatically mean better range. Deciding what Wi-Fi generation you need depends on a few factors, but it largely relies on your preferred speed tier and your bandwidth requirements, depending on how many internet-connected devices are in your home.</p><p>Currently, Wi-Fi 6 routers or higher are a good starting point for NBN 500 plans or faster. But the Wi-Fi generation alone doesn't tell you which internet plan a router can handle: figures such as AX1800, AX3000 or BE11000 are maximum Wi-Fi speed ratings, not supported NBN plan speeds. The newest generation is Wi-Fi 7, which can deliver multi-gigabit wireless speeds with compatible devices, but if you are looking at <a href="https://www.tomsguide.com/best-picks/best-nbn-2000-plans">NBN 2000</a>, be aware that the router's WAN and LAN ports need to be 2.5Gbps or faster.</p><p>If you're considering an <a href="https://www.tomsguide.com/best-picks/best-nbn-500-plans">NBN 500 plan</a>, I'd recommend a router with Wi-Fi 6 connectivity and enough range that you don't need to be right next to it to consistently achieve top speeds. For NBN 750 and NBN 1000 plans, there's a nice sweet spot where you could easily get by on a good Wi-Fi 6 router, but you could also consider Wi-Fi 6E or a Wi-Fi 7 model with a 6GHz band if your devices support it. In a larger home, coverage and router placement — or a mesh system — may matter more than the rated speed.</p><p>The highest residential NBN wholesale speed tier available is 2,000Mbps, which is still mighty fast — and well beyond what Wi-Fi 5 can normally deliver day to day. If you have an eligible FTTP or HFC connection and want a 2Gbps plan to achieve its full potential, you'll need a router rated to handle 2Gbps internet service with at least a 2.5GbE WAN port. Wi-Fi 7 is the better option if you're buying new and want multi-gigabit wireless speeds, but a suitable Wi-Fi 6E router can work too. For the most reliable way to exceed 1Gbps on one device, you'll also want a 2.5GbE LAN port and a compatible wired device.</p><p>Here's a quick bullet-point summary of the above recommendations:</p><ul><li><strong>NBN 500: </strong>Wi-Fi 6 or higher, with at least a 1GbE WAN port</li><li><strong>NBN 750: </strong>Wi-Fi 6 or higher, with at least a 1GbE WAN port</li><li><strong>NBN 1000: </strong>Wi-Fi 6 or higher, with at least a 1GbE WAN port; 2.5GbE is useful for future-proofing</li><li><strong>NBN 2000: </strong>Wi-Fi 7 recommended (a suitable Wi-Fi 6E router can work), plus support for 2Gbps internet service and at least a 2.5GbE WAN port</li></ul><h3 class="article-body__section" id="section-best-new-router-deals"><span>Best new router deals</span></h3><p>If you're ready to shop for a new router, I've gathered some top-rated options below. From Wi-Fi 6 to Wi-Fi 7, I've spotted some stellar deals on new routers and mesh systems on Amazon, from brands like TP-Link, Netgear and eero. </p><p>As a router reviewer, I've been using the <a href="https://www.amazon.com.au/Introducing-Amazon-eero-dual-band-router/dp/B0DB6GQFRV/">Amazon eero 7 router</a> and the weatherproof <a href="https://www.amazon.com.au/eero-dual-band-weatherproof-coverage-outdoors/dp/B0FW9DCK63">eero Outdoor 7</a> mesh extender for a few months now, and they were super easy to set up using the companion app. I've used a trusty <a href="https://www.amazon.com.au/dp/B0C4SN9V5K/ref=sspa_dk_detail_1">TP-Link Archer</a> router at home for a while too, and it was just as easy to plug and play. If you're keen to see what the best <a href="https://www.tomsguide.com/best-picks/best-wi-fi-6-routers">Wi-Fi 6</a> or <a href="https://www.tomsguide.com/best-picks/best-Wi-fi-7-routers">Wi-Fi 7</a> routers we've tested at Tom's Guide are, you can check out our respective guides. </p><p>Just remember that Wi-Fi generation alone doesn't tell the whole story: the Wi-Fi 7 TP-Link Archer BE220 only has Gigabit Ethernet ports, so it isn’t good for NBN 2000, while the Netgear Nighthawk RS100 has a 2.5GbE WAN port but Gigabit LAN ports, so it is less suited for wired setups. The Wi-Fi 6 Archer AX12 is also limited to Gigabit Ethernet so it can connect to an NBN 2000 service but can't fully use it. The eero 7 has two 2.5GbE ports and is the best match for NBN 2000, although Amazon rates its wireless speeds at up to 1.8Gbps, so no single Wi-Fi device will get the full 2Gbps.</p>        <div class="featured_product_block featured_block_hero" data-id="1a4f4d34-afd6-11f1-a4c7-c9f946e64804">            <a href="https://www.amazon.com.au/NETGEAR-Nighthawk-Dual-Band-Router-RS100/dp/B0DWQK25DW" data-model-name="Nighthawk Dual-Band Wifi 7 Router (RS100)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/aSwcKwQT7FS5NvQheV48C7.jpg" alt="Netgear Nighthawk Dual-Band Wifi 7 Router (rs100) – Security Features, Be3600 Wireless Speed (up to 3.6 Gbps) - Covers Up to 185 Sq. M., 50 Devices – 2.5 Gig Internet Port"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>NETGEAR</div>                                        <div class="featured__title">Nighthawk Dual-Band Wifi 7 Router (RS100)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1a4f4da2-afd6-11f1-a6d6-f5cc52f53e10">            <a href="https://www.amazon.com.au/dp/B0C4SN9V5K/ref=sspa_dk_detail_1" data-model-name="Archer AX12 AX1500 Dual Band Wi-Fi 6 Router" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/KRuBEczyneEDCq8bczMTC8.jpg" alt="Tp-Link Archer Ax12 Ax1500 Dual Band Wi-Fi 6 Router, 1.5 Gbps, Wpa3, Vpn"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>TP-Link</div>                                        <div class="featured__title">Archer AX12 AX1500 Dual Band Wi-Fi 6 Router</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1a4f4e10-afd6-11f1-ae55-dd6de439ba63">            <a href="https://www.amazon.com.au/dp/B0F1BXSRJC" data-model-name="Archer Be220 BE3600 Dual Band Wi-Fi 7 Router" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/s7rYVkyT5EaYSXan7rTSM7.jpg" alt="Tp-Link Archer Be220 Be3600 Dual Band Wi-Fi 7 Router, Mlo, 3.6gbps, Vpn"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>TP-Link</div>                                        <div class="featured__title">Archer Be220 BE3600 Dual Band Wi-Fi 7 Router</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1a4f4e7e-afd6-11f1-ba3d-0db276e62bbe">            <a href="https://www.amazon.com.au/Introducing-Amazon-eero-dual-band-router/dp/B0DB6GQFRV/" data-model-name="Eero 7 Dual-Band Mesh Wi-Fi 7 Router" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/s86ePFoc5iVDqKW3nJ9vH7.jpg" alt="Amazon Eero 7 Dual-Band Mesh Wi-Fi 7 Router | Extender – Supports Internet Plans Up to 2.5 Gbps, Coverage Up to 190 M², 1-Pack"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Amazon</div>                                        <div class="featured__title">Eero 7 Dual-Band Mesh Wi-Fi 7 Router</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1a4f4ef6-afd6-11f1-9bee-a13f6324e65a">            <a href="https://www.amazon.com.au/eero-dual-band-weatherproof-coverage-outdoors/dp/B0FW9DCK63" data-model-name="Eero Outdoor 7 Dual-Band Mesh Wi-Fi Router" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/e63FKZkKmxQ7MYSbDoLBF7.jpg" alt="Amazon Eero Outdoor 7 Dual-Band Mesh Wi-Fi Router (newest Gen), Weatherproof Rating of Ip66, Coverage Up to 1,390 M² Outdoors, Single Pack, Includes 30 W Poe+ Adaptor"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Amazon</div>                                        <div class="featured__title">Eero Outdoor 7 Dual-Band Mesh Wi-Fi Router</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1a4f4f64-afd6-11f1-bbcd-51b83d8f590a">            <a href="https://www.amazon.com.au/eero-Ethernet-Coverage-Connect-streaming/dp/B091G4D95D" data-model-name="Eero Pro 6E Mesh Wi-Fi Router" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/5Fv9ixvMgcN2xAErnBNq87.jpg" alt="Amazon Eero Pro 6e Mesh Wi-Fi Router | Extender | 2.5 Gbps Ethernet | Coverage Up to 190 M² | Connect 100+ Devices | Ideal for Streaming, Working and Gaming | 1-Pack"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Amazon</div>                                        <div class="featured__title">Eero Pro 6E Mesh Wi-Fi Router</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ AI is turning ordinary photos of kids into sexual abuse imagery — here's how to protect your family ]]></title>
                                                                                                <dc:content><![CDATA[ <p>A picture of my children at the beach, my son playing soccer or even my entire family, smiling in front of our house are all examples of photos I've posted to social media. I know I'm not alone, considering just how often I've seen similar images highlighting the goings-on of modern lives. <br><br>But AI has created a disturbing new risk that allows the use of ordinary photos of real children like the ones I mentioned above, to be manipulated into sexual abuse imagery without the child — or their parents — ever knowing.<br><br>To be clear, this is not a theoretical threat.</p><h2 id="332-ai-generated-child-sexual-abuse-ads-slipped-through">332 AI-generated child sexual abuse ads slipped through</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:7110px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="bZGXCBzoz5wEX4K8t872MR" name="shutterstock_2652715669" alt="This illustrates digital connectivity with a mobile device, highlighting the Meta platform, signifying modern communication, virtual reality, and engagement in the metaverse." src="https://cdn.mos.cms.futurecdn.net/bZGXCBzoz5wEX4K8t872MR-1920-80.jpg" mos="" align="middle" fullscreen="" width="7110" height="4000" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>A new investigation from the Tech Transparency Project (TTP) found hundreds of ads containing AI-generated child sexual abuse material (CSAM) running across Facebook and Instagram. Researchers identified four real children whose ordinary photos had been manipulated, according to <a href="https://www.wired.com/story/meta-failed-to-catch-hundreds-of-ai-child-abuse-ads-some-included-images-of-real-kids/" target="_blank">WIRED</a>, including two teenage influencers, a preteen whose image appeared on a stock-photo site and a young member of a European royal family.</p><p>In total, TTP found 332 ads containing AI-generated child sexual abuse material, or CSAM. Most depicted a child whose photograph had been manipulated using AI to make it appear they were performing a sexual act.</p><p>The findings are an alarming reminder of <a href="https://www.tomsguide.com/ai/ai-image-video/all-she-did-was-change-the-face-i-spoke-to-a-creator-whose-video-was-stolen-and-reskinned-with-ai">how generative AI has changed the risks around sharing photos of children online</a>. Creating convincing fake imagery no longer requires an explicit photograph in the first place. An ordinary picture can provide the raw material.</p><h2 id="how-ordinary-photos-become-ai-generated-abuse">How ordinary photos become AI-generated abuse</h2><p><a href="https://www.tomsguide.com/phones/i-tested-the-ai-photo-editing-tools-for-iphone-vs-google-pixel-vs-samsung-galaxy-and-theres-a-clear-winner">Generative AI image tools can take an existing photograph and modify parts of it</a> while preserving recognizable features of the person in the original.</p><p>That's what researchers say happened to several of the children identified in the <a href="https://www.tomsguide.com/ai/meta-will-start-using-your-ai-chats-to-target-ads-heres-what-that-means-and-why-critics-like-joseph-gordon-levitt-are-pushing-back">Meta ads</a>.</p><p>According to WIRED, researchers were able to trace images of four minors back to their original sources. Two were teenage influencers with public social media accounts. Another was a preteen whose photograph was available through a stock-photo website. The fourth was a young member of a European royal family.</p><p>None of those original photographs needed to contain sexual material for them to be misused.</p><p>"AI apps are making it far too easy to create realistic criminal imagery of child sexual abuse, creating the new risk of everyday photos of children being taken and transformed into sexual content," Emma Hardy, director of communications at the Internet Watch Foundation, told WIRED.</p><p>Once an ordinary image is publicly accessible, someone can potentially download it and feed it into an AI tool designed to alter photographs.</p><h2 id="meta-39-s-ai-didn-39-t-catch-hundreds-of-the-ads">Meta's AI didn't catch hundreds of the ads</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:9375px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="d6qmGSnFFXo6yGiczVTtSb" name="shutterstock_2663776741-2" alt="mark zuckerberg" src="https://cdn.mos.cms.futurecdn.net/d6qmGSnFFXo6yGiczVTtSb-1920-80.jpg" mos="" align="middle" fullscreen="" width="9375" height="5273" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>The scale of the latest investigation also shows how difficult the resulting content can be to stop. </p><p>In August, TTP researchers initially uncovered 53 ads containing child sexual abuse material across Meta's platforms. Meta subsequently said many of those ads had appeared before the company introduced new AI technology intended to improve its ability to detect violating ads when they were uploaded.</p><p>However, researchers kept finding them. In fact, TTP says it ultimately identified 332 ads containing AI-generated CSAM, with hundreds appearing after Meta had announced its improved detection technology.</p><p>That is particularly significant because these weren't simply Facebook or Instagram posts that escaped moderation. They were paid advertisements.</p><p>Meta says ads are reviewed before they're allowed to run and that automated systems play a major role in that process.</p><p>Meta spokesperson Tracy Clayton told WIRED that the company does not tolerate nudify apps or child exploitation, whether the imagery involves real children or is generated by AI. Meta said bad actors deliberately attempt to evade its detection systems and that some of the videos were harder to detect because images of children appeared only briefly or were blurred.</p><p>The company said many of the ads researchers identified had already been removed, most received fewer than 200 impressions and it received less than $5,000 in payments from the ads. But researchers documented instances in which exposure increased after an ad was reported.</p><p>TTP says one ad involving a real teenager had reached four European accounts when it was reported to Meta. Several days later, when Meta removed it, the ad had reached more than 330.</p><h2 id="the-investigation-shows-the-tools-are-mainstream">The investigation shows the tools are mainstream</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nr2x3V7xnj4xZB2RREsezb" name="year in AI 2023.jpg" alt="An AI generated image of Elon Musk on a unicorn, the ChatGPT logo on a phone and a screen shot from a video of a robot from Runway" src="https://cdn.mos.cms.futurecdn.net/nr2x3V7xnj4xZB2RREsezb-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Midjourney, Shutterstock, Runway )</span></figcaption></figure><p>Researchers found ads directing people toward nearly 50 apps available through Apple's App Store and Google's Play Store. Around 300 of the roughly 350 ads examined in the broader investigation promoted AI image or video generators, according to WIRED.</p><p>Apple told WIRED that some developers initially submitted compliant versions of their apps before subsequently adding prohibited nudification capabilities. Apple said it removed 17 of 20 apps identified by researchers and took action against the remaining three, as well as seven additional apps WIRED identified.</p><p>Google said it removed all apps included in the report and suspended hundreds of other apps for violating its policies. </p><p>Still, these finding reveal a problem that extends beyond any single platform because AI can be used to create the imagery. An app store can distribute the tool used to make it. An advertising platform can then distribute ads promoting it.</p><p>Each layer may have its own safety systems, but abusive material only needs to slip through those systems once to reach users.</p><h2 id="what-to-do-if-you-find-an-ai-generated-image-of-your-child">What to do if you find an AI-generated image of your child</h2><p>If you discover sexualized AI imagery involving your child, don't repost or widely share the image in an attempt to warn others.</p><p>Instead, preserve information that can help identify where the material appeared, such as the account name, page address and other surrounding details, and report the content directly to the platform.</p><p>In the U.S., suspected child sexual exploitation can also be reported to the <a href="https://www.missingkids.org/gethelpnow/cybertipline" target="_blank">National Center for Missing & Exploited Children's CyberTipline.</a></p><p>Parents can also use <a href="https://takeitdown.ncmec.org/" target="_blank">NCMEC's Take It Down service</a>, which is designed to help stop the online sharing of nude, partially nude or sexually explicit images or videos involving someone who was under 18. The system creates a digital fingerprint, or hash, from an image without requiring the image itself to be uploaded.</p><p>Since AI-generated imagery creates newer and more complicated scenarios, parents who aren't sure whether a manipulated image qualifies should still report what they've found rather than trying to determine that themselves.</p><h2 id="the-takeaway-2">The takeaway</h2><p>Parents have been warned about "sharenting" and children's digital footprints for years. Sharenting is a term that combines "sharing" and "parenting" and is the practice of parents sharing images, videos and personal details about their children on social media. </p><p>Although parents can't entirely eliminate the risk of AI abuse on the images or videos they post, but reducing the number of publicly accessible photos of your children and being more selective about what you share, can reduce the amount of material available to people who might misuse it.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/chatgpt/chatgpt-6-astra-is-here-this-one-prompt-shows-what-it-can-really-do"><strong>ChatGPT-6 Astra is here — this one prompt shows what it can really do</strong></a></li><li><a href="https://www.tomsguide.com/ai/i-asked-chatgpt-gemini-claude-and-perplexity-to-rank-the-10-jobs-most-likely-to-be-replaced-by-ai-heres-what-they-all-agreed-on"><strong>I asked ChatGPT, Gemini, Claude and Perplexity to rank the 10 jobs most likely to be replaced by AI — here's what they all agreed on</strong></a></li><li><a href="https://www.tomsguide.com/ai/claude/claude-fable-5-1-is-here-this-one-prompt-shows-what-it-can-really-do"><strong>Claude Fable 5.1 is here — this one prompt shows what it can really do</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/ai-is-turning-ordinary-photos-of-kids-into-sexual-abuse-imagery-heres-how-to-protect-your-family</link>
                                                                            <description>
                            <![CDATA[ AI tools can turn ordinary photos of children into sexual abuse imagery. Here's how parents can reduce the risk and what to do if it happens. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">SMyC9P7sQtUNikxoA6MWin</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/mxDfB2VNSY5Z4wWT6gPDxm-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 08 Sep 2026 17:16:27 +0000</pubDate>                                                                                                                                <updated>Tue, 08 Sep 2026 19:00:32 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/mxDfB2VNSY5Z4wWT6gPDxm-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images/Pavol Svantner]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Silohuette of children]]></media:description>                                                            <media:text><![CDATA[Silohuette of children]]></media:text>
                                <media:title type="plain"><![CDATA[Silohuette of children]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/mxDfB2VNSY5Z4wWT6gPDxm-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>A picture of my children at the beach, my son playing soccer or even my entire family, smiling in front of our house are all examples of photos I've posted to social media. I know I'm not alone, considering just how often I've seen similar images highlighting the goings-on of modern lives. <br><br>But AI has created a disturbing new risk that allows the use of ordinary photos of real children like the ones I mentioned above, to be manipulated into sexual abuse imagery without the child — or their parents — ever knowing.<br><br>To be clear, this is not a theoretical threat.</p><h2 id="332-ai-generated-child-sexual-abuse-ads-slipped-through">332 AI-generated child sexual abuse ads slipped through</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:7110px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="bZGXCBzoz5wEX4K8t872MR" name="shutterstock_2652715669" alt="This illustrates digital connectivity with a mobile device, highlighting the Meta platform, signifying modern communication, virtual reality, and engagement in the metaverse." src="https://cdn.mos.cms.futurecdn.net/bZGXCBzoz5wEX4K8t872MR-1920-80.jpg" mos="" align="middle" fullscreen="" width="7110" height="4000" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>A new investigation from the Tech Transparency Project (TTP) found hundreds of ads containing AI-generated child sexual abuse material (CSAM) running across Facebook and Instagram. Researchers identified four real children whose ordinary photos had been manipulated, according to <a href="https://www.wired.com/story/meta-failed-to-catch-hundreds-of-ai-child-abuse-ads-some-included-images-of-real-kids/" target="_blank">WIRED</a>, including two teenage influencers, a preteen whose image appeared on a stock-photo site and a young member of a European royal family.</p><p>In total, TTP found 332 ads containing AI-generated child sexual abuse material, or CSAM. Most depicted a child whose photograph had been manipulated using AI to make it appear they were performing a sexual act.</p><p>The findings are an alarming reminder of <a href="https://www.tomsguide.com/ai/ai-image-video/all-she-did-was-change-the-face-i-spoke-to-a-creator-whose-video-was-stolen-and-reskinned-with-ai">how generative AI has changed the risks around sharing photos of children online</a>. Creating convincing fake imagery no longer requires an explicit photograph in the first place. An ordinary picture can provide the raw material.</p><h2 id="how-ordinary-photos-become-ai-generated-abuse">How ordinary photos become AI-generated abuse</h2><p><a href="https://www.tomsguide.com/phones/i-tested-the-ai-photo-editing-tools-for-iphone-vs-google-pixel-vs-samsung-galaxy-and-theres-a-clear-winner">Generative AI image tools can take an existing photograph and modify parts of it</a> while preserving recognizable features of the person in the original.</p><p>That's what researchers say happened to several of the children identified in the <a href="https://www.tomsguide.com/ai/meta-will-start-using-your-ai-chats-to-target-ads-heres-what-that-means-and-why-critics-like-joseph-gordon-levitt-are-pushing-back">Meta ads</a>.</p><p>According to WIRED, researchers were able to trace images of four minors back to their original sources. Two were teenage influencers with public social media accounts. Another was a preteen whose photograph was available through a stock-photo website. The fourth was a young member of a European royal family.</p><p>None of those original photographs needed to contain sexual material for them to be misused.</p><p>"AI apps are making it far too easy to create realistic criminal imagery of child sexual abuse, creating the new risk of everyday photos of children being taken and transformed into sexual content," Emma Hardy, director of communications at the Internet Watch Foundation, told WIRED.</p><p>Once an ordinary image is publicly accessible, someone can potentially download it and feed it into an AI tool designed to alter photographs.</p><h2 id="meta-39-s-ai-didn-39-t-catch-hundreds-of-the-ads">Meta's AI didn't catch hundreds of the ads</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:9375px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="d6qmGSnFFXo6yGiczVTtSb" name="shutterstock_2663776741-2" alt="mark zuckerberg" src="https://cdn.mos.cms.futurecdn.net/d6qmGSnFFXo6yGiczVTtSb-1920-80.jpg" mos="" align="middle" fullscreen="" width="9375" height="5273" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>The scale of the latest investigation also shows how difficult the resulting content can be to stop. </p><p>In August, TTP researchers initially uncovered 53 ads containing child sexual abuse material across Meta's platforms. Meta subsequently said many of those ads had appeared before the company introduced new AI technology intended to improve its ability to detect violating ads when they were uploaded.</p><p>However, researchers kept finding them. In fact, TTP says it ultimately identified 332 ads containing AI-generated CSAM, with hundreds appearing after Meta had announced its improved detection technology.</p><p>That is particularly significant because these weren't simply Facebook or Instagram posts that escaped moderation. They were paid advertisements.</p><p>Meta says ads are reviewed before they're allowed to run and that automated systems play a major role in that process.</p><p>Meta spokesperson Tracy Clayton told WIRED that the company does not tolerate nudify apps or child exploitation, whether the imagery involves real children or is generated by AI. Meta said bad actors deliberately attempt to evade its detection systems and that some of the videos were harder to detect because images of children appeared only briefly or were blurred.</p><p>The company said many of the ads researchers identified had already been removed, most received fewer than 200 impressions and it received less than $5,000 in payments from the ads. But researchers documented instances in which exposure increased after an ad was reported.</p><p>TTP says one ad involving a real teenager had reached four European accounts when it was reported to Meta. Several days later, when Meta removed it, the ad had reached more than 330.</p><h2 id="the-investigation-shows-the-tools-are-mainstream">The investigation shows the tools are mainstream</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nr2x3V7xnj4xZB2RREsezb" name="year in AI 2023.jpg" alt="An AI generated image of Elon Musk on a unicorn, the ChatGPT logo on a phone and a screen shot from a video of a robot from Runway" src="https://cdn.mos.cms.futurecdn.net/nr2x3V7xnj4xZB2RREsezb-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Midjourney, Shutterstock, Runway )</span></figcaption></figure><p>Researchers found ads directing people toward nearly 50 apps available through Apple's App Store and Google's Play Store. Around 300 of the roughly 350 ads examined in the broader investigation promoted AI image or video generators, according to WIRED.</p><p>Apple told WIRED that some developers initially submitted compliant versions of their apps before subsequently adding prohibited nudification capabilities. Apple said it removed 17 of 20 apps identified by researchers and took action against the remaining three, as well as seven additional apps WIRED identified.</p><p>Google said it removed all apps included in the report and suspended hundreds of other apps for violating its policies. </p><p>Still, these finding reveal a problem that extends beyond any single platform because AI can be used to create the imagery. An app store can distribute the tool used to make it. An advertising platform can then distribute ads promoting it.</p><p>Each layer may have its own safety systems, but abusive material only needs to slip through those systems once to reach users.</p><h2 id="what-to-do-if-you-find-an-ai-generated-image-of-your-child">What to do if you find an AI-generated image of your child</h2><p>If you discover sexualized AI imagery involving your child, don't repost or widely share the image in an attempt to warn others.</p><p>Instead, preserve information that can help identify where the material appeared, such as the account name, page address and other surrounding details, and report the content directly to the platform.</p><p>In the U.S., suspected child sexual exploitation can also be reported to the <a href="https://www.missingkids.org/gethelpnow/cybertipline" target="_blank">National Center for Missing & Exploited Children's CyberTipline.</a></p><p>Parents can also use <a href="https://takeitdown.ncmec.org/" target="_blank">NCMEC's Take It Down service</a>, which is designed to help stop the online sharing of nude, partially nude or sexually explicit images or videos involving someone who was under 18. The system creates a digital fingerprint, or hash, from an image without requiring the image itself to be uploaded.</p><p>Since AI-generated imagery creates newer and more complicated scenarios, parents who aren't sure whether a manipulated image qualifies should still report what they've found rather than trying to determine that themselves.</p><h2 id="the-takeaway-2">The takeaway</h2><p>Parents have been warned about "sharenting" and children's digital footprints for years. Sharenting is a term that combines "sharing" and "parenting" and is the practice of parents sharing images, videos and personal details about their children on social media. </p><p>Although parents can't entirely eliminate the risk of AI abuse on the images or videos they post, but reducing the number of publicly accessible photos of your children and being more selective about what you share, can reduce the amount of material available to people who might misuse it.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/chatgpt/chatgpt-6-astra-is-here-this-one-prompt-shows-what-it-can-really-do"><strong>ChatGPT-6 Astra is here — this one prompt shows what it can really do</strong></a></li><li><a href="https://www.tomsguide.com/ai/i-asked-chatgpt-gemini-claude-and-perplexity-to-rank-the-10-jobs-most-likely-to-be-replaced-by-ai-heres-what-they-all-agreed-on"><strong>I asked ChatGPT, Gemini, Claude and Perplexity to rank the 10 jobs most likely to be replaced by AI — here's what they all agreed on</strong></a></li><li><a href="https://www.tomsguide.com/ai/claude/claude-fable-5-1-is-here-this-one-prompt-shows-what-it-can-really-do"><strong>Claude Fable 5.1 is here — this one prompt shows what it can really do</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ NordVPN's Next-Gen Antivirus scores 94% in independent phishing and malware testing ]]></title>
                                                                                                <dc:content><![CDATA[ <p><a href="https://www.tomsguide.com/reviews/nordvpn-review">NordVPN</a>'s <a href="https://www.tomsguide.com/computing/vpns/nordvpn-combines-vpn-and-next-generation-antivirus-into-one-app">next-gen antivirus</a> has achieved a 94% phishing detection rate in AV-Comparatives' latest anti-phishing test, ranking third among security products in the independent evaluation. The result our choice as the <a href="https://www.tomsguide.com/best-picks/best-vpn">best VPN</a> behind only Avast One Free Antivirus and Norton Antivirus Plus, both of which scored 96%.</p><p>The <a href="https://www.av-comparatives.org/wp-content/uploads/2026/08/phishing_comp_Q3-2026.pdf" target="_blank" rel="nofollow">test</a>, which ran from August 12–22, 2026, assessed phishing-page detection rates across 250 live phishing URLs, with an additional 250 legitimate URLs used to check for false positives. NordVPN recorded zero false alarms – a result that puts it ahead of Malwarebytes Premium and Webroot SecureAnywhere Internet Security Plus, both of which triggered false positives during the evaluation.</p><p>The findings come as NordVPN continues to reposition itself as an all-in-one digital security app. The company's <a href="https://www.tomsguide.com/computing/vpns/nordvpn-combines-vpn-and-next-generation-antivirus-into-one-app">recent rebrand</a> saw Threat Protection Pro renamed as "next-generation antivirus," placing it alongside its VPN and Dark Web Monitor as one of three core pillars of the product.</p><h2 id="how-does-nordvpn-compare">How does NordVPN compare?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UtDZFoTmPNBWUcdJsQqvG" name="NordVPN 2026 phishing test results" alt="Graph displaying the test's results" src="https://cdn.mos.cms.futurecdn.net/UtDZFoTmPNBWUcdJsQqvG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Finishing third among nine security products is a strong result, but the detail behind NordVPN's score is arguably just as telling as the number itself. Avast One Free Antivirus and Norton Antivirus Plus both edged it out with 96% detection rates, but the gap is narrow – a two-percentage-point difference across 250 live phishing URLs amounts to five URLs.</p><p>The rest of the field tells its own story. At the other end of the table, Dr. Web Security Space managed just 57% and K7 Total Security 70% – results that illustrate how inconsistent phishing protection remains across the security products market, even among established names. </p><p>NordVPN's advantage over the field is clearest on false positives. It was one of seven security products to record zero false alarms – and false positives erode confidence in a security tool just as surely as missed threats do.</p><p>"Phishing is a numbers game for attackers, and they're very good at it," said Domininkas Virbickas, product director at NordVPN. "Anybody might slip up eventually, and when you do click on something you shouldn't, that's where we step in."</p><h2 id="a-strong-track-record-in-independent-testing">A strong track record in independent testing</h2><p>This is not the first time NordVPN's threat protection feature has performed well under independent scrutiny. In November 2024, AV-TEST – a German independent IT security research institute – <a href="https://www.tomsguide.com/computing/online-security/nords-threat-protection-pro-rated-the-best-vpn-malware-protection">previously rated</a> Threat Protection Pro the best VPN tool for malware protection, achieving an 83.42% total detection rate across 3,209 tested links. That result placed it well ahead of the next-best VPN tested, IPVanish, which scored 46.96%.</p><p>NordVPN also has history with AV-Comparatives specifically. In June 2024, it became the first VPN provider to earn the organisation's <a href="https://www.tomsguide.com/computing/vpns/nordvpn-certified-as-the-only-anti-phishing-vpn-for-the-second-year-running">anti-phishing protection badge</a> – a significant distinction given that AV-Comparatives is best known for evaluating dedicated antivirus software, not VPNs. Earning the badge requires a minimum 85% detection rate with zero false alarms on legitimate sites, a bar not all established antivirus products have cleared. The August 2026 result, at 94%, clears it by some distance.</p><p>NordVPN's next-gen antivirus is available on Plus plans and above – the feature was previously known as Threat Protection Pro, and is included across Plus, Complete, and Prime tiers. </p><div data-widget-type="merchantlink" data-model-name="NordVPN"></div><p>We test and review VPN services in the context of legal recreational uses. For example:<strong>1.</strong> Accessing a service from another country (subject to the terms and conditions of that service).<strong>2.</strong> Protecting your online security and strengthening your online privacy when abroad.We do not support or condone the illegal or malicious use of VPN services. Consuming pirated content that is paid-for is neither endorsed nor approved by Future Publishing.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/vpns/nordvpns-next-gen-antivirus-scores-94-percent-in-independent-phishing-and-malware-testing</link>
                                                                            <description>
                            <![CDATA[ NordVPN's next-gen antivirus scored 94% in AV-Comparatives' August 2026 anti-phishing test, finishing third among security products behind Avast and Norton, with no false positives. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">rxV2uExpVnrLzHBWK6JMDe</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/BK6jKgGh8BGjbBSEnE5VDL-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Fri, 04 Sep 2026 10:56:09 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[VPNs]]></category>
                                                    <category><![CDATA[Streaming]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Entertainment]]></category>
                                                                                                                    <dc:creator><![CDATA[ Aleksandar Stevanović ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/BK6jKgGh8BGjbBSEnE5VDL-1920-80.png">
                                                            <media:credit><![CDATA[NordVPN]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[NordVPN in action protecting a phone and laptop simultaneously]]></media:description>                                                            <media:text><![CDATA[NordVPN in action protecting a phone and laptop simultaneously]]></media:text>
                                <media:title type="plain"><![CDATA[NordVPN in action protecting a phone and laptop simultaneously]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/BK6jKgGh8BGjbBSEnE5VDL-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.tomsguide.com/reviews/nordvpn-review">NordVPN</a>'s <a href="https://www.tomsguide.com/computing/vpns/nordvpn-combines-vpn-and-next-generation-antivirus-into-one-app">next-gen antivirus</a> has achieved a 94% phishing detection rate in AV-Comparatives' latest anti-phishing test, ranking third among security products in the independent evaluation. The result our choice as the <a href="https://www.tomsguide.com/best-picks/best-vpn">best VPN</a> behind only Avast One Free Antivirus and Norton Antivirus Plus, both of which scored 96%.</p><p>The <a href="https://www.av-comparatives.org/wp-content/uploads/2026/08/phishing_comp_Q3-2026.pdf" target="_blank" rel="nofollow">test</a>, which ran from August 12–22, 2026, assessed phishing-page detection rates across 250 live phishing URLs, with an additional 250 legitimate URLs used to check for false positives. NordVPN recorded zero false alarms – a result that puts it ahead of Malwarebytes Premium and Webroot SecureAnywhere Internet Security Plus, both of which triggered false positives during the evaluation.</p><p>The findings come as NordVPN continues to reposition itself as an all-in-one digital security app. The company's <a href="https://www.tomsguide.com/computing/vpns/nordvpn-combines-vpn-and-next-generation-antivirus-into-one-app">recent rebrand</a> saw Threat Protection Pro renamed as "next-generation antivirus," placing it alongside its VPN and Dark Web Monitor as one of three core pillars of the product.</p><h2 id="how-does-nordvpn-compare">How does NordVPN compare?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UtDZFoTmPNBWUcdJsQqvG" name="NordVPN 2026 phishing test results" alt="Graph displaying the test's results" src="https://cdn.mos.cms.futurecdn.net/UtDZFoTmPNBWUcdJsQqvG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Finishing third among nine security products is a strong result, but the detail behind NordVPN's score is arguably just as telling as the number itself. Avast One Free Antivirus and Norton Antivirus Plus both edged it out with 96% detection rates, but the gap is narrow – a two-percentage-point difference across 250 live phishing URLs amounts to five URLs.</p><p>The rest of the field tells its own story. At the other end of the table, Dr. Web Security Space managed just 57% and K7 Total Security 70% – results that illustrate how inconsistent phishing protection remains across the security products market, even among established names. </p><p>NordVPN's advantage over the field is clearest on false positives. It was one of seven security products to record zero false alarms – and false positives erode confidence in a security tool just as surely as missed threats do.</p><p>"Phishing is a numbers game for attackers, and they're very good at it," said Domininkas Virbickas, product director at NordVPN. "Anybody might slip up eventually, and when you do click on something you shouldn't, that's where we step in."</p><h2 id="a-strong-track-record-in-independent-testing">A strong track record in independent testing</h2><p>This is not the first time NordVPN's threat protection feature has performed well under independent scrutiny. In November 2024, AV-TEST – a German independent IT security research institute – <a href="https://www.tomsguide.com/computing/online-security/nords-threat-protection-pro-rated-the-best-vpn-malware-protection">previously rated</a> Threat Protection Pro the best VPN tool for malware protection, achieving an 83.42% total detection rate across 3,209 tested links. That result placed it well ahead of the next-best VPN tested, IPVanish, which scored 46.96%.</p><p>NordVPN also has history with AV-Comparatives specifically. In June 2024, it became the first VPN provider to earn the organisation's <a href="https://www.tomsguide.com/computing/vpns/nordvpn-certified-as-the-only-anti-phishing-vpn-for-the-second-year-running">anti-phishing protection badge</a> – a significant distinction given that AV-Comparatives is best known for evaluating dedicated antivirus software, not VPNs. Earning the badge requires a minimum 85% detection rate with zero false alarms on legitimate sites, a bar not all established antivirus products have cleared. The August 2026 result, at 94%, clears it by some distance.</p><p>NordVPN's next-gen antivirus is available on Plus plans and above – the feature was previously known as Threat Protection Pro, and is included across Plus, Complete, and Prime tiers. </p><div data-widget-type="merchantlink" data-model-name="NordVPN"></div><p>We test and review VPN services in the context of legal recreational uses. For example:<strong>1.</strong> Accessing a service from another country (subject to the terms and conditions of that service).<strong>2.</strong> Protecting your online security and strengthening your online privacy when abroad.We do not support or condone the illegal or malicious use of VPN services. Consuming pirated content that is paid-for is neither endorsed nor approved by Future Publishing.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Over 150 million driver's licenses stolen in massive data breach after hackers reportedly hit major identity verificationcompany — what to do now ]]></title>
                                                                                                <dc:content><![CDATA[ <p>In what has to be one of the biggest data breaches to date, a security researcher discovered a hacker who appeared to be selling access to a database of over 153 million driver's licenses from the United States and Canada, including IDs for Pete Hegseth, the current U.S. Defense Secretary (the Defense Department is reportedly aware and investigating).</p><p>The breach was spotted by <a href="https://krebsonsecurity.com/2026/09/fbi-probes-service-selling-153m-drivers-licenses/#more-74231" target="_blank">security journalist Brian Krebs</a> in a report claiming that the hacker created a site called Nexus and claimed to have access to digital scans of 153,347,439 identity cards. </p><p>"A quick look around Nexus finds they are likely not exaggerating about that 153 million number: Running a blank search in Nexus (with no search parameters entered) returns approximately 11.5 million pages of results, with roughly 15 results displayed per page," Krebs wrote.</p><p>In a forum post from a Russian cybercrime site, Nexus allegedly sourced the scans from "major identity verification company," suggesting that the hackers had or have basically real-time access to the company's systems. </p><h2 id="how-it-happened">How it happened</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:57.60%;"><img id="GRAZp3ysKBXB984jp69j54" name="id-fraud-illo-shst.jpg" alt="Words 'ID Fraud" highlighted on dark field of ones and zeros." src="https://cdn.mos.cms.futurecdn.net/GRAZp3ysKBXB984jp69j54-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="576" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: alexskopje/Shutterstock)</span></figcaption></figure><p>Krebs found his own driver's license was among the searchable records. He also found Hegseth, whose photo was listed on the site. </p><p>Krebs worked with security researcher<a href="https://bsky.app/profile/thezedwards.bsky.social/post/3muikr2wbcs2u" target="_blank"> Zach Edwards</a>, whose ID was also in the breach, and identified the company IDScan as the potential source of the leak. The company, based out of Louisiana, is used by multiple companies to verify millions of IDs from around the globe. </p><p>"Based on all the details in the article and how Brian was literally able to dox me (and the timing of the screenshot of my license being added into the system aligning to my trip), all the signs point to IDscan having a hellacious ongoing real-time breach of their data. This is a massive vendor," Edwards wrote on Bluesky.</p><h2 id="investigations-and-concerns">Investigations and concerns</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6720px;"><p class="vanilla-image-block" style="padding-top:61.52%;"><img id="gNCNRoAsizedMsrzwHCpMJ" name="FBI .jpg" alt="An FBI agent typing on a computer" src="https://cdn.mos.cms.futurecdn.net/gNCNRoAsizedMsrzwHCpMJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="6720" height="4134" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Per Krebs, the FBI and IDScan are both investigating the breach. Tom's Guide reached out to both organizations but did not receive a reply in time for posting.</p><p>“At this point I’m not able to share any additional information, but the updates you have provided have been welcome and helpful to our team’s investigation,” an IDScan spokesperson told Krebs.</p><p>A commenter on Krebs story claims that his company received a data breach notification from IDscan:</p><p>"Earlier today, September 1, we received information suggesting that certain information may have been exposed and that IDScan.net may be implicated. We are working urgently to validate that information and determine whether any unauthorized access occurred, and the scope of such activity," the note reportedly reads.</p><p>It goes on to say that the company has taken steps to secure its system, notified partner companies, engaged legal counsel, and is conducting a third-party forensic investigation. </p><p>Nexus apparently went down shortly after Krebs' report went live. Though it's possible it could return under a different domain.</p><p>A data breach like this is terrifying at the best of times, but it happens to come at a time just as governments across the globe are attempting to roll out age-verification laws that require adults to upload or scan identity documents in order to prove they can access websites or apps — generally adult content. <a href="https://www.eff.org/deeplinks/2025/12/year-states-chose-surveillance-over-safety-2025-review" target="_blank">Privacy advocates and security researchers have already warned</a> that the laws put people's data at risk.</p><h2 id="how-to-stay-safe">How to stay safe </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="t7MsroJkoSVd32LsYjatBg" name="Level-Lock-Install.jpg" alt="Level Lock smart lock review" src="https://cdn.mos.cms.futurecdn.net/t7MsroJkoSVd32LsYjatBg-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Level)</span></figcaption></figure><p>Edwards ID was likely scanned when he went to a cannabis dispensary that has a contract with IDScan. Krebs believes his was scanned when he rented a car from Hertz last year. He also found his mom's ID from around the same time. </p><p>There are plenty of places where your ID could get scanned, from car rental agencies to bars and even the TSA. In the meantime, I would suggest requesting that your ID not be scanned by companies that demand it during check out or check in.</p><p>While we don't know if the Nexus database will return, it would be good form to take these <a href="https://www.tomsguide.com/what-is-a-data-breach-notification-letter">seven steps to stay safe after a data breach</a>.</p><p>That includes signing up for one <a href="https://www.tomsguide.com/us/best-identity-theft-protection,review-2083.html">best identity theft protection services</a>. As always, you'll want to be on high alert for <a href="https://www.tomsguide.com/reference/what-are-phishing-scams">phishing attacks </a>and <a href="https://www.tomsguide.com/news/this-social-engineering-trick-can-infect-your-pc-with-malware-what-you-need-to-know">social engineering attacks</a>, especially ones that urge you to "act now." Avoid clicking on any links, <a href="https://www.tomsguide.com/computing/online-security/millions-hit-in-quishing-attacks-as-malicious-qr-codes-surge-how-to-stay-safe">QR codes</a>, or attachments from <a href="https://www.tomsguide.com/news/avoid-these-email-attachments-if-you-dont-want-to-get-phished">unknown senders</a>.</p><p>Beyond that, you should consider a password overhaul by creating <a href="https://www.tomsguide.com/opinion/im-a-security-editor-and-this-is-how-i-create-strong-passwords-that-are-also-easy-to-remember">strong, complex passwords</a> for all of your accounts but you can also use one of the <a href="https://www.tomsguide.com/us/best-password-managers,review-3785.html">best password managers </a>to do so for you instead.</p><p>Even without a massive data breach, these are generally good practices just to keep your side of the street clean since companies are increasingly unable to do so.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/online-security/more-than-9-5-million-patient-records-affected-by-aesto-health-data-breach-what-you-need-to-know">More than 9.5 million patient records affected by Aesto Health data breach: what you need to know</a></li><li><a href="https://www.tomsguide.com/us/best-identity-theft-protection,review-2083.html">We put the best identity theft protection to the test to protect your entire digital life — these are the services I recommend</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/have-you-been-flocked-heres-how-to-look-up-automatic-license-plate-readers-in-your-area">Have you been 'Flocked'? Here's how to look up automatic license plate readers in your area</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/over-150-million-drivers-licenses-stolen-in-massive-data-breach-after-hackers-reportedly-hit-major-identity-verification-company-what-to-do-now</link>
                                                                            <description>
                            <![CDATA[ A potentially massive data breach was discovered by a security researcher who found a database of over 150 million exposed driver's licenses. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">wxjaP9TvZgPRxHCoeFTUYk</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Kn9pdSSoxQBASCh6CCvEWX-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 02 Sep 2026 21:49:44 +0000</pubDate>                                                                                                                                <updated>Wed, 02 Sep 2026 21:54:56 +0000</updated>
                                                                                                                                            <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;br&gt;Send secure tips on Signal: scyo1.55.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Kn9pdSSoxQBASCh6CCvEWX-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[drivers licenses from different states]]></media:description>                                                            <media:text><![CDATA[drivers licenses from different states]]></media:text>
                                <media:title type="plain"><![CDATA[drivers licenses from different states]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Kn9pdSSoxQBASCh6CCvEWX-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>In what has to be one of the biggest data breaches to date, a security researcher discovered a hacker who appeared to be selling access to a database of over 153 million driver's licenses from the United States and Canada, including IDs for Pete Hegseth, the current U.S. Defense Secretary (the Defense Department is reportedly aware and investigating).</p><p>The breach was spotted by <a href="https://krebsonsecurity.com/2026/09/fbi-probes-service-selling-153m-drivers-licenses/#more-74231" target="_blank">security journalist Brian Krebs</a> in a report claiming that the hacker created a site called Nexus and claimed to have access to digital scans of 153,347,439 identity cards. </p><p>"A quick look around Nexus finds they are likely not exaggerating about that 153 million number: Running a blank search in Nexus (with no search parameters entered) returns approximately 11.5 million pages of results, with roughly 15 results displayed per page," Krebs wrote.</p><p>In a forum post from a Russian cybercrime site, Nexus allegedly sourced the scans from "major identity verification company," suggesting that the hackers had or have basically real-time access to the company's systems. </p><h2 id="how-it-happened">How it happened</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:57.60%;"><img id="GRAZp3ysKBXB984jp69j54" name="id-fraud-illo-shst.jpg" alt="Words 'ID Fraud" highlighted on dark field of ones and zeros." src="https://cdn.mos.cms.futurecdn.net/GRAZp3ysKBXB984jp69j54-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="576" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: alexskopje/Shutterstock)</span></figcaption></figure><p>Krebs found his own driver's license was among the searchable records. He also found Hegseth, whose photo was listed on the site. </p><p>Krebs worked with security researcher<a href="https://bsky.app/profile/thezedwards.bsky.social/post/3muikr2wbcs2u" target="_blank"> Zach Edwards</a>, whose ID was also in the breach, and identified the company IDScan as the potential source of the leak. The company, based out of Louisiana, is used by multiple companies to verify millions of IDs from around the globe. </p><p>"Based on all the details in the article and how Brian was literally able to dox me (and the timing of the screenshot of my license being added into the system aligning to my trip), all the signs point to IDscan having a hellacious ongoing real-time breach of their data. This is a massive vendor," Edwards wrote on Bluesky.</p><h2 id="investigations-and-concerns">Investigations and concerns</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6720px;"><p class="vanilla-image-block" style="padding-top:61.52%;"><img id="gNCNRoAsizedMsrzwHCpMJ" name="FBI .jpg" alt="An FBI agent typing on a computer" src="https://cdn.mos.cms.futurecdn.net/gNCNRoAsizedMsrzwHCpMJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="6720" height="4134" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Per Krebs, the FBI and IDScan are both investigating the breach. Tom's Guide reached out to both organizations but did not receive a reply in time for posting.</p><p>“At this point I’m not able to share any additional information, but the updates you have provided have been welcome and helpful to our team’s investigation,” an IDScan spokesperson told Krebs.</p><p>A commenter on Krebs story claims that his company received a data breach notification from IDscan:</p><p>"Earlier today, September 1, we received information suggesting that certain information may have been exposed and that IDScan.net may be implicated. We are working urgently to validate that information and determine whether any unauthorized access occurred, and the scope of such activity," the note reportedly reads.</p><p>It goes on to say that the company has taken steps to secure its system, notified partner companies, engaged legal counsel, and is conducting a third-party forensic investigation. </p><p>Nexus apparently went down shortly after Krebs' report went live. Though it's possible it could return under a different domain.</p><p>A data breach like this is terrifying at the best of times, but it happens to come at a time just as governments across the globe are attempting to roll out age-verification laws that require adults to upload or scan identity documents in order to prove they can access websites or apps — generally adult content. <a href="https://www.eff.org/deeplinks/2025/12/year-states-chose-surveillance-over-safety-2025-review" target="_blank">Privacy advocates and security researchers have already warned</a> that the laws put people's data at risk.</p><h2 id="how-to-stay-safe">How to stay safe </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="t7MsroJkoSVd32LsYjatBg" name="Level-Lock-Install.jpg" alt="Level Lock smart lock review" src="https://cdn.mos.cms.futurecdn.net/t7MsroJkoSVd32LsYjatBg-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Level)</span></figcaption></figure><p>Edwards ID was likely scanned when he went to a cannabis dispensary that has a contract with IDScan. Krebs believes his was scanned when he rented a car from Hertz last year. He also found his mom's ID from around the same time. </p><p>There are plenty of places where your ID could get scanned, from car rental agencies to bars and even the TSA. In the meantime, I would suggest requesting that your ID not be scanned by companies that demand it during check out or check in.</p><p>While we don't know if the Nexus database will return, it would be good form to take these <a href="https://www.tomsguide.com/what-is-a-data-breach-notification-letter">seven steps to stay safe after a data breach</a>.</p><p>That includes signing up for one <a href="https://www.tomsguide.com/us/best-identity-theft-protection,review-2083.html">best identity theft protection services</a>. As always, you'll want to be on high alert for <a href="https://www.tomsguide.com/reference/what-are-phishing-scams">phishing attacks </a>and <a href="https://www.tomsguide.com/news/this-social-engineering-trick-can-infect-your-pc-with-malware-what-you-need-to-know">social engineering attacks</a>, especially ones that urge you to "act now." Avoid clicking on any links, <a href="https://www.tomsguide.com/computing/online-security/millions-hit-in-quishing-attacks-as-malicious-qr-codes-surge-how-to-stay-safe">QR codes</a>, or attachments from <a href="https://www.tomsguide.com/news/avoid-these-email-attachments-if-you-dont-want-to-get-phished">unknown senders</a>.</p><p>Beyond that, you should consider a password overhaul by creating <a href="https://www.tomsguide.com/opinion/im-a-security-editor-and-this-is-how-i-create-strong-passwords-that-are-also-easy-to-remember">strong, complex passwords</a> for all of your accounts but you can also use one of the <a href="https://www.tomsguide.com/us/best-password-managers,review-3785.html">best password managers </a>to do so for you instead.</p><p>Even without a massive data breach, these are generally good practices just to keep your side of the street clean since companies are increasingly unable to do so.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/online-security/more-than-9-5-million-patient-records-affected-by-aesto-health-data-breach-what-you-need-to-know">More than 9.5 million patient records affected by Aesto Health data breach: what you need to know</a></li><li><a href="https://www.tomsguide.com/us/best-identity-theft-protection,review-2083.html">We put the best identity theft protection to the test to protect your entire digital life — these are the services I recommend</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/have-you-been-flocked-heres-how-to-look-up-automatic-license-plate-readers-in-your-area">Have you been 'Flocked'? Here's how to look up automatic license plate readers in your area</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ More than 9.5 million patient records affected by Aesto Health data breach: what you need to know ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Aesto Health recently disclosed a data breach affecting more than 9.5 million people. Aesto is a software company for healthcare organizations that produces solutions to help them organize patient data when replacing health records systems.</p><p>Spotted by <a href="https://www.bleepingcomputer.com/news/security/aesto-health-says-data-breach-affects-over-95-million-patients/" target="_blank">Bleeping Computer</a>, the company first posted a notice of the attack on June 24 <a href="https://www.aestohealth.com/notice-of-data-security-incident-12-18-25/" target="_blank">via its website</a>. However, the actual incursion took place over two weeks in December of 2025. It apparently wasn't discovered until May 26 of this year. </p><p>"After an extensive forensic investigation and manual document review, on May 26, 2026, we confirmed that between on or about December 2, 2025, and December 18, 2025, certain protected health information belonging to patients of various Covered Entity clients stored within Aesto’s network may have been accessed and/or acquired by an unauthorized actor," the notice reads.</p><p>Apparently, the breach involved unauthorized access via Aesto's Amazon Web Services infrastructure.</p><h2 id="what-was-taken">What was taken</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3220px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="3Z3Wti6A7WPFu3GSjmXoDd" name="shutterstock_48106810.jpg" alt="Hacker using a stolen social security card" src="https://cdn.mos.cms.futurecdn.net/3Z3Wti6A7WPFu3GSjmXoDd-1920-80.jpg" mos="" align="middle" fullscreen="" width="3220" height="1811" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blazej Lyjak/Shutterstock)</span></figcaption></figure><p>In its report, Aesto Health confirmed that the breach affects 9,540,683 people. Unfortunately, that data included full names, dates of birth, medical information, driver's license numbers, financial account numbers, health insurance information, taxpayer ID numbers, Social Security numbers and other government identification numbers.</p><p>According to the <a href="https://www.hipaajournal.com/aesto-health-data-breach/" target="_blank">HIPAA Journal</a>, the breach spans 29 different organizations including Edwards County Medical Center, Marana Health, My Doctor, LLC, the Nebraska Orthopedic Center and Women's Health Associates. </p><p>The company started informing impacted individuals of the breach on August 21, providing details about the incident and providing identity theft protection and credit monitoring via Experian.</p><p>As noted by Bleeping Computer, this incident follows an unfortunate series of breaches that have affected health care companies including CareCloud, Nutex Health, iRhythm and McKesson. The breaches have ranged in size from a couple of hundred thousand to millions of records.</p><p>Per Aesto Health and our own review, no threat groups have publicly claimed the attack, unlike other recent ones claimed by the hacker group ShinyHunters.</p><h2 id="how-to-stay-safe-after-a-data-breach">How to stay safe after a data breach</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LMDEozUrCU7N8gtDxeKte3" name="SEXM8ah9EKKpBKB22d7Ak3.jpg" alt="An open lock depicting a data breach" src="https://cdn.mos.cms.futurecdn.net/LMDEozUrCU7N8gtDxeKte3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Check out the full list of companies from the HIPAA Journal, and if you've used any health care organization, you might receive a <a href="https://www.tomsguide.com/what-is-a-data-breach-notification-letter"><u>data breach notification letter</u></a> from Aesto. If you do, take advantage of the Experian coverage. Keep an eye on your mailbox since notification letters arrive the old-fashioned way.</p><p>Even if Aesto doesn't send you a notification letter, you may want to take advantage of one of the <a href="https://www.tomsguide.com/us/best-identity-theft-protection,review-2083.html"><u>best identity theft protection services </u></a>to protect your identity.</p><p>While no one has claimed the attachment, a bad actor could use your information to launch <a href="https://www.tomsguide.com/news/personal-data-of-millions-of-americans-exposed-in-global-cyber-attack-what-you-need-to-know">targeted phishing attacks</a>. Phishing emails could contain <a href="https://www.tomsguide.com/computing/online-security/that-unsubscribe-link-is-actually-a-hidden-security-risk-do-this-instead">malicious links</a> or even malware.</p><p>Health companies appear especially vulnerable as the summer comes to a close, and every company should be taking this threat seriously. Hopefully, companies are bolstering their cybersecurity right now.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/us/best-identity-theft-protection,review-2083.html">We put the best identity theft protection to the test to protect your entire digital life — these are the services I recommend</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/have-you-been-flocked-heres-how-to-look-up-automatic-license-plate-readers-in-your-area">Have you been 'Flocked'? Here's how to look up automatic license plate readers in your area</a></li><li><a href="https://www.tomsguide.com/computing/antivirus/best-antivirus-software">We've tested the best antivirus software and these are the 5 I recommend right now</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/more-than-9-5-million-patient-records-affected-by-aesto-health-data-breach-what-you-need-to-know</link>
                                                                            <description>
                            <![CDATA[ Aesto Health has confirmed a data breach that affects more than 9.5 million patients. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">F2ZzEtrQ5fxGZTWrcQ75BD</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WhwNyWzQHzVnY49UeT8UsS-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 02 Sep 2026 18:58:26 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;br&gt;Send secure tips on Signal: scyo1.55.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/WhwNyWzQHzVnY49UeT8UsS-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Screen graphic showing data breach warning]]></media:description>                                                            <media:text><![CDATA[Screen graphic showing data breach warning]]></media:text>
                                <media:title type="plain"><![CDATA[Screen graphic showing data breach warning]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WhwNyWzQHzVnY49UeT8UsS-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Aesto Health recently disclosed a data breach affecting more than 9.5 million people. Aesto is a software company for healthcare organizations that produces solutions to help them organize patient data when replacing health records systems.</p><p>Spotted by <a href="https://www.bleepingcomputer.com/news/security/aesto-health-says-data-breach-affects-over-95-million-patients/" target="_blank">Bleeping Computer</a>, the company first posted a notice of the attack on June 24 <a href="https://www.aestohealth.com/notice-of-data-security-incident-12-18-25/" target="_blank">via its website</a>. However, the actual incursion took place over two weeks in December of 2025. It apparently wasn't discovered until May 26 of this year. </p><p>"After an extensive forensic investigation and manual document review, on May 26, 2026, we confirmed that between on or about December 2, 2025, and December 18, 2025, certain protected health information belonging to patients of various Covered Entity clients stored within Aesto’s network may have been accessed and/or acquired by an unauthorized actor," the notice reads.</p><p>Apparently, the breach involved unauthorized access via Aesto's Amazon Web Services infrastructure.</p><h2 id="what-was-taken">What was taken</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3220px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="3Z3Wti6A7WPFu3GSjmXoDd" name="shutterstock_48106810.jpg" alt="Hacker using a stolen social security card" src="https://cdn.mos.cms.futurecdn.net/3Z3Wti6A7WPFu3GSjmXoDd-1920-80.jpg" mos="" align="middle" fullscreen="" width="3220" height="1811" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Blazej Lyjak/Shutterstock)</span></figcaption></figure><p>In its report, Aesto Health confirmed that the breach affects 9,540,683 people. Unfortunately, that data included full names, dates of birth, medical information, driver's license numbers, financial account numbers, health insurance information, taxpayer ID numbers, Social Security numbers and other government identification numbers.</p><p>According to the <a href="https://www.hipaajournal.com/aesto-health-data-breach/" target="_blank">HIPAA Journal</a>, the breach spans 29 different organizations including Edwards County Medical Center, Marana Health, My Doctor, LLC, the Nebraska Orthopedic Center and Women's Health Associates. </p><p>The company started informing impacted individuals of the breach on August 21, providing details about the incident and providing identity theft protection and credit monitoring via Experian.</p><p>As noted by Bleeping Computer, this incident follows an unfortunate series of breaches that have affected health care companies including CareCloud, Nutex Health, iRhythm and McKesson. The breaches have ranged in size from a couple of hundred thousand to millions of records.</p><p>Per Aesto Health and our own review, no threat groups have publicly claimed the attack, unlike other recent ones claimed by the hacker group ShinyHunters.</p><h2 id="how-to-stay-safe-after-a-data-breach">How to stay safe after a data breach</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LMDEozUrCU7N8gtDxeKte3" name="SEXM8ah9EKKpBKB22d7Ak3.jpg" alt="An open lock depicting a data breach" src="https://cdn.mos.cms.futurecdn.net/LMDEozUrCU7N8gtDxeKte3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Check out the full list of companies from the HIPAA Journal, and if you've used any health care organization, you might receive a <a href="https://www.tomsguide.com/what-is-a-data-breach-notification-letter"><u>data breach notification letter</u></a> from Aesto. If you do, take advantage of the Experian coverage. Keep an eye on your mailbox since notification letters arrive the old-fashioned way.</p><p>Even if Aesto doesn't send you a notification letter, you may want to take advantage of one of the <a href="https://www.tomsguide.com/us/best-identity-theft-protection,review-2083.html"><u>best identity theft protection services </u></a>to protect your identity.</p><p>While no one has claimed the attachment, a bad actor could use your information to launch <a href="https://www.tomsguide.com/news/personal-data-of-millions-of-americans-exposed-in-global-cyber-attack-what-you-need-to-know">targeted phishing attacks</a>. Phishing emails could contain <a href="https://www.tomsguide.com/computing/online-security/that-unsubscribe-link-is-actually-a-hidden-security-risk-do-this-instead">malicious links</a> or even malware.</p><p>Health companies appear especially vulnerable as the summer comes to a close, and every company should be taking this threat seriously. Hopefully, companies are bolstering their cybersecurity right now.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/us/best-identity-theft-protection,review-2083.html">We put the best identity theft protection to the test to protect your entire digital life — these are the services I recommend</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/have-you-been-flocked-heres-how-to-look-up-automatic-license-plate-readers-in-your-area">Have you been 'Flocked'? Here's how to look up automatic license plate readers in your area</a></li><li><a href="https://www.tomsguide.com/computing/antivirus/best-antivirus-software">We've tested the best antivirus software and these are the 5 I recommend right now</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I got a sneak peek at TP-Link’s upcoming Wi-Fi 8 routers — and improved range and reliability are their biggest upgrades ]]></title>
                                                                                                <dc:content><![CDATA[ <p>From the start of the wireless networking era – even before it was called Wi-Fi – every new spec and generation of hardware was aimed at delivering faster speeds to do more things online at home. Not anymore, because <a href="https://www.tomsguide.com/computing/internet/i-just-got-my-first-glimpse-at-whats-possible-with-wi-fi-8-and-this-one-new-feature-has-me-really-excited">Wi-Fi 8</a> (aka. 802.11bn) takes a different approach, putting an emphasis on range and reliability to be able to stay online longer with fewer interruptions. </p><p>While it seems like a step sideways with a top speed of 46 Gbps that’s equivalent to <a href="https://www.tomsguide.com/reference/wi-fi-7-explained">Wi-Fi 7</a>, Wi-Fi 8 can do a lot to make home networking easier, more fulfilling and dependable. The new spec’s Ultra High Reliability (UHR) approach promotes better performance at long range, the ability to handle more data traffic and block interference. Spectral efficiency is the name of the game with Wi-Fi turning from squeezing more data into the air waves to making it easier to use and more reliable. </p><p>Buyer beware, as has been the case with every Wi-Fi generation, the router hardware precedes the general availability of client devices. At first, it can seem like a wireless tease, then, all of a sudden, there are new generation devices everywhere. In addition to the first Wi-Fi routers and mesh kits in the coming months, expect Wi-Fi 8, phones, computers and tablets in early-to-mid 2027. This will be followed by range extenders and USB upgrade kits late in the year. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OznRlO"></div>                            </div>                            <script src="https://kwizly.com/embed/OznRlO.js" async></script><h2 id="archer-8-ultra-and-deco-8-ultra">Archer 8 Ultra and Deco 8 Ultra</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6Jx2Bvoo4BBUJ3Zz3z9mTT" name="Archer 8 Ultra Deco 8 Ultra Hero" alt="The TP-Link Archer 8 Ultra and Deco 8 Ultra next to each other on a colored background" src="https://cdn.mos.cms.futurecdn.net/6Jx2Bvoo4BBUJ3Zz3z9mTT-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TP-Link)</span></figcaption></figure><p>I got a sneak peek at what will likely be the first commercial Wi-Fi 8 routers from TP-Link, the company’s Archer 8 Ultra high performance router and Deco 8 Ultra mesh set. They each have functional designs, sleek lines and can theoretically move 19- and 22 Gbps, respectively. Powered by either Qualcomm’s Fast Connect 8800 or Broadcom’s BCM6718 chips, this networking gear is top shelf and aimed at high-performance users with two 10 Gbps inputs and USB ports for connecting a storage device across a network. </p><p>The IEEE 802.11bn spec isn’t close to being finalized and I do expect changes before it’s formally approved sometime in 2028. That said, the lack of finality hasn’t stopped the world’s Wi-Fi chip manufacturers and router makers from developing products. </p><p>If the past is any indication, the new routers will need a firmware update or three to add late changing aspects of the final Wi-Fi 8 spec. Plus, many router makers plan to introduce new routers that hit the main features on introduction and add items to them throughout 2027. Unfortunately, none of the current generation of Wi-Fi 7 routers can be upgraded to Wi-Fi 8.</p><p>How the routers will act is coming into focus. The big change that Wi-Fi 8 brings is better use of the 2.4-, 5.0- and 6.0 GHz frequency bands on which the data rides. It goes beyond 4K Quadrature Amplitude Modulation (QAM) and Multi-Link Operations (MLO) with what TP-Link calls its Stability Engine that will debut with the company’s Wi-Fi 8 hardware. </p><p>This can seem like an alphabet soup of engineering acronyms that starts with Unequal Modulation (UEQM) to make sure that each device can get to its full speed regardless of whether lower-speed clients are nearby. The New Modulation and Coding Scheme (MCS) takes this a step further by blocking interference that can lower throughput. Together, the techniques can improve throughput by 24% versus Wi-Fi 7, according to early tests.  </p><h2 id="antennas-by-the-dozen">Antennas by the dozen</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1916px;"><p class="vanilla-image-block" style="padding-top:56.37%;"><img id="KMeckkoER2XvwZwC3MSfCY" name="Archer 8_1920x1080_02" alt="A close-up shot of the top of the TP-Link Archer 8 Ultra" src="https://cdn.mos.cms.futurecdn.net/KMeckkoER2XvwZwC3MSfCY-1920-80.png" mos="" align="middle" fullscreen="" width="1916" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TP-Link)</span></figcaption></figure><p>Meanwhile, the routers have internal antennas galore. While the Archer 8 Ultra has no fewer than 18 antennas, the Deco 8 Ultra has a 5 transmit, 5 receive antenna arrangement. This can amount to a 1 to 3 dB increase in signal strength that can translate into greater throughput and range. </p><p>That’s just the start because the new antennas can help prevent frustrating disconnect and reconnect cycles that rob throughput. TP-Link’s engineers are going a step further by looking into pushing its antennas to the limit by making its transmission pattern adjustable. The feature would bias it horizontally (for a ranch house) or vertically (for a multi-story building). </p><p>Meanwhile, Wi-Fi 8’s Distributed Resource Units (DRU) and Enhanced Long Range (ELR) combine to increase coverage so that the signal can enliven <a href="https://www.tomsguide.com/opinion/when-and-when-not-to-use-a-wi-fi-extender-and-what-to-do-instead">Wi-Fi dead zones</a> with data. These techniques allow clients at the periphery to stay online despite a weak signal. If these changes pan out, my Wi-Fi experience could be vastly improved, from not losing my connection when listening to the BBC World Service on my Wi-Fi Internet radio deep in the basement to working out on the patio on a sunny day. </p><h2 id="a-premium-next-gen-upgrade">A premium next-gen upgrade</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PEpn9fWiVABftaPiqLWWfe" name="Deco 8 Ultra Lifestyle" alt="The TP-Link Deco 8 Ultra on a table" src="https://cdn.mos.cms.futurecdn.net/PEpn9fWiVABftaPiqLWWfe-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TP-Link)</span></figcaption></figure><p>TP-Link’s Archer 8 Ultra is going on sale in Germany and in the UK in October, where regulators have given the company the green light. This will be followed by U.S. sales in early 2027. </p><p>Premium and high performance in all aspects, look for a sub-$1,000 price tag for the Archer 8 Ultra. Though this will almost certainly drop as the year progresses. TP-Link then plans to introduce Pro and base product lines with lower prices during 2027.  </p><p>Think of Wi-Fi 8 as making the house of cards that wireless networking has become a little sturdier and more permanent so that a sneeze won’t make it all collapse. Just as I got used to Wi-Fi 7, it’s time to turn to Wi-Fi 8 but I can’t wait to get my hands on the two TP-Link networking devices as well as the products of other companies to try them out in my lab and home. </p><p>I must admit to a hidden hope that Wi-Fi 8 enhanced reliability is enough to replace many of the <a href="https://www.tomsguide.com/reference/ethernet-cables-explained">Ethernet cables</a> that run through my house, creating a wireless backbone for my entire home network.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/i-just-saw-wifi-8-in-action"><strong>I just saw Wi-Fi 8 in action, and it might be the first internet upgrade in years that actually makes sense</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/best-picks/best-Wi-fi-7-routers"><strong>These are the best Wi-Fi 7 routers to give your home upgrade a major upgrade right now</strong></a></li><li><a href="https://www.tomsguide.com/computing/internet/aluminum-foil-boosts-wi-fi-signal-heres-how-to-position-it-behind-your-router"><strong>I put aluminum foil behind my router to fix my Wi-Fi dead zones — and it actually worked</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/routers/i-got-a-sneak-peek-at-tp-links-upcoming-wi-fi-8-routers-and-improved-range-and-reliability-are-their-biggest-upgrades</link>
                                                                            <description>
                            <![CDATA[ The next generation of Wi-Fi gear is aimed more at dependability than outright speed but for many, it will offer more throughput. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yvrZ7ccqrgeJySv8PdoiJP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/7EvQmc6Gnx5o6epdcmL3LG-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 01 Sep 2026 13:51:25 +0000</pubDate>                                                                                                                                <updated>Mon, 07 Sep 2026 09:29:40 +0000</updated>
                                                                                                                                            <category><![CDATA[Routers]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Brian Nadel ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/qLSkrTG95GayrZcQmwLa2N-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/7EvQmc6Gnx5o6epdcmL3LG-1920-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A sign showing the Wi-Fi 8 logo]]></media:description>                                                            <media:text><![CDATA[A sign showing the Wi-Fi 8 logo]]></media:text>
                                <media:title type="plain"><![CDATA[A sign showing the Wi-Fi 8 logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/7EvQmc6Gnx5o6epdcmL3LG-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>From the start of the wireless networking era – even before it was called Wi-Fi – every new spec and generation of hardware was aimed at delivering faster speeds to do more things online at home. Not anymore, because <a href="https://www.tomsguide.com/computing/internet/i-just-got-my-first-glimpse-at-whats-possible-with-wi-fi-8-and-this-one-new-feature-has-me-really-excited">Wi-Fi 8</a> (aka. 802.11bn) takes a different approach, putting an emphasis on range and reliability to be able to stay online longer with fewer interruptions. </p><p>While it seems like a step sideways with a top speed of 46 Gbps that’s equivalent to <a href="https://www.tomsguide.com/reference/wi-fi-7-explained">Wi-Fi 7</a>, Wi-Fi 8 can do a lot to make home networking easier, more fulfilling and dependable. The new spec’s Ultra High Reliability (UHR) approach promotes better performance at long range, the ability to handle more data traffic and block interference. Spectral efficiency is the name of the game with Wi-Fi turning from squeezing more data into the air waves to making it easier to use and more reliable. </p><p>Buyer beware, as has been the case with every Wi-Fi generation, the router hardware precedes the general availability of client devices. At first, it can seem like a wireless tease, then, all of a sudden, there are new generation devices everywhere. In addition to the first Wi-Fi routers and mesh kits in the coming months, expect Wi-Fi 8, phones, computers and tablets in early-to-mid 2027. This will be followed by range extenders and USB upgrade kits late in the year. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OznRlO"></div>                            </div>                            <script src="https://kwizly.com/embed/OznRlO.js" async></script><h2 id="archer-8-ultra-and-deco-8-ultra">Archer 8 Ultra and Deco 8 Ultra</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6Jx2Bvoo4BBUJ3Zz3z9mTT" name="Archer 8 Ultra Deco 8 Ultra Hero" alt="The TP-Link Archer 8 Ultra and Deco 8 Ultra next to each other on a colored background" src="https://cdn.mos.cms.futurecdn.net/6Jx2Bvoo4BBUJ3Zz3z9mTT-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TP-Link)</span></figcaption></figure><p>I got a sneak peek at what will likely be the first commercial Wi-Fi 8 routers from TP-Link, the company’s Archer 8 Ultra high performance router and Deco 8 Ultra mesh set. They each have functional designs, sleek lines and can theoretically move 19- and 22 Gbps, respectively. Powered by either Qualcomm’s Fast Connect 8800 or Broadcom’s BCM6718 chips, this networking gear is top shelf and aimed at high-performance users with two 10 Gbps inputs and USB ports for connecting a storage device across a network. </p><p>The IEEE 802.11bn spec isn’t close to being finalized and I do expect changes before it’s formally approved sometime in 2028. That said, the lack of finality hasn’t stopped the world’s Wi-Fi chip manufacturers and router makers from developing products. </p><p>If the past is any indication, the new routers will need a firmware update or three to add late changing aspects of the final Wi-Fi 8 spec. Plus, many router makers plan to introduce new routers that hit the main features on introduction and add items to them throughout 2027. Unfortunately, none of the current generation of Wi-Fi 7 routers can be upgraded to Wi-Fi 8.</p><p>How the routers will act is coming into focus. The big change that Wi-Fi 8 brings is better use of the 2.4-, 5.0- and 6.0 GHz frequency bands on which the data rides. It goes beyond 4K Quadrature Amplitude Modulation (QAM) and Multi-Link Operations (MLO) with what TP-Link calls its Stability Engine that will debut with the company’s Wi-Fi 8 hardware. </p><p>This can seem like an alphabet soup of engineering acronyms that starts with Unequal Modulation (UEQM) to make sure that each device can get to its full speed regardless of whether lower-speed clients are nearby. The New Modulation and Coding Scheme (MCS) takes this a step further by blocking interference that can lower throughput. Together, the techniques can improve throughput by 24% versus Wi-Fi 7, according to early tests.  </p><h2 id="antennas-by-the-dozen">Antennas by the dozen</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1916px;"><p class="vanilla-image-block" style="padding-top:56.37%;"><img id="KMeckkoER2XvwZwC3MSfCY" name="Archer 8_1920x1080_02" alt="A close-up shot of the top of the TP-Link Archer 8 Ultra" src="https://cdn.mos.cms.futurecdn.net/KMeckkoER2XvwZwC3MSfCY-1920-80.png" mos="" align="middle" fullscreen="" width="1916" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TP-Link)</span></figcaption></figure><p>Meanwhile, the routers have internal antennas galore. While the Archer 8 Ultra has no fewer than 18 antennas, the Deco 8 Ultra has a 5 transmit, 5 receive antenna arrangement. This can amount to a 1 to 3 dB increase in signal strength that can translate into greater throughput and range. </p><p>That’s just the start because the new antennas can help prevent frustrating disconnect and reconnect cycles that rob throughput. TP-Link’s engineers are going a step further by looking into pushing its antennas to the limit by making its transmission pattern adjustable. The feature would bias it horizontally (for a ranch house) or vertically (for a multi-story building). </p><p>Meanwhile, Wi-Fi 8’s Distributed Resource Units (DRU) and Enhanced Long Range (ELR) combine to increase coverage so that the signal can enliven <a href="https://www.tomsguide.com/opinion/when-and-when-not-to-use-a-wi-fi-extender-and-what-to-do-instead">Wi-Fi dead zones</a> with data. These techniques allow clients at the periphery to stay online despite a weak signal. If these changes pan out, my Wi-Fi experience could be vastly improved, from not losing my connection when listening to the BBC World Service on my Wi-Fi Internet radio deep in the basement to working out on the patio on a sunny day. </p><h2 id="a-premium-next-gen-upgrade">A premium next-gen upgrade</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PEpn9fWiVABftaPiqLWWfe" name="Deco 8 Ultra Lifestyle" alt="The TP-Link Deco 8 Ultra on a table" src="https://cdn.mos.cms.futurecdn.net/PEpn9fWiVABftaPiqLWWfe-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TP-Link)</span></figcaption></figure><p>TP-Link’s Archer 8 Ultra is going on sale in Germany and in the UK in October, where regulators have given the company the green light. This will be followed by U.S. sales in early 2027. </p><p>Premium and high performance in all aspects, look for a sub-$1,000 price tag for the Archer 8 Ultra. Though this will almost certainly drop as the year progresses. TP-Link then plans to introduce Pro and base product lines with lower prices during 2027.  </p><p>Think of Wi-Fi 8 as making the house of cards that wireless networking has become a little sturdier and more permanent so that a sneeze won’t make it all collapse. Just as I got used to Wi-Fi 7, it’s time to turn to Wi-Fi 8 but I can’t wait to get my hands on the two TP-Link networking devices as well as the products of other companies to try them out in my lab and home. </p><p>I must admit to a hidden hope that Wi-Fi 8 enhanced reliability is enough to replace many of the <a href="https://www.tomsguide.com/reference/ethernet-cables-explained">Ethernet cables</a> that run through my house, creating a wireless backbone for my entire home network.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/i-just-saw-wifi-8-in-action"><strong>I just saw Wi-Fi 8 in action, and it might be the first internet upgrade in years that actually makes sense</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/best-picks/best-Wi-fi-7-routers"><strong>These are the best Wi-Fi 7 routers to give your home upgrade a major upgrade right now</strong></a></li><li><a href="https://www.tomsguide.com/computing/internet/aluminum-foil-boosts-wi-fi-signal-heres-how-to-position-it-behind-your-router"><strong>I put aluminum foil behind my router to fix my Wi-Fi dead zones — and it actually worked</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Microsoft Outlook was down? Live tracking multi-hour email outage ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="live-content"><p>Microsoft Outlook may be suffering an outage. Reports about the email platform started popping up on the outage-tracking site <a href="https://downdetector.com/status/outlook/" target="_blank">Down Detector</a> starting around 8:30 am Pacific. </p><p>It peaked around 9:30 am around 6,000 reports. The outage appears to be affecting access to mailboxes, delays in sending emails or failure to send. </p><p>Outlook stayed down for nearly 12 hours, last until about 8:30 pm Pacific. A fix was implemented around 6 pm that seemed to get people back online but it didn't completely work and some functions like search didn't work properly for two more hours.</p><p>According to the Microsoft 365 status page, the outage was caused by "an issue within a core authentication configuration used by multiple Microsoft 365 services is resulting in impact."</p><p>We did not see any more specific information beyond that. </p><p>Here's what we know:</p></div><div class="live-content"><time datetime="2026-08-31T18:26:22+00:00">August 31, 2026 – 2:26 PM</time><h2 id="multi-hour-outage">Multi-hour outage</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:673px;"><p class="vanilla-image-block" style="padding-top:42.79%;"><img id="E8exMaQWWNsgzYsLnRiQnN" name="Screenshot 2026-08-31 112543" alt="Microsoft Outlook outage Aug 31, 2026" src="https://cdn.mos.cms.futurecdn.net/E8exMaQWWNsgzYsLnRiQnN-1920-80.png" mos="" align="middle" fullscreen="" width="673" height="288" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Down Detector)</span></figcaption></figure><p>Reports starting appearing on Down Detector around 8:30 am Pacific but didn't peak until an hour later. </p><p>As of this posting, there are more than 5,000 reports on the outage tracker and no sign of decline.</p></div><div class="live-content"><time datetime="2026-08-31T18:28:54+00:00">August 31, 2026 – 2:28 PM</time><h2 id="microsoft-says-all-systems-quot-operational-quot">Microsoft says all systems "operational"</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LFP6P5nzNFP8AkCLiWJSvG" name="Microsoft" alt="Microsoft 365 becomes Microsoft 364" src="https://cdn.mos.cms.futurecdn.net/LFP6P5nzNFP8AkCLiWJSvG-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Paolo Bona / Shutterstock.com / Microsoft / Future)</span></figcaption></figure><p>I've checked the Microsoft 365 <a href="https://status.cloud.microsoft/m365/referrer=serviceStatusRedirect" target="_blank">status page</a>, and according to that page every Microsoft product is operational.</p></div><div class="live-content"><time datetime="2026-08-31T18:31:03+00:00">August 31, 2026 – 2:31 PM</time><h2 id="m365-twitter-account-acknowledges-problem">M365 Twitter account acknowledges problem</h2><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2094465993007378744"><p lang="en" dir="ltr">We've confirmed that users may experience degraded functionality with various Exchange Online functionalities. We're reviewing service telemetry and diagnostic data to isolate the source of the issue. For more information, please see EX1464935 in the admin center.<a href="https://twitter.com/cantworkitout/status/2094465993007378744">August 31, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>While the Microsoft 365 status page isn't showing any issues, the official <a href="https://x.com/MSFT365Status/status/2094465993007378744" target="_blank">Microsoft 365 Status X account</a> did acknowledge the issue.</p><p>"We've confirmed that users may experience degraded functionality with various Exchange Online functionalities. We're reviewing service telemetry and diagnostic data to isolate the source of the issue. For more information, please see EX1464935 in the admin center," the post reads. </p></div><div class="live-content"><time datetime="2026-08-31T18:34:28+00:00">August 31, 2026 – 2:34 PM</time><h2 id="what-issues-are-we-seeing">What issues are we seeing?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:853px;"><p class="vanilla-image-block" style="padding-top:60.96%;"><img id="77h7giWwLQ9NhbRWTtqwSd" name="outlook-iphone-shst.jpg" alt="Microsoft Outlook" src="https://cdn.mos.cms.futurecdn.net/77h7giWwLQ9NhbRWTtqwSd-1920-80.jpg" mos="" align="middle" fullscreen="" width="853" height="520" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>Based on comments from Down Detector and X, the most common issue appears to be a failure to actually send and receive emails for those who can get in.</p><p>I've seen several comments saying that the app won't even open on their computers. </p><p>"Not receiving emails since about 10:45 am, then went downhill, replies stopped coming through, then emails came to a halt, and then, besides Outlook constantly freezing, now my shared work folder is no longer showing me emails and gives an error," one said.</p><p>For those in businesses, it appears they can't even send messages between connected emails.</p></div><div class="live-content"><time datetime="2026-08-31T18:40:54+00:00">August 31, 2026 – 2:40 PM</time><h2 id="users-quot-may-experience-a-variety-of-symptoms-quot">Users "may experience a variety of symptoms"</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1981px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="QcDNYDHLZWSjpMdgzpVJQG" name="Outlook.shutterstock_2384091865.jpg" alt="Outlook on a laptop" src="https://cdn.mos.cms.futurecdn.net/QcDNYDHLZWSjpMdgzpVJQG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1981" height="1114" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>If you can get in the 365 Admin Center, this is the message you should see:</p><p>"Users may be unable to connect to, or experience degraded functionality with Exchange Online</p><p>Users may experience a variety of symptoms related to this event, including but not limited to:<br>- Delays, failures, or incomplete results when searching for content within Exchange Online mailboxes.<br>- Delays or failures when sending or receiving email messages.<br>- Authentication-related errors when accessing Exchange Online services.<br>- Difficulties accessing or performing actions within Exchange administration experiences.<br>- Intermittent failures affecting mailbox operations and message delivery workflows."</p></div><div class="live-content"><time datetime="2026-08-31T18:51:20+00:00">August 31, 2026 – 2:51 PM</time><h2 id="slow-decline">Slow decline</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:675px;"><p class="vanilla-image-block" style="padding-top:45.63%;"><img id="LCj29zbxdQbXSkRrDP5HXk" name="Screenshot 2026-08-31 114803" alt="Microsoft Outlook outage 8/31/26" src="https://cdn.mos.cms.futurecdn.net/LCj29zbxdQbXSkRrDP5HXk-1920-80.png" mos="" align="middle" fullscreen="" width="675" height="308" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Down Detector)</span></figcaption></figure><p>Over on Down Detector, reports have started to decline. </p><p>The peak around 9:30 a.m. was around 6,000 reports. As of 11:45 a.m. Pacific, reports are closer to 4,500. </p><p>I've seen some people in offices say that portions of their teams are able to access the email platform, but some of the team is still down.</p></div><div class="live-content"><time datetime="2026-08-31T19:09:19+00:00">August 31, 2026 – 3:09 PM</time><h2 id="no-updates-from-microsoft">No updates from Microsoft</h2><p>Other than the couple tweets and the Admin Center update, we haven't seen any other updates from Microsoft. </p><p>It's not clear what work is being done to resolve the outage.</p></div><div class="live-content"><time datetime="2026-08-31T19:26:40+00:00">August 31, 2026 – 3:26 PM</time><h2 id="is-outlook-down-for-you">Is Outlook down for you?</h2><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W5E2wW"></div>                            </div>                            <script src="https://kwizly.com/embed/W5E2wW.js" async></script><p>Let us know in the comments what issues you're experiencing. </p></div><div class="live-content"><time datetime="2026-08-31T19:44:03+00:00">August 31, 2026 – 3:44 PM</time><h2 id="outage-has-last-4-hours">Outage has last 4 hours</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ytx7gsKrfFbWNQV8E7E9NB" name="MicrosoftOutlook.jpg" alt="The Microsoft Outlook app open on a phone" src="https://cdn.mos.cms.futurecdn.net/ytx7gsKrfFbWNQV8E7E9NB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>With no updates from Microsoft, today's Outlook outage has lasted for more than four hours.</p><p>As of this posting, despite declining reports it's not clear when the outage might end.</p></div><div class="live-content"><time datetime="2026-08-31T19:52:00+00:00">August 31, 2026 – 3:52 PM</time><h2 id="update-from-microsoft">Update from Microsoft</h2><p>On the <a href="https://status.cloud.microsoft/m365/referrer=serviceStatusRedirect" target="_blank">M365 status page</a>, a new update just popped up. </p><p>Here it is: </p><p>OneDrive for Business and SharePoint Online: Users may be unable to load or refresh portions of OneDrive and SharePoint, including account and storage information, search results, Favorites, Followed and Shared With Me content, recent files, lists, and news. Some users may also experience delayed or failed file opening, Office policy-label retrieval, OneDrive synchronization, mobile camera upload, and video playback. Users may see partial page failures, missing or stale content, repeated retries, and operation timeouts rather than a complete platform outage.</p><p>Exchange Online: Users may be unable to connect to, or experience degraded functionality, with Exchange Online. All connection methods are affected. </p><p>Microsoft Teams: Users may experience issues with calendar functionality and search. Users’ presence may be stale and not update automatically or through manual adjustment. User location adjustment may fail. </p><p>Microsoft Purview: Users may face intermittent authorization failures across solutions in Purview. Purview admins can’t access the portal. Additionally, in Microsoft Purview Communication Compliance, users may see errors when loading Communication Compliance policies and Data Loss Prevention (DLP) policies. Communication Compliance policy creation and evaluation may be delayed. </p><p>Microsoft Defender XDR: Users may experience intermittent authorization failures across solutions in Defender. </p><p><strong>Current status: </strong>We're continuing to perform comprehensive tests to ensure our mitigation strategy effectively resolves the issue without introducing additional impact. In parallel, we're exploring alternative remediation avenues to minimize impact in the interim. </p><p><strong>Scope of impact: </strong>Users attempting to perform any of the outlined impact scenarios may be affected by this event. </p><p><strong>Preliminary root cause: </strong>An issue within a core authentication configuration used by multiple Microsoft 365 services is resulting in impact. </p></div><div class="live-content"><time datetime="2026-08-31T20:14:23+00:00">August 31, 2026 – 4:14 PM</time><h2 id="snail-mail">Snail mail</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gWoW8UhSG7R78YpMZFCbYT" name="GettyImages-78486862edit.jpg" alt="Letter posted through the letterbox" src="https://cdn.mos.cms.futurecdn.net/gWoW8UhSG7R78YpMZFCbYT-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>Not much new to share with you but this message from a frustrated user on Down Detector gave me a chuckle.</p><p>"Now distributing stamps & envelopes to our team. Printer is working overtime."</p></div><div class="live-content"><time datetime="2026-08-31T20:39:57+00:00">August 31, 2026 – 4:39 PM</time><h2 id="outage-appears-international">Outage appears international</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SvzWgUkw8ivTUYcraTxj4n" name="TG-worldle-lede-shutterstock.jpg" alt="An image of the globe on a blue background. The globe has a green question mark formed from land." src="https://cdn.mos.cms.futurecdn.net/SvzWgUkw8ivTUYcraTxj4n-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Users reporting in on Down Detector are claiming to be from all over the country including New York, Las Vegas, Kentucky, Indianapolis and more.</p><p>I'm also seeing some reports from other countries including Guatamala City, Montevideo, Uruguay and Argentina.</p></div><div class="live-content"><time datetime="2026-08-31T21:23:00+00:00">August 31, 2026 – 5:23 PM</time><h2 id="where-we-stand-after-6-hours">Where we stand after 6 hours</h2><p>Unfortunately, pretty much the same. </p><p>The M365 status page had a recent update that shows Microsoft's engineers are working on the issue but it doesn't appear relief is coming any time soon.</p><p>"Current status: We're reexamining recent changes made to the service to determine why the authentication components aren't being deployed as expected. Additionally, we are exploring every avenue to safely restore the components, including reverting an update the affected infrastructure recently received. We're performing additional tests to determine whether this will provide relief."</p><p>Reports on Down Detector have declined but I think that's more because people on the East Coast are starting to log off for the day.</p></div><div class="live-content"><time datetime="2026-08-31T22:07:39+00:00">August 31, 2026 – 6:07 PM</time><h2 id="slow-decline-but-still-thousands-of-reports">Slow decline but still thousands of reports</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:675px;"><p class="vanilla-image-block" style="padding-top:45.48%;"><img id="B4chNaKBrbEUxpGwKJcqZn" name="Screenshot 2026-08-31 150353" alt="Microsoft Outlook outage 8/31/26" src="https://cdn.mos.cms.futurecdn.net/B4chNaKBrbEUxpGwKJcqZn-1920-80.png" mos="" align="middle" fullscreen="" width="675" height="307" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Down Detector)</span></figcaption></figure><p>As mentioned in my last post, the reports on Down Detector have been in a steady decline, but there are still thousands of reports. Currently, it's sitting around 3,100. </p><p>There are certainly people using Outlook for personal reasons, but I think reports will decline as people across the US start to log off from work. </p></div><div class="live-content"><time datetime="2026-08-31T22:41:53+00:00">August 31, 2026 – 6:41 PM</time><h2 id="a-different-update-from-microsoft">A different update from Microsoft</h2><p>A user on Down Detector shared an alleged update from Microsoft.</p><p>Here's what it says: </p><p>We're continuing our targeted review of affected infrastructure and recent changes made to the service to definitively confirm the cause of impact. We're additionally continuing to test and implement various mitigation strategies to apply the necessary authentication component, which have so far yielded positive results. We're monitoring these tests and mitigative actions closely and will provide an estimated time to resolution as soon as one is available.</p><p>We understand the impact that events like these can have for your organization and we appreciate your patience as we work to mitigate this issue with the highest priority.</p></div><div class="live-content"><time datetime="2026-08-31T23:19:32+00:00">August 31, 2026 – 7:19 PM</time><h2 id="fixes-may-be-in-the-works">Fixes may be in the works</h2><p>It finally seems that Microsoft may have mitigations in place. Though the company has not yet provided an estimated time for a return to normal service.</p><p>"<em>We're continuing to implement a targeted mitigation to re-apply core authentication components, and we're expanding this action more widely across the affected environments as we closely track the recovery of affected downstream scenarios. Users may notice gradual recovery to the scenarios identified in the "More info" section as our mitigation action takes effect in their corresponding sections of infrastructure, and we're continuing to review whether any additional actions may be required to achieve withstanding recovery across all affected scenarios. We'll provide an estimated time to resolution as soon as one is available."</em></p></div><div class="live-content"><time datetime="2026-08-31T23:45:49+00:00">August 31, 2026 – 7:45 PM</time><h2 id="reports-continue-to-decline">Reports continue to decline</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:674px;"><p class="vanilla-image-block" style="padding-top:45.99%;"><img id="6pLQZLUvZ6om6asAdqsHWX" name="Screenshot 2026-09-01 084149" alt="Microsoft Outlook outage 8/31/26" src="https://cdn.mos.cms.futurecdn.net/6pLQZLUvZ6om6asAdqsHWX-1920-80.png" mos="" align="middle" fullscreen="" width="674" height="310" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: New York Times)</span></figcaption></figure><p>Reports on Down Detector continue their steady decline but we are hewing closer to 5 pm on the West Coast, where it's likely people are starting to logoff there and I expect reports will take a nosedive over the next hour. </p><p>Microsoft still hasn't provided an ETA for a return to normal service. </p></div><div class="live-content"><time datetime="2026-09-01T00:23:36+00:00">August 31, 2026 – 8:23 PM</time><h2 id="microsoft-response">Microsoft response</h2><p>I reached out to Microsoft to see if they could provide an ETA or any kind of update. Unfortunately, I received neither. </p><p>Here's what I was told by a Microsoft spokesperson:</p><p><em>"We're aware of an issue affecting access to Exchange Online and some other services. We know this is disruptive for customers and we appreciate their patience while we work to restore services as quickly as possible. Updates are available on the </em><a href="https://uk01.l.antigena.com/l/1UXr5cGKjjp0o2OL9xWNCMQk8F5sezohurKMdWGBF~rOWnnC0ieSs5x3_ixEJl-9fBhzYDp399RfJgJtHCUKNYeHbfKpi8t8l2IxjOeb5OqEtC_rwHfjSOAJQYNdzGxW0U1Crn-~JZJDGQG9bg6ykf_Hni7Ylhx_mcFjEwBA2R" target="_blank"><u><em>Microsoft service health status page</em></u></a><em> and </em><a href="https://x.com/MSFT365Status/status/2094455556454920701" target="_blank"><em>@MSFT365Status</em></a><em>."</em><em><strong> </strong></em></p></div><div class="live-content"><time datetime="2026-09-01T00:37:28+00:00">August 31, 2026 – 8:37 PM</time><h2 id="latest-update-from-status-page">Latest update from status page</h2><p>Here's the latest update from the Microsoft status page: </p><p><em>We're progressively restarting targeted sections of affected infrastructure to ensure the re-applied authentication components are effectively implemented across affected services. We expect this will aid the recovery of affected scenarios. Users should expect delayed delivery of backlogged messages and residual impact across downstream scenarios as these actions are continuing. We'll provide an expected recovery time as soon as one becomes available to us.</em></p><p>Still no ETA, but you might start seeing some recovery. </p></div><div class="live-content"><time datetime="2026-09-01T01:05:15+00:00">August 31, 2026 – 9:05 PM</time><h2 id="taking-a-break">Taking a break </h2><p>This is Scott. Reports on DD have fallen below 1,000 since before 8 am Pacific. However, based on the Microsoft site its not over.</p><p>I'm taking a brief dinner break. I'll be back soon with more updates.</p></div><div class="live-content"><time datetime="2026-09-01T02:08:53+00:00">August 31, 2026 – 10:08 PM</time><h2 id="email-should-be-recovered">Email should be recovered</h2><p>The most recent update from Microsoft indicates that your email should have returned to normal. Though the status says that some parts of the system aren't recovering properly so you may have issues with things ilke search.</p><p><em>"Users can expect to see continued recovery to email delivery, while users may see residual impact to downstream and dependent scenarios, including search, across affected services. "</em></p></div><div class="live-content"><time datetime="2026-09-01T02:40:43+00:00">August 31, 2026 – 10:40 PM</time><h2 id="reports-are-under-500">Reports are under 500</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:674px;"><p class="vanilla-image-block" style="padding-top:45.70%;"><img id="ou88vSP5rovPjXBiyya52Q" name="Screenshot 2026-08-31 193838" alt="Microsoft outlook outage 8-31-26" src="https://cdn.mos.cms.futurecdn.net/ou88vSP5rovPjXBiyya52Q-1920-80.png" mos="" align="middle" fullscreen="" width="674" height="308" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Down Detector)</span></figcaption></figure><p>With some recovery in effect, reports are under 500 on Down Detector and I'm seeing a several comments from people who have regained access to their accounts. </p><p>However, I am also still seeing some comments from people who can't sign in or aren't getting emails.</p><p>There is still not ETA for a full recovery and as mentioned earlier, some aspects, like search, aren't working properly. </p></div><div class="live-content"><time datetime="2026-09-01T03:55:44+00:00">August 31, 2026 – 11:55 PM</time><h2 id="calling-it">Calling it</h2><p>Well folks, I'm going to call this outage. </p><p>The reports are under 200, and the status page just updated with this notice:</p><p><em>"We're observing widespread recovery to Exchange Online mail connectivity, though the draining of backlogged mail queues may take longer for some organizations due to the volume of previously queued messages. Our recovery efforts are now focused on re-applying our targeted authentication component fix and restarting certain instances of infrastructure correlated with search functionality to ensure the full restoration of the associated scenarios."</em></p><p>With that settled, this outage appears to finally be over.<br></p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/news/live/microsoft-outlook-outage-august-31-2026</link>
                                                                            <description>
                            <![CDATA[ Microsoft Outlook appears to be suffering from an outage. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">6jx9qj3S7K2XCpnEnUQyWd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/KPG47747aX2DtH8NaaLvK-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 31 Aug 2026 18:24:37 +0000</pubDate>                                                                                                                                <updated>Tue, 01 Sep 2026 03:58:57 +0000</updated>
                                                                                                                                            <category><![CDATA[Email]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;br&gt;Send secure tips on Signal: scyo1.55.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/KPG47747aX2DtH8NaaLvK-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Outlook]]></media:description>                                                            <media:text><![CDATA[Outlook]]></media:text>
                                <media:title type="plain"><![CDATA[Outlook]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/KPG47747aX2DtH8NaaLvK-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="live-content"><p>Microsoft Outlook may be suffering an outage. Reports about the email platform started popping up on the outage-tracking site <a href="https://downdetector.com/status/outlook/" target="_blank">Down Detector</a> starting around 8:30 am Pacific. </p><p>It peaked around 9:30 am around 6,000 reports. The outage appears to be affecting access to mailboxes, delays in sending emails or failure to send. </p><p>Outlook stayed down for nearly 12 hours, last until about 8:30 pm Pacific. A fix was implemented around 6 pm that seemed to get people back online but it didn't completely work and some functions like search didn't work properly for two more hours.</p><p>According to the Microsoft 365 status page, the outage was caused by "an issue within a core authentication configuration used by multiple Microsoft 365 services is resulting in impact."</p><p>We did not see any more specific information beyond that. </p><p>Here's what we know:</p></div><div class="live-content"><time datetime="2026-08-31T18:26:22+00:00">August 31, 2026 – 2:26 PM</time><h2 id="multi-hour-outage">Multi-hour outage</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:673px;"><p class="vanilla-image-block" style="padding-top:42.79%;"><img id="E8exMaQWWNsgzYsLnRiQnN" name="Screenshot 2026-08-31 112543" alt="Microsoft Outlook outage Aug 31, 2026" src="https://cdn.mos.cms.futurecdn.net/E8exMaQWWNsgzYsLnRiQnN-1920-80.png" mos="" align="middle" fullscreen="" width="673" height="288" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Down Detector)</span></figcaption></figure><p>Reports starting appearing on Down Detector around 8:30 am Pacific but didn't peak until an hour later. </p><p>As of this posting, there are more than 5,000 reports on the outage tracker and no sign of decline.</p></div><div class="live-content"><time datetime="2026-08-31T18:28:54+00:00">August 31, 2026 – 2:28 PM</time><h2 id="microsoft-says-all-systems-quot-operational-quot">Microsoft says all systems "operational"</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LFP6P5nzNFP8AkCLiWJSvG" name="Microsoft" alt="Microsoft 365 becomes Microsoft 364" src="https://cdn.mos.cms.futurecdn.net/LFP6P5nzNFP8AkCLiWJSvG-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Paolo Bona / Shutterstock.com / Microsoft / Future)</span></figcaption></figure><p>I've checked the Microsoft 365 <a href="https://status.cloud.microsoft/m365/referrer=serviceStatusRedirect" target="_blank">status page</a>, and according to that page every Microsoft product is operational.</p></div><div class="live-content"><time datetime="2026-08-31T18:31:03+00:00">August 31, 2026 – 2:31 PM</time><h2 id="m365-twitter-account-acknowledges-problem">M365 Twitter account acknowledges problem</h2><div class="see-more see-more--clipped"><figure><blockquote class="twitter-tweet hawk-ignore" data-lang="en" cite="https://twitter.com/cantworkitout/status/2094465993007378744"><p lang="en" dir="ltr">We've confirmed that users may experience degraded functionality with various Exchange Online functionalities. We're reviewing service telemetry and diagnostic data to isolate the source of the issue. For more information, please see EX1464935 in the admin center.<a href="https://twitter.com/cantworkitout/status/2094465993007378744">August 31, 2026</a></p></blockquote></figure><div class="see-more__filter"></div></div><p>While the Microsoft 365 status page isn't showing any issues, the official <a href="https://x.com/MSFT365Status/status/2094465993007378744" target="_blank">Microsoft 365 Status X account</a> did acknowledge the issue.</p><p>"We've confirmed that users may experience degraded functionality with various Exchange Online functionalities. We're reviewing service telemetry and diagnostic data to isolate the source of the issue. For more information, please see EX1464935 in the admin center," the post reads. </p></div><div class="live-content"><time datetime="2026-08-31T18:34:28+00:00">August 31, 2026 – 2:34 PM</time><h2 id="what-issues-are-we-seeing">What issues are we seeing?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:853px;"><p class="vanilla-image-block" style="padding-top:60.96%;"><img id="77h7giWwLQ9NhbRWTtqwSd" name="outlook-iphone-shst.jpg" alt="Microsoft Outlook" src="https://cdn.mos.cms.futurecdn.net/77h7giWwLQ9NhbRWTtqwSd-1920-80.jpg" mos="" align="middle" fullscreen="" width="853" height="520" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>Based on comments from Down Detector and X, the most common issue appears to be a failure to actually send and receive emails for those who can get in.</p><p>I've seen several comments saying that the app won't even open on their computers. </p><p>"Not receiving emails since about 10:45 am, then went downhill, replies stopped coming through, then emails came to a halt, and then, besides Outlook constantly freezing, now my shared work folder is no longer showing me emails and gives an error," one said.</p><p>For those in businesses, it appears they can't even send messages between connected emails.</p></div><div class="live-content"><time datetime="2026-08-31T18:40:54+00:00">August 31, 2026 – 2:40 PM</time><h2 id="users-quot-may-experience-a-variety-of-symptoms-quot">Users "may experience a variety of symptoms"</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1981px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="QcDNYDHLZWSjpMdgzpVJQG" name="Outlook.shutterstock_2384091865.jpg" alt="Outlook on a laptop" src="https://cdn.mos.cms.futurecdn.net/QcDNYDHLZWSjpMdgzpVJQG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1981" height="1114" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>If you can get in the 365 Admin Center, this is the message you should see:</p><p>"Users may be unable to connect to, or experience degraded functionality with Exchange Online</p><p>Users may experience a variety of symptoms related to this event, including but not limited to:<br>- Delays, failures, or incomplete results when searching for content within Exchange Online mailboxes.<br>- Delays or failures when sending or receiving email messages.<br>- Authentication-related errors when accessing Exchange Online services.<br>- Difficulties accessing or performing actions within Exchange administration experiences.<br>- Intermittent failures affecting mailbox operations and message delivery workflows."</p></div><div class="live-content"><time datetime="2026-08-31T18:51:20+00:00">August 31, 2026 – 2:51 PM</time><h2 id="slow-decline">Slow decline</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:675px;"><p class="vanilla-image-block" style="padding-top:45.63%;"><img id="LCj29zbxdQbXSkRrDP5HXk" name="Screenshot 2026-08-31 114803" alt="Microsoft Outlook outage 8/31/26" src="https://cdn.mos.cms.futurecdn.net/LCj29zbxdQbXSkRrDP5HXk-1920-80.png" mos="" align="middle" fullscreen="" width="675" height="308" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Down Detector)</span></figcaption></figure><p>Over on Down Detector, reports have started to decline. </p><p>The peak around 9:30 a.m. was around 6,000 reports. As of 11:45 a.m. Pacific, reports are closer to 4,500. </p><p>I've seen some people in offices say that portions of their teams are able to access the email platform, but some of the team is still down.</p></div><div class="live-content"><time datetime="2026-08-31T19:09:19+00:00">August 31, 2026 – 3:09 PM</time><h2 id="no-updates-from-microsoft">No updates from Microsoft</h2><p>Other than the couple tweets and the Admin Center update, we haven't seen any other updates from Microsoft. </p><p>It's not clear what work is being done to resolve the outage.</p></div><div class="live-content"><time datetime="2026-08-31T19:26:40+00:00">August 31, 2026 – 3:26 PM</time><h2 id="is-outlook-down-for-you">Is Outlook down for you?</h2><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W5E2wW"></div>                            </div>                            <script src="https://kwizly.com/embed/W5E2wW.js" async></script><p>Let us know in the comments what issues you're experiencing. </p></div><div class="live-content"><time datetime="2026-08-31T19:44:03+00:00">August 31, 2026 – 3:44 PM</time><h2 id="outage-has-last-4-hours">Outage has last 4 hours</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ytx7gsKrfFbWNQV8E7E9NB" name="MicrosoftOutlook.jpg" alt="The Microsoft Outlook app open on a phone" src="https://cdn.mos.cms.futurecdn.net/ytx7gsKrfFbWNQV8E7E9NB-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>With no updates from Microsoft, today's Outlook outage has lasted for more than four hours.</p><p>As of this posting, despite declining reports it's not clear when the outage might end.</p></div><div class="live-content"><time datetime="2026-08-31T19:52:00+00:00">August 31, 2026 – 3:52 PM</time><h2 id="update-from-microsoft">Update from Microsoft</h2><p>On the <a href="https://status.cloud.microsoft/m365/referrer=serviceStatusRedirect" target="_blank">M365 status page</a>, a new update just popped up. </p><p>Here it is: </p><p>OneDrive for Business and SharePoint Online: Users may be unable to load or refresh portions of OneDrive and SharePoint, including account and storage information, search results, Favorites, Followed and Shared With Me content, recent files, lists, and news. Some users may also experience delayed or failed file opening, Office policy-label retrieval, OneDrive synchronization, mobile camera upload, and video playback. Users may see partial page failures, missing or stale content, repeated retries, and operation timeouts rather than a complete platform outage.</p><p>Exchange Online: Users may be unable to connect to, or experience degraded functionality, with Exchange Online. All connection methods are affected. </p><p>Microsoft Teams: Users may experience issues with calendar functionality and search. Users’ presence may be stale and not update automatically or through manual adjustment. User location adjustment may fail. </p><p>Microsoft Purview: Users may face intermittent authorization failures across solutions in Purview. Purview admins can’t access the portal. Additionally, in Microsoft Purview Communication Compliance, users may see errors when loading Communication Compliance policies and Data Loss Prevention (DLP) policies. Communication Compliance policy creation and evaluation may be delayed. </p><p>Microsoft Defender XDR: Users may experience intermittent authorization failures across solutions in Defender. </p><p><strong>Current status: </strong>We're continuing to perform comprehensive tests to ensure our mitigation strategy effectively resolves the issue without introducing additional impact. In parallel, we're exploring alternative remediation avenues to minimize impact in the interim. </p><p><strong>Scope of impact: </strong>Users attempting to perform any of the outlined impact scenarios may be affected by this event. </p><p><strong>Preliminary root cause: </strong>An issue within a core authentication configuration used by multiple Microsoft 365 services is resulting in impact. </p></div><div class="live-content"><time datetime="2026-08-31T20:14:23+00:00">August 31, 2026 – 4:14 PM</time><h2 id="snail-mail">Snail mail</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gWoW8UhSG7R78YpMZFCbYT" name="GettyImages-78486862edit.jpg" alt="Letter posted through the letterbox" src="https://cdn.mos.cms.futurecdn.net/gWoW8UhSG7R78YpMZFCbYT-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>Not much new to share with you but this message from a frustrated user on Down Detector gave me a chuckle.</p><p>"Now distributing stamps & envelopes to our team. Printer is working overtime."</p></div><div class="live-content"><time datetime="2026-08-31T20:39:57+00:00">August 31, 2026 – 4:39 PM</time><h2 id="outage-appears-international">Outage appears international</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SvzWgUkw8ivTUYcraTxj4n" name="TG-worldle-lede-shutterstock.jpg" alt="An image of the globe on a blue background. The globe has a green question mark formed from land." src="https://cdn.mos.cms.futurecdn.net/SvzWgUkw8ivTUYcraTxj4n-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Users reporting in on Down Detector are claiming to be from all over the country including New York, Las Vegas, Kentucky, Indianapolis and more.</p><p>I'm also seeing some reports from other countries including Guatamala City, Montevideo, Uruguay and Argentina.</p></div><div class="live-content"><time datetime="2026-08-31T21:23:00+00:00">August 31, 2026 – 5:23 PM</time><h2 id="where-we-stand-after-6-hours">Where we stand after 6 hours</h2><p>Unfortunately, pretty much the same. </p><p>The M365 status page had a recent update that shows Microsoft's engineers are working on the issue but it doesn't appear relief is coming any time soon.</p><p>"Current status: We're reexamining recent changes made to the service to determine why the authentication components aren't being deployed as expected. Additionally, we are exploring every avenue to safely restore the components, including reverting an update the affected infrastructure recently received. We're performing additional tests to determine whether this will provide relief."</p><p>Reports on Down Detector have declined but I think that's more because people on the East Coast are starting to log off for the day.</p></div><div class="live-content"><time datetime="2026-08-31T22:07:39+00:00">August 31, 2026 – 6:07 PM</time><h2 id="slow-decline-but-still-thousands-of-reports">Slow decline but still thousands of reports</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:675px;"><p class="vanilla-image-block" style="padding-top:45.48%;"><img id="B4chNaKBrbEUxpGwKJcqZn" name="Screenshot 2026-08-31 150353" alt="Microsoft Outlook outage 8/31/26" src="https://cdn.mos.cms.futurecdn.net/B4chNaKBrbEUxpGwKJcqZn-1920-80.png" mos="" align="middle" fullscreen="" width="675" height="307" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Down Detector)</span></figcaption></figure><p>As mentioned in my last post, the reports on Down Detector have been in a steady decline, but there are still thousands of reports. Currently, it's sitting around 3,100. </p><p>There are certainly people using Outlook for personal reasons, but I think reports will decline as people across the US start to log off from work. </p></div><div class="live-content"><time datetime="2026-08-31T22:41:53+00:00">August 31, 2026 – 6:41 PM</time><h2 id="a-different-update-from-microsoft">A different update from Microsoft</h2><p>A user on Down Detector shared an alleged update from Microsoft.</p><p>Here's what it says: </p><p>We're continuing our targeted review of affected infrastructure and recent changes made to the service to definitively confirm the cause of impact. We're additionally continuing to test and implement various mitigation strategies to apply the necessary authentication component, which have so far yielded positive results. We're monitoring these tests and mitigative actions closely and will provide an estimated time to resolution as soon as one is available.</p><p>We understand the impact that events like these can have for your organization and we appreciate your patience as we work to mitigate this issue with the highest priority.</p></div><div class="live-content"><time datetime="2026-08-31T23:19:32+00:00">August 31, 2026 – 7:19 PM</time><h2 id="fixes-may-be-in-the-works">Fixes may be in the works</h2><p>It finally seems that Microsoft may have mitigations in place. Though the company has not yet provided an estimated time for a return to normal service.</p><p>"<em>We're continuing to implement a targeted mitigation to re-apply core authentication components, and we're expanding this action more widely across the affected environments as we closely track the recovery of affected downstream scenarios. Users may notice gradual recovery to the scenarios identified in the "More info" section as our mitigation action takes effect in their corresponding sections of infrastructure, and we're continuing to review whether any additional actions may be required to achieve withstanding recovery across all affected scenarios. We'll provide an estimated time to resolution as soon as one is available."</em></p></div><div class="live-content"><time datetime="2026-08-31T23:45:49+00:00">August 31, 2026 – 7:45 PM</time><h2 id="reports-continue-to-decline">Reports continue to decline</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:674px;"><p class="vanilla-image-block" style="padding-top:45.99%;"><img id="6pLQZLUvZ6om6asAdqsHWX" name="Screenshot 2026-09-01 084149" alt="Microsoft Outlook outage 8/31/26" src="https://cdn.mos.cms.futurecdn.net/6pLQZLUvZ6om6asAdqsHWX-1920-80.png" mos="" align="middle" fullscreen="" width="674" height="310" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: New York Times)</span></figcaption></figure><p>Reports on Down Detector continue their steady decline but we are hewing closer to 5 pm on the West Coast, where it's likely people are starting to logoff there and I expect reports will take a nosedive over the next hour. </p><p>Microsoft still hasn't provided an ETA for a return to normal service. </p></div><div class="live-content"><time datetime="2026-09-01T00:23:36+00:00">August 31, 2026 – 8:23 PM</time><h2 id="microsoft-response">Microsoft response</h2><p>I reached out to Microsoft to see if they could provide an ETA or any kind of update. Unfortunately, I received neither. </p><p>Here's what I was told by a Microsoft spokesperson:</p><p><em>"We're aware of an issue affecting access to Exchange Online and some other services. We know this is disruptive for customers and we appreciate their patience while we work to restore services as quickly as possible. Updates are available on the </em><a href="https://uk01.l.antigena.com/l/1UXr5cGKjjp0o2OL9xWNCMQk8F5sezohurKMdWGBF~rOWnnC0ieSs5x3_ixEJl-9fBhzYDp399RfJgJtHCUKNYeHbfKpi8t8l2IxjOeb5OqEtC_rwHfjSOAJQYNdzGxW0U1Crn-~JZJDGQG9bg6ykf_Hni7Ylhx_mcFjEwBA2R" target="_blank"><u><em>Microsoft service health status page</em></u></a><em> and </em><a href="https://x.com/MSFT365Status/status/2094455556454920701" target="_blank"><em>@MSFT365Status</em></a><em>."</em><em><strong> </strong></em></p></div><div class="live-content"><time datetime="2026-09-01T00:37:28+00:00">August 31, 2026 – 8:37 PM</time><h2 id="latest-update-from-status-page">Latest update from status page</h2><p>Here's the latest update from the Microsoft status page: </p><p><em>We're progressively restarting targeted sections of affected infrastructure to ensure the re-applied authentication components are effectively implemented across affected services. We expect this will aid the recovery of affected scenarios. Users should expect delayed delivery of backlogged messages and residual impact across downstream scenarios as these actions are continuing. We'll provide an expected recovery time as soon as one becomes available to us.</em></p><p>Still no ETA, but you might start seeing some recovery. </p></div><div class="live-content"><time datetime="2026-09-01T01:05:15+00:00">August 31, 2026 – 9:05 PM</time><h2 id="taking-a-break">Taking a break </h2><p>This is Scott. Reports on DD have fallen below 1,000 since before 8 am Pacific. However, based on the Microsoft site its not over.</p><p>I'm taking a brief dinner break. I'll be back soon with more updates.</p></div><div class="live-content"><time datetime="2026-09-01T02:08:53+00:00">August 31, 2026 – 10:08 PM</time><h2 id="email-should-be-recovered">Email should be recovered</h2><p>The most recent update from Microsoft indicates that your email should have returned to normal. Though the status says that some parts of the system aren't recovering properly so you may have issues with things ilke search.</p><p><em>"Users can expect to see continued recovery to email delivery, while users may see residual impact to downstream and dependent scenarios, including search, across affected services. "</em></p></div><div class="live-content"><time datetime="2026-09-01T02:40:43+00:00">August 31, 2026 – 10:40 PM</time><h2 id="reports-are-under-500">Reports are under 500</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:674px;"><p class="vanilla-image-block" style="padding-top:45.70%;"><img id="ou88vSP5rovPjXBiyya52Q" name="Screenshot 2026-08-31 193838" alt="Microsoft outlook outage 8-31-26" src="https://cdn.mos.cms.futurecdn.net/ou88vSP5rovPjXBiyya52Q-1920-80.png" mos="" align="middle" fullscreen="" width="674" height="308" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Down Detector)</span></figcaption></figure><p>With some recovery in effect, reports are under 500 on Down Detector and I'm seeing a several comments from people who have regained access to their accounts. </p><p>However, I am also still seeing some comments from people who can't sign in or aren't getting emails.</p><p>There is still not ETA for a full recovery and as mentioned earlier, some aspects, like search, aren't working properly. </p></div><div class="live-content"><time datetime="2026-09-01T03:55:44+00:00">August 31, 2026 – 11:55 PM</time><h2 id="calling-it">Calling it</h2><p>Well folks, I'm going to call this outage. </p><p>The reports are under 200, and the status page just updated with this notice:</p><p><em>"We're observing widespread recovery to Exchange Online mail connectivity, though the draining of backlogged mail queues may take longer for some organizations due to the volume of previously queued messages. Our recovery efforts are now focused on re-applying our targeted authentication component fix and restarting certain instances of infrastructure correlated with search functionality to ensure the full restoration of the associated scenarios."</em></p><p>With that settled, this outage appears to finally be over.<br></p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Meta agrees to pay $17.1 billion to settle claims Facebook and Instagram harm children — here's what you need to know ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Meta has been in plenty of hot water as of late.</p><p>The company’s smart glasses have <a href="https://www.tomsguide.com/computing/smart-glasses/im-worried-smart-glasses-might-ruin-wearable-displays-and-of-course-its-the-cameras">gotten a ton of ire</a> as people have pointed to privacy concerns over users secretly filming random passersby and whoever else they please (there’s even a <a href="https://futurism.com/artificial-intelligence/teen-boys-meta-glasses-harass-bully-girls-school" target="_blank">report</a> about teenage boys using them to pester girls at middle and high schools).</p><p>Meta then found itself <a href="https://www.tomsguide.com/computing/social-media/i-read-all-233-pages-of-metas-usd1-4-trillion-lawsuit-heres-why-facebook-and-instagram-may-never-be-the-same">in the middle of a lawsuit</a> that saw 29 states, co-led by California Attorney General Rob Bonta and the AGs from Colorado, New Jersey and Kentucky, allege that its social media platforms are addictive to children, mislead consumers about those young users’ safety on said platforms and inappropriately gather children's personal data. </p><p>That lawsuit has now met its end, as Meta has just agreed to pay a settlement of $17.1 billion — according to a statement made by California AG Rob Bonta. The state of California could receive between $1.5 billion and $2.1 billion if the court authorizes the settlement. As for New York, its attorney general <a href="https://ag.ny.gov/press-release/2026/attorney-general-james-secures-171-billion-and-groundbreaking-reforms-meta" target="_blank">announced</a> that the state will get up to $1.15 billion and likely put it toward kids' education and social services meant to assist youngsters struggling with their social media addiction. Head to this <a href="https://www.kcra.com/article/meta-settlement-state-map/73535639" target="_blank">link</a> to see how much each state will receive from this monumental Meta settlement.</p><p>With this settlement in place comes a host of changes Meta has been ordered to make to Facebook and Instagram. Here’s what these changes could mean for parents with children who frequently use both platforms and how they could result in a positive outcome for them.</p><h2 id="less-addictive-and-harmful-social-media-spaces-for-kids-of-all-ages">Less addictive and harmful social media spaces for kids of all ages</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KNsGDPbr5iYcc6M8azdQRa" name="shutterstock_2696215553-16x9" alt="facebook" src="https://cdn.mos.cms.futurecdn.net/KNsGDPbr5iYcc6M8azdQRa-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>There’s a wealth of changes Meta must now make according to the measures detailed in the settlement, such as:</p><ul><li><strong>A default daily time limit of two hours for users under 18 years of age that can only be lifted by a parent</strong></li><li><strong>A default nighttime block between midnight and 06:00 for users under 18 years of age that can only be lifted by a parent</strong></li><li><strong>Default blocks on notifications to users under 18 years of age from 22:00 to 07:00 and during the school day</strong></li><li><strong>An enhanced mechanism for teenagers to report potentially harmful content and a requirement that Meta respond to 90% of those reports within six hours</strong></li><li><strong>A ban on displaying numbers of likes or reactions to users under 18 years of age</strong></li><li><strong>A ban on cosmetic procedure image filters for users under 18 years of age</strong></li><li><strong>An option for users under 18 years of age to have a non-personalised feed</strong></li><li><strong>A commitment to enhance parent supervision tools</strong></li></ul><p>That settlement also notes that Meta has agreed to the following terms and conditions:</p><ul><li><strong>Institute robust age assurance measures to detect users under 18, as well as measures to identify and remove users under 13 years of age</strong></li><li><strong>Use an independent auditor with expansive access to information and resources</strong></li><li><strong>Be subject to an injunction prohibiting it from making "further false, misleading, or deceptive statements around its safety features"</strong></li></ul><p>In a statement that looks to reassure everyone that kids will be more protected across their social media platforms, Meta had this to say: “Ensuring teens have a safe and productive experience on our platforms is an absolute imperative for Meta. We want to get this right for parents and teens.”</p><p>With all these newly instituted measures in place, Facebook and Instagram could become far less of an addictive haven for children who want to do nothing but endless scrolling and discover content that could be extremely harmful to their mental well-being. Strict usage time limits, parents getting more control over the type of content their kids see, fewer distracting notifications popping up on kids’ screens and young users having less exposure to detrimental content could go a long way toward making Meta’s platforms more approachable for younger users. </p><p>While instituting a two-hour limit for kids using Facebook and Instagram is good, kids may still use that time to expose themselves to harmful content. With parents getting more control over their kids’ social media accounts, here’s hoping their stronger involvement will make children less susceptible to coming across said content.</p><h2 id="bottom-line-8">Bottom line</h2><p>Meta being forced to take responsibility for the harm its social media platforms have done to children is major. While this development doesn’t automatically make Facebook and Instagram 100% safe for kids from this point forward, it’s a good first step toward companies like Meta recognizing the ill effects their products have had on children.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/perplexitys-new-local-first-ai-runs-on-your-pc-and-asks-before-using-the-cloud" target="_blank">Perplexity’s new local-first AI runs on your PC — and asks before using the cloud</a></li><li><a href="https://www.tomsguide.com/ai/chatgpt/chatgpt-can-learn-your-repetitive-tasks-by-watching-you-here-are-7-prompts-to-try" target="_blank">ChatGPT can learn your repetitive tasks by watching you — here are 7 prompts to try</a></li><li><a href="https://www.tomsguide.com/ai/ai-could-transform-healthcare-for-the-better-but-this-doctor-says-theres-one-thing-it-should-never-do" target="_blank">AI could transform healthcare for the better — but this doctor says there’s one thing it should never do</a></li></ul><div data-widget-type="comparison" data-model-name="Apple MacBook Neo"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/meta-agrees-to-pay-usd17-1-billion-to-settle-claims-that-facebook-and-instagram-harm-children-heres-what-you-need-to-know</link>
                                                                            <description>
                            <![CDATA[ Meta agrees a massive settlement over alleged transgressions connected to the mental health harm its social media sites inflict on kids; major changes are on the way. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Wktj8WM2G9ekMn4TfqR929</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/qJSCzoLLLUzgtPVzqhx8kS-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 26 Aug 2026 15:18:34 +0000</pubDate>                                                                                                                                <updated>Thu, 27 Aug 2026 13:09:38 +0000</updated>
                                                                                                                                            <category><![CDATA[Social Media]]></category>
                                                    <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/NVtYYXr3tEPUE67jf3HtXM-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/qJSCzoLLLUzgtPVzqhx8kS-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[meta]]></media:description>                                                            <media:text><![CDATA[meta]]></media:text>
                                <media:title type="plain"><![CDATA[meta]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/qJSCzoLLLUzgtPVzqhx8kS-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Meta has been in plenty of hot water as of late.</p><p>The company’s smart glasses have <a href="https://www.tomsguide.com/computing/smart-glasses/im-worried-smart-glasses-might-ruin-wearable-displays-and-of-course-its-the-cameras">gotten a ton of ire</a> as people have pointed to privacy concerns over users secretly filming random passersby and whoever else they please (there’s even a <a href="https://futurism.com/artificial-intelligence/teen-boys-meta-glasses-harass-bully-girls-school" target="_blank">report</a> about teenage boys using them to pester girls at middle and high schools).</p><p>Meta then found itself <a href="https://www.tomsguide.com/computing/social-media/i-read-all-233-pages-of-metas-usd1-4-trillion-lawsuit-heres-why-facebook-and-instagram-may-never-be-the-same">in the middle of a lawsuit</a> that saw 29 states, co-led by California Attorney General Rob Bonta and the AGs from Colorado, New Jersey and Kentucky, allege that its social media platforms are addictive to children, mislead consumers about those young users’ safety on said platforms and inappropriately gather children's personal data. </p><p>That lawsuit has now met its end, as Meta has just agreed to pay a settlement of $17.1 billion — according to a statement made by California AG Rob Bonta. The state of California could receive between $1.5 billion and $2.1 billion if the court authorizes the settlement. As for New York, its attorney general <a href="https://ag.ny.gov/press-release/2026/attorney-general-james-secures-171-billion-and-groundbreaking-reforms-meta" target="_blank">announced</a> that the state will get up to $1.15 billion and likely put it toward kids' education and social services meant to assist youngsters struggling with their social media addiction. Head to this <a href="https://www.kcra.com/article/meta-settlement-state-map/73535639" target="_blank">link</a> to see how much each state will receive from this monumental Meta settlement.</p><p>With this settlement in place comes a host of changes Meta has been ordered to make to Facebook and Instagram. Here’s what these changes could mean for parents with children who frequently use both platforms and how they could result in a positive outcome for them.</p><h2 id="less-addictive-and-harmful-social-media-spaces-for-kids-of-all-ages">Less addictive and harmful social media spaces for kids of all ages</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KNsGDPbr5iYcc6M8azdQRa" name="shutterstock_2696215553-16x9" alt="facebook" src="https://cdn.mos.cms.futurecdn.net/KNsGDPbr5iYcc6M8azdQRa-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>There’s a wealth of changes Meta must now make according to the measures detailed in the settlement, such as:</p><ul><li><strong>A default daily time limit of two hours for users under 18 years of age that can only be lifted by a parent</strong></li><li><strong>A default nighttime block between midnight and 06:00 for users under 18 years of age that can only be lifted by a parent</strong></li><li><strong>Default blocks on notifications to users under 18 years of age from 22:00 to 07:00 and during the school day</strong></li><li><strong>An enhanced mechanism for teenagers to report potentially harmful content and a requirement that Meta respond to 90% of those reports within six hours</strong></li><li><strong>A ban on displaying numbers of likes or reactions to users under 18 years of age</strong></li><li><strong>A ban on cosmetic procedure image filters for users under 18 years of age</strong></li><li><strong>An option for users under 18 years of age to have a non-personalised feed</strong></li><li><strong>A commitment to enhance parent supervision tools</strong></li></ul><p>That settlement also notes that Meta has agreed to the following terms and conditions:</p><ul><li><strong>Institute robust age assurance measures to detect users under 18, as well as measures to identify and remove users under 13 years of age</strong></li><li><strong>Use an independent auditor with expansive access to information and resources</strong></li><li><strong>Be subject to an injunction prohibiting it from making "further false, misleading, or deceptive statements around its safety features"</strong></li></ul><p>In a statement that looks to reassure everyone that kids will be more protected across their social media platforms, Meta had this to say: “Ensuring teens have a safe and productive experience on our platforms is an absolute imperative for Meta. We want to get this right for parents and teens.”</p><p>With all these newly instituted measures in place, Facebook and Instagram could become far less of an addictive haven for children who want to do nothing but endless scrolling and discover content that could be extremely harmful to their mental well-being. Strict usage time limits, parents getting more control over the type of content their kids see, fewer distracting notifications popping up on kids’ screens and young users having less exposure to detrimental content could go a long way toward making Meta’s platforms more approachable for younger users. </p><p>While instituting a two-hour limit for kids using Facebook and Instagram is good, kids may still use that time to expose themselves to harmful content. With parents getting more control over their kids’ social media accounts, here’s hoping their stronger involvement will make children less susceptible to coming across said content.</p><h2 id="bottom-line-8">Bottom line</h2><p>Meta being forced to take responsibility for the harm its social media platforms have done to children is major. While this development doesn’t automatically make Facebook and Instagram 100% safe for kids from this point forward, it’s a good first step toward companies like Meta recognizing the ill effects their products have had on children.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/perplexitys-new-local-first-ai-runs-on-your-pc-and-asks-before-using-the-cloud" target="_blank">Perplexity’s new local-first AI runs on your PC — and asks before using the cloud</a></li><li><a href="https://www.tomsguide.com/ai/chatgpt/chatgpt-can-learn-your-repetitive-tasks-by-watching-you-here-are-7-prompts-to-try" target="_blank">ChatGPT can learn your repetitive tasks by watching you — here are 7 prompts to try</a></li><li><a href="https://www.tomsguide.com/ai/ai-could-transform-healthcare-for-the-better-but-this-doctor-says-theres-one-thing-it-should-never-do" target="_blank">AI could transform healthcare for the better — but this doctor says there’s one thing it should never do</a></li></ul><div data-widget-type="comparison" data-model-name="Apple MacBook Neo"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Your private Instagram profile may not hide as much as you think — here's what an investigation found ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Privacy concerns around social media have escalated significantly in recent years, with users increasingly cautious about what they share online. </p><p>A new experiment by <a href="https://www.comparethemarket.com/home-insurance/" target="_blank">Compare the Market</a> tested exactly how much information can actually be hidden when you set your Instagram to private. The results are sobering. </p><p>A licensed investigator was tasked with locating the home addresses of nine volunteers using only publicly available information. </p><p>Despite four of them having private Instagram profiles, the investigator identified the addresses of seven out of nine. The fastest was located in just 15 minutes, with the first lead found in 50 seconds.</p><h2 id="what-the-investigation-revealed">What the investigation revealed</h2><p>Colin Crowden, Intelligence Director at <a href="https://globalprotectrisk.com/">Global Protect</a> and an Open-Source Intelligence expert, conducted the investigation. What he discovered challenges the assumption that private accounts provide adequate protection. </p><p>Beyond identifying addresses, the investigation uncovered four complete property plans revealing internal home layouts. In one particularly concerning finding, Crowden established that a volunteer was away on holiday, confirming their property was unoccupied. </p><p>The speed at which information was gathered highlights a critical vulnerability. Information shared by friends and family, location tags from previous posts, property details visible in photos, and data from other online sources all contribute to a broader picture. </p><p>Crowden explains the issue clearly: "Information that appears harmless in isolation can become much more revealing when viewed alongside other publicly available information. This isn't about any one post creating a security risk; it's about how different pieces of information can build up over time."</p><h2 id="why-your-private-account-isn-39-t-enough">Why your private account isn't enough</h2><p>The experiment demonstrates that privacy settings alone offer incomplete protection. Even if your Instagram is private, tagged photos from friends, public check-ins, or incidental details in backgrounds can expose your location and home information. </p><p>The investigation reveals that the combination of data sources, not any single post, creates the vulnerability. Compare the Market's home insurance expert Helen Phipps worked with Crowden to develop concrete recommendations for reducing your digital footprint. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-exVnJO"></div>                            </div>                            <script src="https://kwizly.com/embed/exVnJO.js" async></script><h3 class="article-body__section" id="section-practical-steps-to-protect-yourself"><span>Practical steps to protect yourself </span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AotcNKj6nhSo7ryq2Pw9iY" name="shutterstock_2377182091-16x9" alt="A person looking at a phone with a digital warning sign over it" src="https://cdn.mos.cms.futurecdn.net/v2/w:1920,t:0,l:0,cw:2000,ch:1125,q:80/AotcNKj6nhSo7ryq2Pw9iY.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><h2 id="wait-until-you-39-re-home-to-post">Wait until you're home to post</h2><p>If possible, <strong>wait until you're home before posting holiday photos</strong> rather than sharing in real time. This prevents anyone from knowing your property is unoccupied. If you do post while away, <strong>avoid revealing exactly where you are or how long you'll be away for</strong>.</p><h2 id="review-your-privacy-settings-before-you-travel">Review your privacy settings before you travel</h2><p>Check who can see your posts, stories, and tagged content. <strong>Consider setting your accounts to private and reviewing your followers</strong> so that holiday updates are only visible to people you trust. This step takes minutes but significantly limits exposure.</p><h2 id="coordinate-with-friends-and-family">Coordinate with friends and family</h2><p>Your friends and family can inadvertently expose you. <strong>Ask them not to share real-time updates if you're traveling together or post photos of your property if they're housesitting</strong>. </p><p>People often don't realize they're compromising your security by tagging you in posts or sharing location details.</p><h2 id="turn-off-automatic-location-tags">Turn off automatic location tags</h2><p>Disable geotagging in your social media settings entirely. On Instagram, <strong>this requires revoking access directly through your phone’s system settings under Privacy & Security (iOS) or Apps (Android) </strong>rather than within the app itself. </p><p>Location sharing can unintentionally reveal your whereabouts even when you're not posting in real time. This is one of the easiest settings to overlook but also one of the most revealing.</p><h2 id="audit-your-digital-footprint">Audit your digital footprint</h2><p>Search for yourself online periodically to see what personal details are publicly accessible, and remove anything that compromises your privacy. <strong>Pay special attention to old social media posts containing house numbers, street signs, car license plates, or identifiable landmarks</strong>. </p><p>If you want to take action right now, I have a step-by-step walkthrough covering <a href="https://www.tomsguide.com/computing/online-security/your-personal-information-is-everywhere-online-5-ways-to-start-removing-it">5 ways to start removing your personal information from the internet</a>. You should also check out <a href="https://www.tomsguide.com/phones/how-to-stop-google-maps-from-displaying-your-home-to-strangers">how to blur your home in Google Maps Street View</a>.</p><h2 id="combine-digital-caution-with-home-security">Combine digital caution with home security</h2><p>Beyond digital precautions, pair online caution with classic home security measures. <strong>Set light timers to create the appearance someone's home, test all locks, arm your alarm system, and ask a neighbor to collect post and manage bins </strong>so the house looks lived-in. </p><p>Ensure your home insurance policy covers the duration of your trip and review any conditions that apply while your property is unoccupied.</p><p>This investigation raises important questions about privacy in the digital age. Have you changed your social media habits? What's your biggest concern about your digital footprint? Share your thoughts in the comments below.</p><p>For a complete breakdown of Compare the Market's methodology and findings, read the full <a href="https://www.comparethemarket.com/home-insurance/the-online-safety-experiment/" target="_blank">Online Safety Study here.</a></p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/social-media/metas-new-ai-tool-uses-your-instagram-photos-by-default-heres-how-to-opt-out"><strong>Meta's new AI tool uses your Instagram photos by default — here’s how to opt out</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/ai-image-video/all-she-did-was-change-the-face-i-spoke-to-a-creator-whose-video-was-stolen-and-reskinned-with-ai"><strong>Inside the dark market stealing real identities online</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/social-media/instagrams-new-instants-feature-is-driving-users-crazy-heres-how-to-disable-it"><strong>Instagram's 'instants' feature is driving users crazy. Here's how to disable it</strong></a><strong></strong></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/social-media/your-private-instagram-profile-may-not-hide-as-much-as-you-think-heres-what-an-investigation-found</link>
                                                                            <description>
                            <![CDATA[ Even with a private Instagram account, a new investigation demonstrates how easily your personal information can be reconstructed. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">XNrepozpdpU95AL7jEYupZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/jPZiwUxvsgL5bSjBsCdCvB-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 26 Aug 2026 07:30:00 +0000</pubDate>                                                                                                                                <updated>Wed, 26 Aug 2026 14:03:03 +0000</updated>
                                                                                                                                            <category><![CDATA[Social Media]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/jPZiwUxvsgL5bSjBsCdCvB-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Instagram app logo on a phone display]]></media:description>                                                            <media:text><![CDATA[Instagram app logo on a phone display]]></media:text>
                                <media:title type="plain"><![CDATA[Instagram app logo on a phone display]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/jPZiwUxvsgL5bSjBsCdCvB-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Privacy concerns around social media have escalated significantly in recent years, with users increasingly cautious about what they share online. </p><p>A new experiment by <a href="https://www.comparethemarket.com/home-insurance/" target="_blank">Compare the Market</a> tested exactly how much information can actually be hidden when you set your Instagram to private. The results are sobering. </p><p>A licensed investigator was tasked with locating the home addresses of nine volunteers using only publicly available information. </p><p>Despite four of them having private Instagram profiles, the investigator identified the addresses of seven out of nine. The fastest was located in just 15 minutes, with the first lead found in 50 seconds.</p><h2 id="what-the-investigation-revealed">What the investigation revealed</h2><p>Colin Crowden, Intelligence Director at <a href="https://globalprotectrisk.com/">Global Protect</a> and an Open-Source Intelligence expert, conducted the investigation. What he discovered challenges the assumption that private accounts provide adequate protection. </p><p>Beyond identifying addresses, the investigation uncovered four complete property plans revealing internal home layouts. In one particularly concerning finding, Crowden established that a volunteer was away on holiday, confirming their property was unoccupied. </p><p>The speed at which information was gathered highlights a critical vulnerability. Information shared by friends and family, location tags from previous posts, property details visible in photos, and data from other online sources all contribute to a broader picture. </p><p>Crowden explains the issue clearly: "Information that appears harmless in isolation can become much more revealing when viewed alongside other publicly available information. This isn't about any one post creating a security risk; it's about how different pieces of information can build up over time."</p><h2 id="why-your-private-account-isn-39-t-enough">Why your private account isn't enough</h2><p>The experiment demonstrates that privacy settings alone offer incomplete protection. Even if your Instagram is private, tagged photos from friends, public check-ins, or incidental details in backgrounds can expose your location and home information. </p><p>The investigation reveals that the combination of data sources, not any single post, creates the vulnerability. Compare the Market's home insurance expert Helen Phipps worked with Crowden to develop concrete recommendations for reducing your digital footprint. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-exVnJO"></div>                            </div>                            <script src="https://kwizly.com/embed/exVnJO.js" async></script><h3 class="article-body__section" id="section-practical-steps-to-protect-yourself"><span>Practical steps to protect yourself </span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AotcNKj6nhSo7ryq2Pw9iY" name="shutterstock_2377182091-16x9" alt="A person looking at a phone with a digital warning sign over it" src="https://cdn.mos.cms.futurecdn.net/v2/w:1920,t:0,l:0,cw:2000,ch:1125,q:80/AotcNKj6nhSo7ryq2Pw9iY.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><h2 id="wait-until-you-39-re-home-to-post">Wait until you're home to post</h2><p>If possible, <strong>wait until you're home before posting holiday photos</strong> rather than sharing in real time. This prevents anyone from knowing your property is unoccupied. If you do post while away, <strong>avoid revealing exactly where you are or how long you'll be away for</strong>.</p><h2 id="review-your-privacy-settings-before-you-travel">Review your privacy settings before you travel</h2><p>Check who can see your posts, stories, and tagged content. <strong>Consider setting your accounts to private and reviewing your followers</strong> so that holiday updates are only visible to people you trust. This step takes minutes but significantly limits exposure.</p><h2 id="coordinate-with-friends-and-family">Coordinate with friends and family</h2><p>Your friends and family can inadvertently expose you. <strong>Ask them not to share real-time updates if you're traveling together or post photos of your property if they're housesitting</strong>. </p><p>People often don't realize they're compromising your security by tagging you in posts or sharing location details.</p><h2 id="turn-off-automatic-location-tags">Turn off automatic location tags</h2><p>Disable geotagging in your social media settings entirely. On Instagram, <strong>this requires revoking access directly through your phone’s system settings under Privacy & Security (iOS) or Apps (Android) </strong>rather than within the app itself. </p><p>Location sharing can unintentionally reveal your whereabouts even when you're not posting in real time. This is one of the easiest settings to overlook but also one of the most revealing.</p><h2 id="audit-your-digital-footprint">Audit your digital footprint</h2><p>Search for yourself online periodically to see what personal details are publicly accessible, and remove anything that compromises your privacy. <strong>Pay special attention to old social media posts containing house numbers, street signs, car license plates, or identifiable landmarks</strong>. </p><p>If you want to take action right now, I have a step-by-step walkthrough covering <a href="https://www.tomsguide.com/computing/online-security/your-personal-information-is-everywhere-online-5-ways-to-start-removing-it">5 ways to start removing your personal information from the internet</a>. You should also check out <a href="https://www.tomsguide.com/phones/how-to-stop-google-maps-from-displaying-your-home-to-strangers">how to blur your home in Google Maps Street View</a>.</p><h2 id="combine-digital-caution-with-home-security">Combine digital caution with home security</h2><p>Beyond digital precautions, pair online caution with classic home security measures. <strong>Set light timers to create the appearance someone's home, test all locks, arm your alarm system, and ask a neighbor to collect post and manage bins </strong>so the house looks lived-in. </p><p>Ensure your home insurance policy covers the duration of your trip and review any conditions that apply while your property is unoccupied.</p><p>This investigation raises important questions about privacy in the digital age. Have you changed your social media habits? What's your biggest concern about your digital footprint? Share your thoughts in the comments below.</p><p>For a complete breakdown of Compare the Market's methodology and findings, read the full <a href="https://www.comparethemarket.com/home-insurance/the-online-safety-experiment/" target="_blank">Online Safety Study here.</a></p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/social-media/metas-new-ai-tool-uses-your-instagram-photos-by-default-heres-how-to-opt-out"><strong>Meta's new AI tool uses your Instagram photos by default — here’s how to opt out</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/ai-image-video/all-she-did-was-change-the-face-i-spoke-to-a-creator-whose-video-was-stolen-and-reskinned-with-ai"><strong>Inside the dark market stealing real identities online</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/social-media/instagrams-new-instants-feature-is-driving-users-crazy-heres-how-to-disable-it"><strong>Instagram's 'instants' feature is driving users crazy. Here's how to disable it</strong></a><strong></strong></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Have you been 'Flocked'? Here's how to look up automatic license plate readers in your area ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Automated license plate readers (<a href="https://www.tomsguide.com/computing/online-security/millions-at-risk-due-to-severe-security-flaw-in-license-plate-readers">ALPR</a>) manufactured by <a href="https://www.tomsguide.com/computing/online-security/flock-reportedly-planned-to-co-opt-uber-and-lyft-vehicles-to-expand-its-surveillance-network">Flock Safety</a> operate across tens of thousands of locations in nearly every U.S. state. </p><p>Mounted near intersections, neighborhood entrances, and main highways, these motion-activated systems capture high-resolution snapshots of passing traffic. The software logs license plate numbers, vehicle colors, make, and distinctive visual markers like roof racks or damage. </p><p>While law enforcement agencies cite the technology for helping solve active cases, privacy advocates raise concerns over continuous passive surveillance of everyday drivers. </p><p>Checking whether your daily commute passes through an active camera zone requires using public transparency tools, crowdsourced databases, and visual hardware checks. Here's where to start. </p><h2 id="curious-if-you-are-on-the-police-39-s-radar">Curious if you are on the police's radar?</h2><p>The independent transparency project <a href="https://haveibeenflocked.com/" target="_blank"><strong>Have I Been Flocked</strong></a> offers a rare, though limited, public window into automated surveillance by compiling official audit logs obtained through public records requests. </p><p>Where data is available, <strong>putting your license plate number into the site</strong> lets you check if participating law enforcement agencies have queried your specific vehicle. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:59.60%;"><img id="HSSwJGjKXKAvazap6fGTfn" name="How to check your license plate on Have I Been Flocked" alt="How to check your license plate on Have I Been Flocked" src="https://cdn.mos.cms.futurecdn.net/HSSwJGjKXKAvazap6fGTfn-1920-80.jpg" mos="" align="middle" fullscreen="" width="1510" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Keep in mind that coverage is far from comprehensive. It cannot show a real-time feed, nor does it log every time your car passes a camera. Instead, it exposes the historical paper trail left behind only when an officer manually searches your plate within a jurisdiction that has released its audit logs.</p><p>The platform also overlays crowdsourced camera maps and regional policy trends, helping to highlight local data retention habits and how agencies share access across city lines. </p><h2 id="you-don-39-t-have-to-wait-for-an-audit-log">You don't have to wait for an audit log</h2><p>While lookup sites rely on public records, community-driven maps offer a clearer picture of physical hardware placements. Volunteer-driven projects like <a href="https://deflock.org/" target="_blank"><strong>DeFlock</strong></a> map thousands of confirmed automated plate readers across interactive regional layouts.  </p><p>Inputting your home or work address displays verified device markers, often including field-of-view indicators that reveal which direction a camera faces. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:59.60%;"><img id="CzGviz3ZMjCSJA9nUV8Z3m" name="How to use FlockHopper" alt="How to use FlockHopper" src="https://cdn.mos.cms.futurecdn.net/CzGviz3ZMjCSJA9nUV8Z3m-1920-80.jpg" mos="" align="middle" fullscreen="" width="1510" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Meanwhile, privacy advocates and projects like <a href="https://dontgetflocked.com/" target="_blank"><strong>FlockHopper </strong></a>use this crowdsourced data to highlight heavy surveillance corridors and potential alternative routes, utility varies widely. </p><p>Because these platforms rely strictly on volunteer submissions, map coverage depends entirely on how active the privacy community is in your specific area.   </p><h2 id="see-what-your-town-or-city-39-s-cameras-are-doing">See what your town or city's cameras are doing </h2><p>Many city governments and police departments pull back the digital curtain by hosting dedicated <strong>Flock Safety Transparency Portals</strong> on their municipal websites. </p><p>By <strong>searching your town or city's name alongside "Flock transparency portal," you can unlock a live public dashboard</strong> detailing the exact number of active cameras in your area, and the searches undertaken. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:59.60%;"><img id="5jBLPAADTvbEpXBUnhQezf" name="Flock transparency portal" alt="Flock transparency portal" src="https://cdn.mos.cms.futurecdn.net/5jBLPAADTvbEpXBUnhQezf-1920-80.jpg" mos="" align="middle" fullscreen="" width="1510" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>These dashboards reveal the core settings of your local surveillance net. They show exactly whether your police department activates real-time hot-list alerts for missing persons and wanted vehicles, or if they restrict the technology strictly to retroactive evidence gathering after a crime has occurred.</p><p>While not every town chooses to make their dashboard public, a quick search is the fastest way to see how your community balances public safety with digital privacy.</p><h2 id="spotting-a-flock-camera-in-the-wild">Spotting a Flock camera in the wild </h2><p>While you can track placements via public records or crowdsourced maps, keeping your eyes on the road is the best way to spot unlisted or newly installed units. </p><p>Flock devices feature a distinct, minimalist design: <strong>a compact black rectangular box mounted roughly 8 to 12 feet high on light poles or dedicated metal posts</strong>. Each unit typically operates completely off-grid, equipped with a small, angled solar panel positioned directly above the main camera housing. </p><p>To spot them<strong>, look for lenses pointing sharply downward toward active traffic lanes </strong>rather than toward sidewalk pedestrian paths. They are built primarily to hunt for license plates and vehicle characteristics, not foot traffic.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-X7Av8W"></div>                            </div>                            <script src="https://kwizly.com/embed/X7Av8W.js" async></script><p>What’s your take on Flock cameras? Do you view them as essential public safety tools or an overreach on driver privacy? Let us know in the comments below.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/home/home-security/hidden-cameras-in-hotels-and-airbnbs-are-more-common-than-you-think-5-ways-to-protect-your-privacy"><strong>Hidden cameras in hotels and Airbnbs are more common than you think — 5 ways to protect your privacy</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/is-your-personal-information-public-the-simple-step-to-securing-your-privacy-online"><strong>Is your personal information public? The simple step to securing your privacy online</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/home/home-security/your-security-cameras-are-in-the-wrong-spots-heres-how-to-fix-it"><strong>Your security cameras are in the wrong spots — here's how to fix it</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/vehicle-tech/evs/have-you-been-flocked-heres-how-to-look-up-automatic-license-plate-readers-in-your-area</link>
                                                                            <description>
                            <![CDATA[ Flock Safety cameras photograph millions of daily commutes. Here is how to look up camera locations and check if your license plate has been logged. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cfFhXT6KVFSBX2fJRoYgQF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/GNf2cBdjuKG4qKZENcaaiX-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 25 Aug 2026 07:00:00 +0000</pubDate>                                                                                                                                <updated>Tue, 25 Aug 2026 08:35:30 +0000</updated>
                                                                                                                                            <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xHn6RmpEqg87cvtLwrBu9G-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/GNf2cBdjuKG4qKZENcaaiX-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Flock camera ]]></media:description>                                                            <media:text><![CDATA[Flock camera ]]></media:text>
                                <media:title type="plain"><![CDATA[Flock camera ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/GNf2cBdjuKG4qKZENcaaiX-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Automated license plate readers (<a href="https://www.tomsguide.com/computing/online-security/millions-at-risk-due-to-severe-security-flaw-in-license-plate-readers">ALPR</a>) manufactured by <a href="https://www.tomsguide.com/computing/online-security/flock-reportedly-planned-to-co-opt-uber-and-lyft-vehicles-to-expand-its-surveillance-network">Flock Safety</a> operate across tens of thousands of locations in nearly every U.S. state. </p><p>Mounted near intersections, neighborhood entrances, and main highways, these motion-activated systems capture high-resolution snapshots of passing traffic. The software logs license plate numbers, vehicle colors, make, and distinctive visual markers like roof racks or damage. </p><p>While law enforcement agencies cite the technology for helping solve active cases, privacy advocates raise concerns over continuous passive surveillance of everyday drivers. </p><p>Checking whether your daily commute passes through an active camera zone requires using public transparency tools, crowdsourced databases, and visual hardware checks. Here's where to start. </p><h2 id="curious-if-you-are-on-the-police-39-s-radar">Curious if you are on the police's radar?</h2><p>The independent transparency project <a href="https://haveibeenflocked.com/" target="_blank"><strong>Have I Been Flocked</strong></a> offers a rare, though limited, public window into automated surveillance by compiling official audit logs obtained through public records requests. </p><p>Where data is available, <strong>putting your license plate number into the site</strong> lets you check if participating law enforcement agencies have queried your specific vehicle. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:59.60%;"><img id="HSSwJGjKXKAvazap6fGTfn" name="How to check your license plate on Have I Been Flocked" alt="How to check your license plate on Have I Been Flocked" src="https://cdn.mos.cms.futurecdn.net/HSSwJGjKXKAvazap6fGTfn-1920-80.jpg" mos="" align="middle" fullscreen="" width="1510" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Keep in mind that coverage is far from comprehensive. It cannot show a real-time feed, nor does it log every time your car passes a camera. Instead, it exposes the historical paper trail left behind only when an officer manually searches your plate within a jurisdiction that has released its audit logs.</p><p>The platform also overlays crowdsourced camera maps and regional policy trends, helping to highlight local data retention habits and how agencies share access across city lines. </p><h2 id="you-don-39-t-have-to-wait-for-an-audit-log">You don't have to wait for an audit log</h2><p>While lookup sites rely on public records, community-driven maps offer a clearer picture of physical hardware placements. Volunteer-driven projects like <a href="https://deflock.org/" target="_blank"><strong>DeFlock</strong></a> map thousands of confirmed automated plate readers across interactive regional layouts.  </p><p>Inputting your home or work address displays verified device markers, often including field-of-view indicators that reveal which direction a camera faces. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:59.60%;"><img id="CzGviz3ZMjCSJA9nUV8Z3m" name="How to use FlockHopper" alt="How to use FlockHopper" src="https://cdn.mos.cms.futurecdn.net/CzGviz3ZMjCSJA9nUV8Z3m-1920-80.jpg" mos="" align="middle" fullscreen="" width="1510" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Meanwhile, privacy advocates and projects like <a href="https://dontgetflocked.com/" target="_blank"><strong>FlockHopper </strong></a>use this crowdsourced data to highlight heavy surveillance corridors and potential alternative routes, utility varies widely. </p><p>Because these platforms rely strictly on volunteer submissions, map coverage depends entirely on how active the privacy community is in your specific area.   </p><h2 id="see-what-your-town-or-city-39-s-cameras-are-doing">See what your town or city's cameras are doing </h2><p>Many city governments and police departments pull back the digital curtain by hosting dedicated <strong>Flock Safety Transparency Portals</strong> on their municipal websites. </p><p>By <strong>searching your town or city's name alongside "Flock transparency portal," you can unlock a live public dashboard</strong> detailing the exact number of active cameras in your area, and the searches undertaken. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1510px;"><p class="vanilla-image-block" style="padding-top:59.60%;"><img id="5jBLPAADTvbEpXBUnhQezf" name="Flock transparency portal" alt="Flock transparency portal" src="https://cdn.mos.cms.futurecdn.net/5jBLPAADTvbEpXBUnhQezf-1920-80.jpg" mos="" align="middle" fullscreen="" width="1510" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>These dashboards reveal the core settings of your local surveillance net. They show exactly whether your police department activates real-time hot-list alerts for missing persons and wanted vehicles, or if they restrict the technology strictly to retroactive evidence gathering after a crime has occurred.</p><p>While not every town chooses to make their dashboard public, a quick search is the fastest way to see how your community balances public safety with digital privacy.</p><h2 id="spotting-a-flock-camera-in-the-wild">Spotting a Flock camera in the wild </h2><p>While you can track placements via public records or crowdsourced maps, keeping your eyes on the road is the best way to spot unlisted or newly installed units. </p><p>Flock devices feature a distinct, minimalist design: <strong>a compact black rectangular box mounted roughly 8 to 12 feet high on light poles or dedicated metal posts</strong>. Each unit typically operates completely off-grid, equipped with a small, angled solar panel positioned directly above the main camera housing. </p><p>To spot them<strong>, look for lenses pointing sharply downward toward active traffic lanes </strong>rather than toward sidewalk pedestrian paths. They are built primarily to hunt for license plates and vehicle characteristics, not foot traffic.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-X7Av8W"></div>                            </div>                            <script src="https://kwizly.com/embed/X7Av8W.js" async></script><p>What’s your take on Flock cameras? Do you view them as essential public safety tools or an overreach on driver privacy? Let us know in the comments below.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide </span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/home/home-security/hidden-cameras-in-hotels-and-airbnbs-are-more-common-than-you-think-5-ways-to-protect-your-privacy"><strong>Hidden cameras in hotels and Airbnbs are more common than you think — 5 ways to protect your privacy</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/is-your-personal-information-public-the-simple-step-to-securing-your-privacy-online"><strong>Is your personal information public? The simple step to securing your privacy online</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/home/home-security/your-security-cameras-are-in-the-wrong-spots-heres-how-to-fix-it"><strong>Your security cameras are in the wrong spots — here's how to fix it</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I don’t use AI to write my emails — here’s how I use it to manage my inbox instead ]]></title>
                                                                                                <dc:content><![CDATA[ <p>When my grandfather would write me while I was away at school, he would end each letter with, "It's been fun to visit with you for a few minutes." That's the way I still feel about any correspondance -- it's a way to visit with someone regardless of how quick or meaningless. <br><br>And now that <a href="https://www.tomsguide.com/ai/claude-can-now-send-gmail-emails-heres-why-you-might-want-to-test-it-first">Claude can not only draft an email but send it</a>, I feel like that's just another AI feature I simply don't need.  However, I feel differently about everything surrounding that conversation.</p><p>There’s nothing personal about sorting newsletters, searching for a buried attachment or rereading a 20-message thread to work out what everyone decided. These are the jobs that could easily consume my day, and I’m more than happy to hand some of them to AI.</p><p>Features such as <a href="https://www.tomsguide.com/ai/gmails-biggest-update-in-20-years-5-ai-features-that-could-change-email-forever">Google’s AI Inbox and AI Overviews</a> in Gmail can identify priority messages, summarize conversations and answer questions about information scattered across multiple emails. I still write my own replies, but I spend much less time figuring out which ones I need to send.</p><p>Here are five ways AI can make your inbox easier to manage without writing a single email for you.</p><h2 id="1-show-you-what-needs-your-attention">1. Show you what needs your attention </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="m7hfVGwtaCPDBmXJExuRoN" name="8 (78)" alt="AI Inbox for Gmail" src="https://cdn.mos.cms.futurecdn.net/m7hfVGwtaCPDBmXJExuRoN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google )</span></figcaption></figure><p>Most inboxes present every unread email as one more thing demanding your attention. A message from someone waiting on a decision can sit beside a sale announcement, an automated receipt and a newsletter you might read later.</p><p>Google’s <a href="https://www.tomsguide.com/ai/google-just-launched-a-new-ai-agent-that-runs-your-inbox-heres-what-cc-actually-does">AI Inbox</a> is designed to separate those signals. It surfaces top priorities and groups together topics you may need to catch up on, giving you a more focused starting point than a long chronological list.</p><p>This is particularly helpful when I return to my inbox after being away from it. Instead of opening messages one by one to see what happened, I can begin with the conversations Gmail has identified as important.</p><p>AI won’t always understand your priorities perfectly, so keep that in mind. A routine-looking message may matter because of the person who sent it or something discussed outside email. I still scan the rest of my inbox, but I no longer have to treat every unread message as equally urgent.</p><h2 id="2-summarize-a-long-email-thread">2. Summarize a long email thread </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="V4mCk94thMGFbvLTKcXjeU" name="Gemini 3" alt="Gemini 3" src="https://cdn.mos.cms.futurecdn.net/V4mCk94thMGFbvLTKcXjeU-1920-80.gif" mos="" align="middle" fullscreen="" width="800" height="450" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Gemini)</span></figcaption></figure><p>Few things make me want to close Gmail faster than opening a thread with dozens of new replies.</p><p>Some messages repeat information from earlier in the conversation. Others branch into separate discussions, and the detail you need may be buried somewhere in the middle. By the time you reach the bottom, it’s easy to forget what prompted the exchange in the first place.</p><p>Gmail’s AI Overviews can summarize long conversations, pulling together the key points and recent replies. This gives me enough context to understand what the thread is about and where I should start reading.</p><p>I don’t rely on the summary when I need an exact quote, firm deadline or final decision. AI can miss a qualification or flatten a disagreement between two people into a cleaner consensus than the thread supports. For anything consequential, I go back to the original messages.</p><p>The summary still saves time because it directs me to the parts of the conversation that need closer attention.</p><h2 id="3-find-an-email-when-you-can-t-remember-the-keywords">3. Find an email when you can’t remember the keywords </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:57.10%;"><img id="2UYaa7Q5trwrK9dQWCeHQF" name="gmail-magnify-shst.jpg" alt="The Gmail logo on a computer screen under a magnifying glass." src="https://cdn.mos.cms.futurecdn.net/2UYaa7Q5trwrK9dQWCeHQF-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="571" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: dennizn/Shutterstock)</span></figcaption></figure><p>This one is a life saver for me. With three kids, there is always a form or permission slip that I need to <em>not </em>miss. And while traditional search works when you know what you're searching for, sometimes all I have is a date or name. Unfortunately, that isn’t usually how I remember email.</p><p>I may remember that someone recommended an app or sent me a meeting date without recalling who said it. Sometimes I know an attachment arrived but have no idea what the file was called. That can lead to several rounds of searching with slightly different keywords.</p><p>AI search allows you to describe the information instead. In Gmail, you can ask a natural-language question, and Gemini can use relevant messages to generate an answer or surface the conversations containing it.</p><p>You might ask, “What date did we agree on for the interview?” or “Who sent me information about the new subscription?” The wording doesn’t have to match the original email.</p><p>As with summaries, I open the source message before using the information. The advantage is reaching it without having to remember how someone phrased the subject line three weeks ago.</p><h2 id="4-pull-out-action-items-and-deadlines">4. Pull out action items and deadlines </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vDN94fdQ2GNwBAQeWtL8p6" name="8 (77)" alt="AI Overviews in Gmail" src="https://cdn.mos.cms.futurecdn.net/vDN94fdQ2GNwBAQeWtL8p6-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>An email doesn’t need to contain the words “action item” to give you something else to do.</p><p>A request may appear at the end of a long update. Someone might mention a deadline in passing or ask a question halfway through a message covering several unrelated subjects. Read it too quickly and the request disappears beneath everything that arrived afterward. That drives me crazy! However, AI can scan a conversation for outstanding questions, dates and tasks. You can ask Gemini which messages require a response, what you agreed to send or whether a thread contains an upcoming deadline.</p><p>This is one of the most useful ways to catch up after a busy stretch. I’d never treat that picture as a definitive to-do list. A missed deadline matters far more than a few saved minutes, so I check the original messages before adding anything to my calendar. AI acts as a second pass, catching details that could otherwise remain buried.</p><h2 id="5-bring-related-conversations-together">5. Bring related conversations together </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ozvtEUJq43CwooQ9MhEPa4" name="Woman typing on iPhone.jpg" alt="A woman holding an iPhone near an iPad" src="https://cdn.mos.cms.futurecdn.net/ozvtEUJq43CwooQ9MhEPa4-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>One project rarely stays inside one neat email thread. The initial discussion may have one subject line, the scheduling conversation another and the follow-up a third. Add several participants and forwarded messages, and the information becomes scattered across your inbox.</p><p>AI can identify relationships between those conversations even when they don’t share the same wording. Instead of opening one thread and searching separately for the rest, you can ask for the latest information about a topic or project.</p><p> AI can work with the inbox I actually have, including the conversations I forgot to file correctly.</p><p>It still requires oversight. Two projects may have similar names, or the same person may email you about unrelated subjects. I check which messages informed an answer before assuming AI has assembled the right set.</p><h2 id="bottom-line-i-want-ai-handling-the-clutter-not-the-conversation">Bottom line: I want AI handling the clutter, not the conversation </h2><p>AI-generated replies will probably become harder to avoid as email providers place them directly beneath our messages. For some people, they remove the stress of writing and make communication faster. I understand the appeal.</p><p>They just aren’t the feature I need. Choosing my own words takes a little longer, but it preserves the reason for sending an email in the first place. The administrative work surrounding that exchange is where I’m happy to save time.</p><p>Do you use AI to save time with your inbox? Let me know in the comments. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/google-gemini/5-gemini-features-chatgpt-still-cant-match"><strong>5 Gemini features ChatGPT still can’t match</strong></a></li><li><a href="https://www.tomsguide.com/ai/meta-files-patent-for-ai-camera-glasses-that-use-facial-recognition-expression-analysis-and-information-about-your-relationships-to-identify-people-around-you-and-create-highlights"><strong>Meta files patent for AI facial recognition glasses that identify people around you and record automatically</strong></a></li><li><a href="https://www.tomsguide.com/ai/claude/5-features-that-give-claude-the-edge-over-chatgpt"><strong>5 features that give Claude the edge over ChatGPT</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/i-dont-use-ai-to-write-my-emails-heres-how-i-use-it-to-manage-my-inbox-instead</link>
                                                                            <description>
                            <![CDATA[ Discover five ways AI can organize your inbox, summarize long threads and find buried messages without writing your emails for you. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">sTvEQhST4cHFA8gTAhjCSY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/CUsJfx4ZxhsmotgspP3qqX-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 20 Aug 2026 05:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Email]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/CUsJfx4ZxhsmotgspP3qqX-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A smartphone with the Gmail logo on it resting on top of a computer keyboard.]]></media:description>                                                            <media:text><![CDATA[A smartphone with the Gmail logo on it resting on top of a computer keyboard.]]></media:text>
                                <media:title type="plain"><![CDATA[A smartphone with the Gmail logo on it resting on top of a computer keyboard.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/CUsJfx4ZxhsmotgspP3qqX-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When my grandfather would write me while I was away at school, he would end each letter with, "It's been fun to visit with you for a few minutes." That's the way I still feel about any correspondance -- it's a way to visit with someone regardless of how quick or meaningless. <br><br>And now that <a href="https://www.tomsguide.com/ai/claude-can-now-send-gmail-emails-heres-why-you-might-want-to-test-it-first">Claude can not only draft an email but send it</a>, I feel like that's just another AI feature I simply don't need.  However, I feel differently about everything surrounding that conversation.</p><p>There’s nothing personal about sorting newsletters, searching for a buried attachment or rereading a 20-message thread to work out what everyone decided. These are the jobs that could easily consume my day, and I’m more than happy to hand some of them to AI.</p><p>Features such as <a href="https://www.tomsguide.com/ai/gmails-biggest-update-in-20-years-5-ai-features-that-could-change-email-forever">Google’s AI Inbox and AI Overviews</a> in Gmail can identify priority messages, summarize conversations and answer questions about information scattered across multiple emails. I still write my own replies, but I spend much less time figuring out which ones I need to send.</p><p>Here are five ways AI can make your inbox easier to manage without writing a single email for you.</p><h2 id="1-show-you-what-needs-your-attention">1. Show you what needs your attention </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="m7hfVGwtaCPDBmXJExuRoN" name="8 (78)" alt="AI Inbox for Gmail" src="https://cdn.mos.cms.futurecdn.net/m7hfVGwtaCPDBmXJExuRoN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google )</span></figcaption></figure><p>Most inboxes present every unread email as one more thing demanding your attention. A message from someone waiting on a decision can sit beside a sale announcement, an automated receipt and a newsletter you might read later.</p><p>Google’s <a href="https://www.tomsguide.com/ai/google-just-launched-a-new-ai-agent-that-runs-your-inbox-heres-what-cc-actually-does">AI Inbox</a> is designed to separate those signals. It surfaces top priorities and groups together topics you may need to catch up on, giving you a more focused starting point than a long chronological list.</p><p>This is particularly helpful when I return to my inbox after being away from it. Instead of opening messages one by one to see what happened, I can begin with the conversations Gmail has identified as important.</p><p>AI won’t always understand your priorities perfectly, so keep that in mind. A routine-looking message may matter because of the person who sent it or something discussed outside email. I still scan the rest of my inbox, but I no longer have to treat every unread message as equally urgent.</p><h2 id="2-summarize-a-long-email-thread">2. Summarize a long email thread </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:800px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="V4mCk94thMGFbvLTKcXjeU" name="Gemini 3" alt="Gemini 3" src="https://cdn.mos.cms.futurecdn.net/V4mCk94thMGFbvLTKcXjeU-1920-80.gif" mos="" align="middle" fullscreen="" width="800" height="450" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Gemini)</span></figcaption></figure><p>Few things make me want to close Gmail faster than opening a thread with dozens of new replies.</p><p>Some messages repeat information from earlier in the conversation. Others branch into separate discussions, and the detail you need may be buried somewhere in the middle. By the time you reach the bottom, it’s easy to forget what prompted the exchange in the first place.</p><p>Gmail’s AI Overviews can summarize long conversations, pulling together the key points and recent replies. This gives me enough context to understand what the thread is about and where I should start reading.</p><p>I don’t rely on the summary when I need an exact quote, firm deadline or final decision. AI can miss a qualification or flatten a disagreement between two people into a cleaner consensus than the thread supports. For anything consequential, I go back to the original messages.</p><p>The summary still saves time because it directs me to the parts of the conversation that need closer attention.</p><h2 id="3-find-an-email-when-you-can-t-remember-the-keywords">3. Find an email when you can’t remember the keywords </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:57.10%;"><img id="2UYaa7Q5trwrK9dQWCeHQF" name="gmail-magnify-shst.jpg" alt="The Gmail logo on a computer screen under a magnifying glass." src="https://cdn.mos.cms.futurecdn.net/2UYaa7Q5trwrK9dQWCeHQF-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="571" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: dennizn/Shutterstock)</span></figcaption></figure><p>This one is a life saver for me. With three kids, there is always a form or permission slip that I need to <em>not </em>miss. And while traditional search works when you know what you're searching for, sometimes all I have is a date or name. Unfortunately, that isn’t usually how I remember email.</p><p>I may remember that someone recommended an app or sent me a meeting date without recalling who said it. Sometimes I know an attachment arrived but have no idea what the file was called. That can lead to several rounds of searching with slightly different keywords.</p><p>AI search allows you to describe the information instead. In Gmail, you can ask a natural-language question, and Gemini can use relevant messages to generate an answer or surface the conversations containing it.</p><p>You might ask, “What date did we agree on for the interview?” or “Who sent me information about the new subscription?” The wording doesn’t have to match the original email.</p><p>As with summaries, I open the source message before using the information. The advantage is reaching it without having to remember how someone phrased the subject line three weeks ago.</p><h2 id="4-pull-out-action-items-and-deadlines">4. Pull out action items and deadlines </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vDN94fdQ2GNwBAQeWtL8p6" name="8 (77)" alt="AI Overviews in Gmail" src="https://cdn.mos.cms.futurecdn.net/vDN94fdQ2GNwBAQeWtL8p6-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>An email doesn’t need to contain the words “action item” to give you something else to do.</p><p>A request may appear at the end of a long update. Someone might mention a deadline in passing or ask a question halfway through a message covering several unrelated subjects. Read it too quickly and the request disappears beneath everything that arrived afterward. That drives me crazy! However, AI can scan a conversation for outstanding questions, dates and tasks. You can ask Gemini which messages require a response, what you agreed to send or whether a thread contains an upcoming deadline.</p><p>This is one of the most useful ways to catch up after a busy stretch. I’d never treat that picture as a definitive to-do list. A missed deadline matters far more than a few saved minutes, so I check the original messages before adding anything to my calendar. AI acts as a second pass, catching details that could otherwise remain buried.</p><h2 id="5-bring-related-conversations-together">5. Bring related conversations together </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ozvtEUJq43CwooQ9MhEPa4" name="Woman typing on iPhone.jpg" alt="A woman holding an iPhone near an iPad" src="https://cdn.mos.cms.futurecdn.net/ozvtEUJq43CwooQ9MhEPa4-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>One project rarely stays inside one neat email thread. The initial discussion may have one subject line, the scheduling conversation another and the follow-up a third. Add several participants and forwarded messages, and the information becomes scattered across your inbox.</p><p>AI can identify relationships between those conversations even when they don’t share the same wording. Instead of opening one thread and searching separately for the rest, you can ask for the latest information about a topic or project.</p><p> AI can work with the inbox I actually have, including the conversations I forgot to file correctly.</p><p>It still requires oversight. Two projects may have similar names, or the same person may email you about unrelated subjects. I check which messages informed an answer before assuming AI has assembled the right set.</p><h2 id="bottom-line-i-want-ai-handling-the-clutter-not-the-conversation">Bottom line: I want AI handling the clutter, not the conversation </h2><p>AI-generated replies will probably become harder to avoid as email providers place them directly beneath our messages. For some people, they remove the stress of writing and make communication faster. I understand the appeal.</p><p>They just aren’t the feature I need. Choosing my own words takes a little longer, but it preserves the reason for sending an email in the first place. The administrative work surrounding that exchange is where I’m happy to save time.</p><p>Do you use AI to save time with your inbox? Let me know in the comments. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/google-gemini/5-gemini-features-chatgpt-still-cant-match"><strong>5 Gemini features ChatGPT still can’t match</strong></a></li><li><a href="https://www.tomsguide.com/ai/meta-files-patent-for-ai-camera-glasses-that-use-facial-recognition-expression-analysis-and-information-about-your-relationships-to-identify-people-around-you-and-create-highlights"><strong>Meta files patent for AI facial recognition glasses that identify people around you and record automatically</strong></a></li><li><a href="https://www.tomsguide.com/ai/claude/5-features-that-give-claude-the-edge-over-chatgpt"><strong>5 features that give Claude the edge over ChatGPT</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ New iOS 26 and macOS Tahoe updates fix 30 security vulnerabilities: what you need to know ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Apple just dropped security updates for iOS 26.6.1, iPadOS 26.6.1 and macOS Tahoe 26.6.2 that fixe nearly 30 vulnerabilities according to a <a href="https://support.apple.com/en-us/148282" target="_blank">support document</a>. The surprising thing about this update is that it's the third security release in as many weeks. </p><p>Earlier this month, <a href="https://www.ft.com/content/4532122d-90f2-4433-9df6-ca99d8a141d2" target="_blank">The Financial Times reported</a> that AI is surfacing bugs faster than Apple's normal update release schedule can handle.</p><p>Per Apple, this update includes fixes that were already added to the <a href="https://www.tomsguide.com/phones/iphones/ios-27-beta-5-adds-new-app-icons-more-siri-voices-improved-search-and-more-everything-thats-changed">iOS 27 beta</a>, <a href="https://www.tomsguide.com/computing/ipads/ipados-27-public-beta">iPadOS 27</a> beta and <a href="https://www.tomsguide.com/computing/macos/macos-golden-gate-public-beta-hands-on-preview">macOS Golden Gate betas</a> that are currently running.</p><h2 id="close-to-30-vulnerabilities">Close to 30 vulnerabilities</h2><p>A majority of the vulnerabilities are related to <a href="https://www.tomsguide.com/computing/online-security/time-to-update-your-iphone-apple-patches-two-ios-zero-days-used-in-the-wild-by-hackers">WebKit</a> and flaws that affected Safari. Simply accessing "maliciously crafted web content" could cause Safari to crash. These crashes came from memory handling issues, input validation, and processing states. </p><p>The other fixes include an audio vulnerability that could allow an app to leak sensitive information, an image flaw that could allow for random code execution, and a trio of kernel vulnerabilities.</p><p>For iOS specifically, Apple addressed a telephony bug that could allow a bad actor in a privileged network to bypass IPSec authentication and intercept your network traffic.</p><p>Interestingly, of the vulnerabilities outlined, 21 are WebKit-related, and nine are credited to OpenAI's Codex Security. </p><h2 id="stay-safe-and-update">Stay safe and update</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="F9ybS7WNwSK95hqxotZgYM" name="apple shutterstock.jpg" alt="A padlock resting next to the Apple logo on the lid of a gold-colored Apple laptop." src="https://cdn.mos.cms.futurecdn.net/F9ybS7WNwSK95hqxotZgYM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="563" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: robert coolen/Shutterstock)</span></figcaption></figure><p>According to Apple, none of the vulnerabilities in today's listing are known to have been exploited in the wild yet. Still, you'll want to update to the latest version as soon as possible since bad actors could start targeting those flaws.</p><p>As such, we recommend you update to the newest versions as soon as possible, especially with all of these vulnerabilities being found so quickly.</p><p>For devices that can't run iOS 26 or iPad OS 26, Apple also released iOS 18.7.10 and iPadOS 18.7.10 so older devices can receive the same support and protection.</p><p>You can install the updates via the Settings app by tapping General and selecting Software Update.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/phones/iphones/apple-iphone-18-event-all-the-new-products-expected-to-launch-in-september"><strong>Apple iPhone 18 event — all the new products expected to launch in September</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/sales-events/15-apple-deals-students-should-snap-up-on-amazon-save-on-macbook-air-m5-airpods-ipads-and-accessories"><strong>15 Apple deals students should snap up on Amazon — save on MacBook Air M5, AirPods, iPads and accessories</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-leakers-reveal-new-details-around-release-and-extremely-limited-availability"><strong>iPhone Ultra leakers reveal new details around release and 'extremely limited' availability</strong></a><strong></strong></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/new-ios-26-and-macos-tahoe-updates-fix-30-security-vulnerabilities-what-you-need-to-know</link>
                                                                            <description>
                            <![CDATA[ The latest Apple security updates fix more than 30 vulnerabilities for iOS  26 and macOS Tahoe. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">qfXm7dtFK2pumhziRukbjV</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/DguAUCVDyTf6UDjiBECbz8-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 18 Aug 2026 20:29:55 +0000</pubDate>                                                                                                                                <updated>Tue, 18 Aug 2026 20:36:45 +0000</updated>
                                                                                                                                            <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;br&gt;Send secure tips on Signal: scyo1.55.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/DguAUCVDyTf6UDjiBECbz8-1920-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide / John Velasco]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iPhone 17 Pro review.]]></media:description>                                                            <media:text><![CDATA[iPhone 17 Pro review.]]></media:text>
                                <media:title type="plain"><![CDATA[iPhone 17 Pro review.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/DguAUCVDyTf6UDjiBECbz8-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Apple just dropped security updates for iOS 26.6.1, iPadOS 26.6.1 and macOS Tahoe 26.6.2 that fixe nearly 30 vulnerabilities according to a <a href="https://support.apple.com/en-us/148282" target="_blank">support document</a>. The surprising thing about this update is that it's the third security release in as many weeks. </p><p>Earlier this month, <a href="https://www.ft.com/content/4532122d-90f2-4433-9df6-ca99d8a141d2" target="_blank">The Financial Times reported</a> that AI is surfacing bugs faster than Apple's normal update release schedule can handle.</p><p>Per Apple, this update includes fixes that were already added to the <a href="https://www.tomsguide.com/phones/iphones/ios-27-beta-5-adds-new-app-icons-more-siri-voices-improved-search-and-more-everything-thats-changed">iOS 27 beta</a>, <a href="https://www.tomsguide.com/computing/ipads/ipados-27-public-beta">iPadOS 27</a> beta and <a href="https://www.tomsguide.com/computing/macos/macos-golden-gate-public-beta-hands-on-preview">macOS Golden Gate betas</a> that are currently running.</p><h2 id="close-to-30-vulnerabilities">Close to 30 vulnerabilities</h2><p>A majority of the vulnerabilities are related to <a href="https://www.tomsguide.com/computing/online-security/time-to-update-your-iphone-apple-patches-two-ios-zero-days-used-in-the-wild-by-hackers">WebKit</a> and flaws that affected Safari. Simply accessing "maliciously crafted web content" could cause Safari to crash. These crashes came from memory handling issues, input validation, and processing states. </p><p>The other fixes include an audio vulnerability that could allow an app to leak sensitive information, an image flaw that could allow for random code execution, and a trio of kernel vulnerabilities.</p><p>For iOS specifically, Apple addressed a telephony bug that could allow a bad actor in a privileged network to bypass IPSec authentication and intercept your network traffic.</p><p>Interestingly, of the vulnerabilities outlined, 21 are WebKit-related, and nine are credited to OpenAI's Codex Security. </p><h2 id="stay-safe-and-update">Stay safe and update</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="F9ybS7WNwSK95hqxotZgYM" name="apple shutterstock.jpg" alt="A padlock resting next to the Apple logo on the lid of a gold-colored Apple laptop." src="https://cdn.mos.cms.futurecdn.net/F9ybS7WNwSK95hqxotZgYM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="563" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: robert coolen/Shutterstock)</span></figcaption></figure><p>According to Apple, none of the vulnerabilities in today's listing are known to have been exploited in the wild yet. Still, you'll want to update to the latest version as soon as possible since bad actors could start targeting those flaws.</p><p>As such, we recommend you update to the newest versions as soon as possible, especially with all of these vulnerabilities being found so quickly.</p><p>For devices that can't run iOS 26 or iPad OS 26, Apple also released iOS 18.7.10 and iPadOS 18.7.10 so older devices can receive the same support and protection.</p><p>You can install the updates via the Settings app by tapping General and selecting Software Update.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/phones/iphones/apple-iphone-18-event-all-the-new-products-expected-to-launch-in-september"><strong>Apple iPhone 18 event — all the new products expected to launch in September</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/sales-events/15-apple-deals-students-should-snap-up-on-amazon-save-on-macbook-air-m5-airpods-ipads-and-accessories"><strong>15 Apple deals students should snap up on Amazon — save on MacBook Air M5, AirPods, iPads and accessories</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-leakers-reveal-new-details-around-release-and-extremely-limited-availability"><strong>iPhone Ultra leakers reveal new details around release and 'extremely limited' availability</strong></a><strong></strong></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I read all 233 pages of Meta’s $1.4 trillion lawsuit — here’s why Facebook and Instagram may never be the same ]]></title>
                                                                                                <dc:content><![CDATA[ <p>A massive jury trial against Meta is beginning today that could change the face of social media forever with a potential financial death penalty of $1.4 trillion on the line.</p><p>When a tech giant is put on trial, the public is usually conditioned to expect a lengthy battle that ends in a quiet settlement, written off as just the cost of doing business. But this is entirely different.</p><p>That’s because after the lawsuit was filed by 30 U.S. states in 2023, including California and New York, governments are finally taking action in saying the “attention economy” is a public hazard for children.</p><p>It’s not just an accusation of bad content policy, it is a direct assault on how Meta and social media as a whole works. Beyond that eye-watering figure, the states are demanding fundamental changes to how Instagram and Facebook operate — including killing the like button and infinite scroll.</p><p>Should Meta lose, this would be a massive tectonic shift. I’ve sifted through the entire <a href="https://oag.ca.gov/system/files/attachments/press-docs/FINAL%20Meta%20Multistate%20Complaint,%20N.D.%20Cal.%20(REDACTED,%20CONFORMED).pdf" target="_blank">case document</a> to break down the accusations, the demands, the evidence and what this will actually mean for you.</p><h2 class="article-body__section" id="section-the-hit-list-what-is-actually-changing"><span>The hit list (what is actually changing)</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mjMcVn3yy2PbCer4Gv4pAg" name="shutterstock_2066080460.jpg" alt="Meta logo on screen of mobile phone on Facebook word background. Facebook after rebranding and changing name to Meta." src="https://cdn.mos.cms.futurecdn.net/mjMcVn3yy2PbCer4Gv4pAg-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Viacheslav Lopatin | Shutterstock)</span></figcaption></figure><p>I’ll go into the specifics of the case itself in a little bit, but outside of that gigantic price tag, what would actually vanish from Meta’s apps if the company loses?</p><ul><li><strong>Death of infinite scroll & autoplay: </strong>The states are demanding an end to the endless feed and autoplaying of content. These features are explicitly designed to maximize screen time, and losing them breaks the TikTok-style doomscroll in a fundamental way.</li><li><strong>The end of the like button: </strong>Another key dopamine hit that keeps teens hooked to their screens is the like count. The lawsuit is targeting this too — demanding an end to social validation metrics.</li><li><strong>No more algorithmic manipulation: </strong>The states want to see change to Meta’s “dopamine-manipulating recommendation algorithms.” This could mean a return to your standard chronological timelines by default.</li><li><strong>Notification lockdown: </strong>No more frequent push notifications designed to pull young people back into apps. You’ll see these pop up to stop young people from disengaging with a social platform.</li><li><strong>Killing stories & filters: </strong>The states want an end to disappearing or “ephemeral” posts like Instagram Stories. On top of that, they’re demanding the removal of image filters that alter a user’s physical appearance in pictures.</li></ul><p>However, there is one broader, scarier implication for <em>everyone, </em>not just teenagers.</p><h2 id="the-death-of-the-finsta">The death of the “Finsta”</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3405px;"><p class="vanilla-image-block" style="padding-top:66.67%;"><img id="J4EEHYGRdoGNKryBLi9JEf" name="GettyImages-1086354750.jpg" alt="Instagram" src="https://cdn.mos.cms.futurecdn.net/J4EEHYGRdoGNKryBLi9JEf-1920-80.jpg" mos="" align="middle" fullscreen="" width="3405" height="2270" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: aap Arriens/NurPhoto via Getty Images)</span></figcaption></figure><p>The lawsuit isn’t just about tweaking algorithms; it’s demanding structural changes to how accounts are created. The states are demanding strict parental verification for teenagers and limits on multiple account creation.</p><p>For teens, this effectively kills the “Finsta” — a fake or secondary Instagram account used to hide from parents or public scrutiny), and to enforce this, platforms will need to know exactly who is holding the phone. That would spell the end of casual online anonymity.</p><h2 class="article-body__section" id="section-the-smoking-gun-could-meta-lose-this-case"><span>The smoking gun — could Meta lose this case?</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:9375px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="d6qmGSnFFXo6yGiczVTtSb" name="shutterstock_2663776741-2" alt="mark zuckerberg" src="https://cdn.mos.cms.futurecdn.net/d6qmGSnFFXo6yGiczVTtSb-1920-80.jpg" mos="" align="middle" fullscreen="" width="9375" height="5273" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Obviously, I’m not going to claim myself to be some expert legal mind here. But I’ve been a tech journalist for over 15 years and witnessed a bunch of lawsuits, and some of the data points, internal admissions and quotes in this document seem pretty eye-opening.</p><h2 id="the-coppa-scandals">The COPPA Scandals:</h2><p>For over seven years (until December 2019), Instagram had no age gate at all. When Meta finally added one, the drop-down menu defaulted automatically to a date making the user exactly 13 years old — effectively showing kids the exact date to bypass the restriction.</p><p>Internal research cited in the filing revealed that 40% of children aged 9 to 12 use Instagram daily, and 45% use Facebook daily. This leads to the accusation that Meta viewed children aged 10 to 12 as a “valuable but untapped audience” that dedicated internal teams analyzed to target.</p><h2 id="the-founding-confession">The founding confession</h2><p>Sean Parker himself said that the thought process behind building Facebook and Instagram was all about “how do we consume as much of your time and conscious attention as possible?” </p><p>He called it a “social-validation feedback loop” that exploits “a vulnerability in human psychology,” which its creators all understood “consciously.”</p><h2 id="i-don-t-want-to-hear-it-about-underage-users">“I don’t want to hear it” about underage users</h2><p>This is what Head of Instagram Adam Mosseri apparently said when he was confronted with evidence that child star JoJo Siwa had been active on Instagram since age 8. </p><p>On top of that, Meta’s former director of site integrity Arturo Bejar testified that Zuckerberg knew about “harms that teenagers are experiencing in its product,” but are “choosing not to engage about it.”</p><h2 id="meta-s-own-internal-numbers">Meta’s own internal numbers</h2><p>The company ran a “Teen Mental Health Deep Dive” private survey that found:</p><ul><li>1 in 5 teens felt worse about themselves after using Instagram</li><li>24% reported feeling “not good enough because of the app”</li><li>67% felt forced to “create a perfect image online”</li><li>Over half admitted to struggling with severe FOMO (Fear of Missing Out)</li><li>14% of young users admitted to having thoughts of wanting to “hurt [or] kill themselves”</li></ul><h2 id="cynical-product-design-and-internal-teams">Cynical product design and internal teams</h2><p>The lawsuit pulls back the curtain on how Meta internally viewed user engagement — with the company reportedly operating an engineering group called the “Rabbithole team.” Their mission was clear: optimizing “preference amplification,” which is fancy wording for figuring out how to push users deeper down algorithmic rabbit holes.</p><p>Even when Meta rolled out “time management” tools like the Daily Limit to appease public critics, the lawsuit alleges they were designed to fail. Originally, the daily limit was 10 minutes, but once public scrutiny died down after the 2021 whistleblower leaks, Meta quietly raised that minimum to 30 minutes.</p><p>But perhaps most damning of all is that as early as 2017, Facebook’s own former VP for user growth publicly admitted he had banned his own children from using Facebook. Sometime after that, Meta simply disbanded its internal “Responsible Innovation” team.</p><h2 class="article-body__section" id="section-outlook-a-corporate-death-penalty"><span>Outlook: a corporate death penalty?</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kWfKU2NXkqQqgsozLXPWxX" name="Zuckerberg.GettyImages-2173579179" alt="Mark Zuckerberg at Meta AI event" src="https://cdn.mos.cms.futurecdn.net/kWfKU2NXkqQqgsozLXPWxX-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: David Paul Morris/Bloomberg via Getty Images)</span></figcaption></figure><p>The federal trial officially kicks off today in Oakland, California, with California, Colorado, Kentucky and New Jersey leading the charge.</p><p>But this trial isn’t just about the money. Because this is a consumer protection lawsuit rather than a personal injury case, the states are asking the judge to order sweeping changes to the platforms.</p><p>If Meta loses, we aren’t just looking at a massive fine. We are looking at court-mandated age restrictions, the deletion of algorithmic feeds for minors, and the permanent removal of the infinite scroll.</p><p>Win or lose, the curtain has been pulled back. The “attention economy” as we know it is officially on trial.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/meta-files-patent-for-ai-camera-glasses-that-use-facial-recognition-expression-analysis-and-information-about-your-relationships-to-identify-people-around-you-and-create-highlights">Meta files patent for AI facial recognition glasses that identify people around you and record automatically</a></li><li><a href="https://www.tomsguide.com/computing/macbooks/a-parents-guide-to-the-macbook-neo-is-apples-cheapest-laptop-a-back-to-school-trap">A parent’s guide to the MacBook Neo: is Apple’s cheapest laptop a back-to-school trap?</a></li><li><a href="https://www.tomsguide.com/ai/i-connected-claude-to-my-daily-apps-here-are-the-5-that-actually-made-it-useful">I connected Claude to my daily apps — here are the 5 that actually made it useful</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/social-media/i-read-all-233-pages-of-metas-usd1-4-trillion-lawsuit-heres-why-facebook-and-instagram-may-never-be-the-same</link>
                                                                            <description>
                            <![CDATA[ I read all 233 pages of Meta’s $1.4 trillion youth addiction lawsuit. From ending the like button to killing infinite scroll, here is what could change. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">6hPAY7k9jynWsEtDTFMBGf</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/EerCsNfck6dk6ifJUrQqWF-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 18 Aug 2026 11:46:12 +0000</pubDate>                                                                                                                                <updated>Tue, 18 Aug 2026 14:05:48 +0000</updated>
                                                                                                                                            <category><![CDATA[Social Media]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/EerCsNfck6dk6ifJUrQqWF-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Mark Zuckerberg ]]></media:description>                                                            <media:text><![CDATA[Mark Zuckerberg ]]></media:text>
                                <media:title type="plain"><![CDATA[Mark Zuckerberg ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/EerCsNfck6dk6ifJUrQqWF-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>A massive jury trial against Meta is beginning today that could change the face of social media forever with a potential financial death penalty of $1.4 trillion on the line.</p><p>When a tech giant is put on trial, the public is usually conditioned to expect a lengthy battle that ends in a quiet settlement, written off as just the cost of doing business. But this is entirely different.</p><p>That’s because after the lawsuit was filed by 30 U.S. states in 2023, including California and New York, governments are finally taking action in saying the “attention economy” is a public hazard for children.</p><p>It’s not just an accusation of bad content policy, it is a direct assault on how Meta and social media as a whole works. Beyond that eye-watering figure, the states are demanding fundamental changes to how Instagram and Facebook operate — including killing the like button and infinite scroll.</p><p>Should Meta lose, this would be a massive tectonic shift. I’ve sifted through the entire <a href="https://oag.ca.gov/system/files/attachments/press-docs/FINAL%20Meta%20Multistate%20Complaint,%20N.D.%20Cal.%20(REDACTED,%20CONFORMED).pdf" target="_blank">case document</a> to break down the accusations, the demands, the evidence and what this will actually mean for you.</p><h2 class="article-body__section" id="section-the-hit-list-what-is-actually-changing"><span>The hit list (what is actually changing)</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mjMcVn3yy2PbCer4Gv4pAg" name="shutterstock_2066080460.jpg" alt="Meta logo on screen of mobile phone on Facebook word background. Facebook after rebranding and changing name to Meta." src="https://cdn.mos.cms.futurecdn.net/mjMcVn3yy2PbCer4Gv4pAg-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Viacheslav Lopatin | Shutterstock)</span></figcaption></figure><p>I’ll go into the specifics of the case itself in a little bit, but outside of that gigantic price tag, what would actually vanish from Meta’s apps if the company loses?</p><ul><li><strong>Death of infinite scroll & autoplay: </strong>The states are demanding an end to the endless feed and autoplaying of content. These features are explicitly designed to maximize screen time, and losing them breaks the TikTok-style doomscroll in a fundamental way.</li><li><strong>The end of the like button: </strong>Another key dopamine hit that keeps teens hooked to their screens is the like count. The lawsuit is targeting this too — demanding an end to social validation metrics.</li><li><strong>No more algorithmic manipulation: </strong>The states want to see change to Meta’s “dopamine-manipulating recommendation algorithms.” This could mean a return to your standard chronological timelines by default.</li><li><strong>Notification lockdown: </strong>No more frequent push notifications designed to pull young people back into apps. You’ll see these pop up to stop young people from disengaging with a social platform.</li><li><strong>Killing stories & filters: </strong>The states want an end to disappearing or “ephemeral” posts like Instagram Stories. On top of that, they’re demanding the removal of image filters that alter a user’s physical appearance in pictures.</li></ul><p>However, there is one broader, scarier implication for <em>everyone, </em>not just teenagers.</p><h2 id="the-death-of-the-finsta">The death of the “Finsta”</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3405px;"><p class="vanilla-image-block" style="padding-top:66.67%;"><img id="J4EEHYGRdoGNKryBLi9JEf" name="GettyImages-1086354750.jpg" alt="Instagram" src="https://cdn.mos.cms.futurecdn.net/J4EEHYGRdoGNKryBLi9JEf-1920-80.jpg" mos="" align="middle" fullscreen="" width="3405" height="2270" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: aap Arriens/NurPhoto via Getty Images)</span></figcaption></figure><p>The lawsuit isn’t just about tweaking algorithms; it’s demanding structural changes to how accounts are created. The states are demanding strict parental verification for teenagers and limits on multiple account creation.</p><p>For teens, this effectively kills the “Finsta” — a fake or secondary Instagram account used to hide from parents or public scrutiny), and to enforce this, platforms will need to know exactly who is holding the phone. That would spell the end of casual online anonymity.</p><h2 class="article-body__section" id="section-the-smoking-gun-could-meta-lose-this-case"><span>The smoking gun — could Meta lose this case?</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:9375px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="d6qmGSnFFXo6yGiczVTtSb" name="shutterstock_2663776741-2" alt="mark zuckerberg" src="https://cdn.mos.cms.futurecdn.net/d6qmGSnFFXo6yGiczVTtSb-1920-80.jpg" mos="" align="middle" fullscreen="" width="9375" height="5273" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>Obviously, I’m not going to claim myself to be some expert legal mind here. But I’ve been a tech journalist for over 15 years and witnessed a bunch of lawsuits, and some of the data points, internal admissions and quotes in this document seem pretty eye-opening.</p><h2 id="the-coppa-scandals">The COPPA Scandals:</h2><p>For over seven years (until December 2019), Instagram had no age gate at all. When Meta finally added one, the drop-down menu defaulted automatically to a date making the user exactly 13 years old — effectively showing kids the exact date to bypass the restriction.</p><p>Internal research cited in the filing revealed that 40% of children aged 9 to 12 use Instagram daily, and 45% use Facebook daily. This leads to the accusation that Meta viewed children aged 10 to 12 as a “valuable but untapped audience” that dedicated internal teams analyzed to target.</p><h2 id="the-founding-confession">The founding confession</h2><p>Sean Parker himself said that the thought process behind building Facebook and Instagram was all about “how do we consume as much of your time and conscious attention as possible?” </p><p>He called it a “social-validation feedback loop” that exploits “a vulnerability in human psychology,” which its creators all understood “consciously.”</p><h2 id="i-don-t-want-to-hear-it-about-underage-users">“I don’t want to hear it” about underage users</h2><p>This is what Head of Instagram Adam Mosseri apparently said when he was confronted with evidence that child star JoJo Siwa had been active on Instagram since age 8. </p><p>On top of that, Meta’s former director of site integrity Arturo Bejar testified that Zuckerberg knew about “harms that teenagers are experiencing in its product,” but are “choosing not to engage about it.”</p><h2 id="meta-s-own-internal-numbers">Meta’s own internal numbers</h2><p>The company ran a “Teen Mental Health Deep Dive” private survey that found:</p><ul><li>1 in 5 teens felt worse about themselves after using Instagram</li><li>24% reported feeling “not good enough because of the app”</li><li>67% felt forced to “create a perfect image online”</li><li>Over half admitted to struggling with severe FOMO (Fear of Missing Out)</li><li>14% of young users admitted to having thoughts of wanting to “hurt [or] kill themselves”</li></ul><h2 id="cynical-product-design-and-internal-teams">Cynical product design and internal teams</h2><p>The lawsuit pulls back the curtain on how Meta internally viewed user engagement — with the company reportedly operating an engineering group called the “Rabbithole team.” Their mission was clear: optimizing “preference amplification,” which is fancy wording for figuring out how to push users deeper down algorithmic rabbit holes.</p><p>Even when Meta rolled out “time management” tools like the Daily Limit to appease public critics, the lawsuit alleges they were designed to fail. Originally, the daily limit was 10 minutes, but once public scrutiny died down after the 2021 whistleblower leaks, Meta quietly raised that minimum to 30 minutes.</p><p>But perhaps most damning of all is that as early as 2017, Facebook’s own former VP for user growth publicly admitted he had banned his own children from using Facebook. Sometime after that, Meta simply disbanded its internal “Responsible Innovation” team.</p><h2 class="article-body__section" id="section-outlook-a-corporate-death-penalty"><span>Outlook: a corporate death penalty?</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kWfKU2NXkqQqgsozLXPWxX" name="Zuckerberg.GettyImages-2173579179" alt="Mark Zuckerberg at Meta AI event" src="https://cdn.mos.cms.futurecdn.net/kWfKU2NXkqQqgsozLXPWxX-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: David Paul Morris/Bloomberg via Getty Images)</span></figcaption></figure><p>The federal trial officially kicks off today in Oakland, California, with California, Colorado, Kentucky and New Jersey leading the charge.</p><p>But this trial isn’t just about the money. Because this is a consumer protection lawsuit rather than a personal injury case, the states are asking the judge to order sweeping changes to the platforms.</p><p>If Meta loses, we aren’t just looking at a massive fine. We are looking at court-mandated age restrictions, the deletion of algorithmic feeds for minors, and the permanent removal of the infinite scroll.</p><p>Win or lose, the curtain has been pulled back. The “attention economy” as we know it is officially on trial.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/meta-files-patent-for-ai-camera-glasses-that-use-facial-recognition-expression-analysis-and-information-about-your-relationships-to-identify-people-around-you-and-create-highlights">Meta files patent for AI facial recognition glasses that identify people around you and record automatically</a></li><li><a href="https://www.tomsguide.com/computing/macbooks/a-parents-guide-to-the-macbook-neo-is-apples-cheapest-laptop-a-back-to-school-trap">A parent’s guide to the MacBook Neo: is Apple’s cheapest laptop a back-to-school trap?</a></li><li><a href="https://www.tomsguide.com/ai/i-connected-claude-to-my-daily-apps-here-are-the-5-that-actually-made-it-useful">I connected Claude to my daily apps — here are the 5 that actually made it useful</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ McAfee+ Premium review: Comprehensive online and offline protection at a low starting price ]]></title>
                                                                                                <dc:content><![CDATA[ <p>McAfee has been around for decades, and it has come a long way from the antivirus software I remember slowing down my PC as a teenager. Having tested McAfee+ Premium extensively, I can confirm that it’s one of the <a href="https://www.tomsguide.com/computing/antivirus/best-antivirus-software">best antivirus software</a> suites available today. It packs plenty of useful tools, such as Identity Monitoring, Secure VPN with no limits, File Shredder, and Tracker Remover.</p><p>The software sports a user-friendly interface that makes it a delight to use, and 24/7 customer support over chat and phone ensures all your problems are quickly resolved. Low impact on system resources is another highlight. Even though the Full Scan takes a while and renewal price makes your eye twitch, neither of those are dealbreakers.</p><p>For the complete breakdown, read my full McAfee+ Premium review.</p><h2 class="article-body__section" id="section-mcafee-premium-review-specs"><span>McAfee+ Premium review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Starting price</strong></p></td><td  ><p><a href="https://www.mcafee.com/en-gb/antivirus.html" target="_blank" rel="nofollow">$49 / £49</a> (yearly, Consumer) | <a href="https://www.dell.com/en-us/shop/mcafee-total-protection-antivirus-internet-security-software-for-1-device-1-year-subscription-download/apd/ac180675/software" target="_blank" rel="nofollow">$24</a> / <a href="https://business.currys.co.uk/catalogue/computing/software/internet-security-software/mcafee-total-protection-1-year-automatic-renewal-for-3-devices/N659993W" target="_blank" rel="nofollow">£11</a> (yearly, Business)</p></td></tr><tr><td class="firstcol " ><p><strong>Operating system</strong></p></td><td  ><p>Windows, macOS, Android, iOS</p></td></tr><tr><td class="firstcol " ><p><strong>Supported devices</strong></p></td><td  ><p>Unlimited</p></td></tr><tr><td class="firstcol " ><p><strong>Malware protection</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Ransomware protection</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Identity theft protection</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Webcam protection</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Parental controls</strong></p></td><td  ><p>Yes (Family plans only)</p></td></tr><tr><td class="firstcol " ><p><strong>VPN</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Password manager</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Cloud backup</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Firewall</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Secure browser</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Support</strong></p></td><td  ><p>24/7 phone and chat</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-mcafee-premium-review-costs-what-s-covered"><span>McAfee+ Premium review: Costs & what’s covered</span></h2><p>Similar to other antivirus software suites, McAfee offers different plans for consumers and businesses alike. Let’s talk about McAfee’s consumer plans first. The most basic plan, Essential, covers up to five devices and is available for <a href="https://www.mcafee.com/en-gb/antivirus.html" target="_blank" rel="nofollow">$39 / £33</a> for the first year.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="K5WxUZVVhzGMwJ5rPi9XqN" name="McAfee_" alt="McAfee+ Premium antivirus software" src="https://cdn.mos.cms.futurecdn.net/K5WxUZVVhzGMwJ5rPi9XqN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The McAfee+ Premium Individual plan is a step up from Essential, and costs $49 / £49 for the first year. It naturally includes everything Essential offers, plus a Social Privacy Manager as well as scanning the web for your personal information. McAfee+ Advanced Individual is the most expensive plan, offering the most comprehensive protection. It’ll cost you $89 / £74 for the first year. Alongside everything else included in Essential and Premium, Advanced includes up to $1 million identity theft coverage, bank and credit card transaction monitoring, credit lock and security freeze, and more.</p><p>It’s important to note that after your first year is up, McAfee’s renewal prices go up by <em>a lot. </em>For instance, the Premium plan I tested costs $149 after the first year — a steep $100 price hike. <a href="https://www.tomsguide.com/computing/antivirus/norton-360-review">Norton 360</a> Deluxe, in comparison, costs $124 per renewal, making it slightly cheaper than McAfee.</p><p>There are many family plans available, too, such as Premium Family ($69 starting price) and Ultimate Family ($249 starting price). If you own a business and want a competent antivirus software suite, a number of plans are available exclusively through Dell in the U.S. and Currys in the U.K., starting at just <a href="https://www.dell.com/en-us/shop/mcafee-total-protection-antivirus-internet-security-software-for-1-device-1-year-subscription-download/apd/ac180675/software" target="_blank" rel="nofollow">$24</a> / <a href="https://business.currys.co.uk/catalogue/computing/software/internet-security-software/mcafee-total-protection-1-year-automatic-renewal-for-3-devices/N659993W" target="_blank" rel="nofollow">£11</a> and going all the way up to <a href="https://www.dell.com/en-us/shop/mcafee-premium-family-antivirus-and-internet-security-software-for-unlimited-devices-subscription-1-year/apd/ac180678/software" target="_blank" rel="nofollow">$169</a> — depending on the number of devices and features, of course.</p><p>It’s important to read the fine print to understand what you’re signing up for, but in case you aren’t happy with your purchase, McAfee offers a 30-day money-back guarantee. Also, if McAfee fails to catch a virus and your device gets infected, the company’s Virus Protection Pledge states that it’ll refund you the amount you paid for your subscription.</p><h2 class="article-body__section" id="section-mcafee-premium-review-protection"><span>McAfee+ Premium review: Protection</span></h2><p>The more you pay for your McAfee subscription, the more protection you’ll get. For instance, the Essential plan protects up to five devices from scams and monitors the dark web for any personal detail leaks. The Premium plan (that I tested), on the other hand, covers unlimited macOS, Windows, iOS and Android devices, and offers extra features like Social Privacy Manager, Personal Data Cleanup and Online Account Cleanup (scans only). I’ll discuss these in detail shortly.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SxMdD6NqD8VwDrEvsn25nN" name="McAfee_" alt="McAfee+ Premium antivirus software" src="https://cdn.mos.cms.futurecdn.net/SxMdD6NqD8VwDrEvsn25nN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Regardless of the subscription you sign up for, McAfee offers a secure VPN, password manager and identity monitoring across all. But it’s important to note that it doesn’t offer cloud backup or ransomware protection, which is surprising. Competitors, like <a href="https://www.tomsguide.com/computing/antivirus/bitdefender-review">Bitdefender</a>, <a href="https://www.tomsguide.com/computing/antivirus/avast-one-review">Avast One</a> and Norton 360 offer these to a degree, so it’s worth considering them instead if these features are important to you.</p><p>Before diving into my experience with McAfee, let’s take a look at how three independent labs that test antivirus software twice a year (for the most part) rate it. <a href="https://www.av-test.org/en/antivirus/home-windows/" target="_blank" rel="nofollow">AV Test’s June 2026 report</a> rated McAfee as a “Top Product,” with 6/6 scores across Protection, Performance and Usability. Bitdefender, Avast and Norton 360 all received 100% scores, too, which goes to show that McAfee is just as good as its rivals, if not better.</p><p><a href="https://av-comparatives.org/tests/performance-test-april-2026/" target="_blank" rel="nofollow">AV Comparatives’ April 2026 test report</a> rated McAfee 1st out of the 19 antivirus software suites it tested — which is outstanding, as McAfee upstaged <a href="https://www.tomsguide.com/computing/antivirus/malwarebytes-review">Malwarebytes</a>, Avast, Norton 360 and Bitdefender. McAfee scored 90/100 in AVC, 96.7/100 in Procyon, and 3.3 in Impact. The low Impact rating means that the software doesn’t have a negative impact on your system’s resources. It blows the likes of Malwarebytes (17.6 Impact score) out of the water.</p><p>Lastly, I looked at <a href="https://selabs.uk/vendor/mcafee/" target="_blank" rel="nofollow">SE Labs’ (U.K.) June 2026 report</a>, which awarded McAfee an AAA rating with 98% protection accuracy and an overall 99% score. McAfee is edged out by Norton 360 and Bitdefender — but only just — as both of them achieved a 100% protection accuracy score.</p><h2 class="article-body__section" id="section-mcafee-premium-review-performance"><span>McAfee+ Premium review: Performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/wJTXLWzqRb5fJXRuuMLyw7-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wBf39aYqXp8BRhpjMFUNF8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zHgnooFUh4U79U5vgdWDP8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><div  class="fancy-box"><div class="fancy_box-title">Tom's Guide reviews gaming platform</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>Supplied by: </strong><a data-analytics-id="inline-link" href="https://www.msi.com/" target="_blank" rel="nofollow"><strong>MSI</strong></a><strong> | Tom's Guide</strong><br><strong></strong><br><strong>CPU:</strong> <a data-analytics-id="inline-link" href="https://www.amazon.com/AMD-7700X-16-Thread-Unlocked-Processor/dp/B0BBHHT8LY/" target="_blank" rel="nofollow">AMD Ryzen 7 7700X</a><strong> </strong>|<strong> Graphics card:</strong> <a data-analytics-id="inline-link" href="https://www.msi.com/Graphics-Card/GeForce-RTX-5070-Ti-16G-VANGUARD-SOC" target="_blank" rel="nofollow">MSI RTX 5070 Ti 16GB Vanguard SOC</a><strong> </strong>|<strong> Motherboard: </strong><a data-analytics-id="inline-link" href="https://www.msi.com/Motherboard/B850-GAMING-PLUS-WIFI" target="_blank" rel="nofollow">MSI B850E Gaming Plus WiFi</a><strong> </strong>|<strong> RAM: </strong><a data-analytics-id="inline-link" href="https://www.newegg.com/kingston-technology-corp-fury-renegade-32gb-ddr5-8000-cas-latency-cl38-desktop-memory-silver-black/p/N82E16820242829" target="_blank" rel="nofollow">Kingston Fury Renegade DDR5 32GB</a><strong> </strong>|<strong> Cooler:</strong> <a data-analytics-id="inline-link" href="https://www.amazon.com/Noctua-NH-U12S-chromax-Black-Single-Tower-Cooler/dp/B07Y88BNYZ" target="_blank">Noctua NH-U12S</a><strong> </strong>|<strong> PSU:</strong> <a data-analytics-id="inline-link" href="https://www.msi.com/Power-Supply/MEG-Ai1300P-PCIE5" target="_blank" rel="nofollow">MSI MEG Ai1300P PCIE5</a><strong> </strong>|<strong> Case: </strong><a data-analytics-id="inline-link" href="https://www.msi.com/PC-Case/MPG-GUNGNIR-110R" target="_blank" rel="nofollow">MSI MPG GUNGNIR 110R</a></p></div></div><p>Once you’ve bought your subscription, it’s time to download and install McAfee on your device and activate it. Doing so is extremely straightforward. Simply enter your product key, email address and billing information into <a href="https://www.mcafee.com/en-us/ipz/redeem/activate.html" target="_blank" rel="nofollow">McAfee’s dedicated activation page</a>. You’ll then be prompted to download the software onto your machine. On our testing rig, it took just under five minutes to get up and running.</p><p>On Android and iOS smartphones, you’ll need to download the free app from the respective app store, and punch in your registered email address to activate your subscription on your phone. Doing so on my <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Google Pixel 10 Pro XL</a> barely took any time — perhaps two minutes or so.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/TV5risiGr2tMMewkQFjoW8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ockGAY98piiJYM8La6j3g9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iuNNScu8hFxGuBruTnz5g9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/HzxggQY68cTp3CaJ2wN3g9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pPcmysgA6qtmZkpPXPmDg9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Dy5YszmotFzc3StyM6Kpv8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>After installing McAfee and activating my Premium plan on our MSI testing rig, I ran a Quick Scan and a Full Scan, both of which are easily accessible from the app’s main page. As its name suggests, McAfee’s Quick Scan quickly scans your computer, and it isn’t as in-depth as the Full Scan. It took 29 seconds for McAfee to quickly scan 38,846 files. No threats were detected. It’s handy that McAfee offers a Quick Scan option, unlike Bitdefender.</p><p>A Full Scan took much longer, in comparison. While software suites like Bitedefender and Malwarebytes scanned hundreds of thousands of files in under 26 minutes or so, McAfee took 34 minutes and 40 seconds to scan 351,968 files. It’s quite slow, really! I had enough time to do some stretches, make myself a cup of coffee, and have a chat with my coworkers, and McAfee was <em>still </em>scanning. But as I expected, it didn’t catch any anomalies or threats to the PC.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>FPS with McAfee running</strong></p></th><th  ><p><strong>FPS with Quick Scan running</strong></p></th><th  ><p><strong>FPS with Full Scan running</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Cyberpunk 2077 (Ultra graphics)</strong></p></td><td  ><p>99</p></td><td  ><p>93</p></td><td  ><p>87</p></td></tr><tr><td class="firstcol " ><p><strong>Forza Horizon 5 (High graphics)</strong></p></td><td  ><p>113</p></td><td  ><p>110</p></td><td  ><p>95</p></td></tr></tbody></table></div><p>The aforementioned scans were conducted with no other heavy-duty apps running in the background, so to get a clearer picture of how McAfee impacts system resources, I ran in-game benchmark tests in <a href="https://www.tomsguide.com/reviews/cyberpunk-2077-phantom-liberty">Cyberpunk 2077</a> and <a href="https://www.tomsguide.com/reviews/forza-horizon-5">Forza Horizon 5</a>. As you can see from the table above, Cyberpunk 2077’s frame rate dipped from 99fps to 87fps, while Forza Horizon 5’s went from 113fps to 95fps. I didn’t notice any lag while gaming, which is great. It’s worth pointing out that I achieved 97fps in Cyberpunk 2077 and 123fps in Forza Horizon 5 with Bitdefender running a Full Scan, though. Still, McAfee’s impact on system performance isn’t <em>that </em>noticeable.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Download (Mbps)</strong></p></th><th  ><p><strong>Upload (Mbps)</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Without McAfee</strong></p></td><td  ><p>901.2</p></td><td  ><p>922.4</p></td></tr><tr><td class="firstcol " ><p><strong>With McAfee running</strong></p></td><td  ><p>821.8</p></td><td  ><p>933.2</p></td></tr><tr><td class="firstcol " ><p><strong>Quick Scan running</strong></p></td><td  ><p>810.4</p></td><td  ><p>967.2</p></td></tr><tr><td class="firstcol " ><p><strong>Full Scan running</strong></p></td><td  ><p>807.1</p></td><td  ><p>948.7</p></td></tr></tbody></table></div><p>After finishing my in-game benchmarking, I ran a few internet speed tests at <a href="http://speedtest.net" target="_blank" rel="nofollow">speedtest.net</a> to see how McAfee impacted upload and download speeds. You can see the results in the table above. Surprisingly, neither the Quick Scan nor the Full Scan impacted the speeds by <em>that </em>much. Malwarebytes, in comparison, impacted upload speeds by a lot, as I was able to achieve only 592.4Mbps upload speeds with its Deep Scan running.</p><p>My testing goes to show that McAfee doesn’t have a detrimental effect on system resources — whether you’re browsing the internet or playing system-intensive games. Perhaps McAfee has finally gotten rid of the stereotype that it’s a drain on system resources.</p><h2 class="article-body__section" id="section-mcafee-premium-review-features"><span>McAfee+ Premium review: Features</span></h2><p>Alongside the two different types of scans, McAfee includes a bunch of extras to protect you against online and offline threats. I tested a few of the goodies included in the McAfee+ Premium Individual plan, starting with Identity Monitoring.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/WnkNiqSPGqa2YgYusMfnB9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9Lqj64owY3Yoeb3Yhiowy8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zN6zJv7Xjjih5NPkLybAs8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dQXHQcDKpuvEQR68J6pp39-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>This service constantly monitors the internet, including the dark web, for any identity theft, fraud or breaches. You can add credit cards, passports, national IDs, email addresses, and even different usernames. McAfee will then send you timely security alerts and provide guidance as to how to protect yourself. I put in a few different email addresses and usernames (such as the one I use on Instagram) and McAfee didn’t find any active breaches.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/nJmWkNpnxkReXJL9XKGFW9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uJNRHXKbrLeup6g44kpAX9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fHv3DFDv9on8o56xXBKjd8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>Next, I tried File Shredder, and it’s similar to the one you get with Malwarebytes. It enables you to permanently delete files to varying degrees, and it essentially overwrites data several times so there’s no trace left. Think of it like shredding a physical paper document to ensure no one else can read it. It worked well in my testing, as I used it to permanently delete files in the PC’s recycle bin.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/X866ffB5ajCGEZ95Bn38X9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QspPRAakcsZVkG79WtKr69-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JxwP7BcxHoJJazvwCSuZg8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ASWdQuRLh4vDf2FsrGkmk8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>There’s also a handy Tracker Remover tool which, as its name suggests, removes unwanted items, like temporary files and cookies that sites could potentially use to track you online. The Tracker Remover reviews temporary files, recycle bin items, browser cookies and trackers, and browser history, and then deletes them if they aren’t needed. In my testing, it took just under two minutes to free up 1.14 GB and remove 3,000 items.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/8PHUQ5N2sympePokGMTrV9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/W6nTfBzSXBRZutzwHsMyo8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XGntnUj9W3QgAXyifocfX9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>Last but not least, I tried McAfee’s unlimited Secure VPN which is included in every subscription plan. It masks your IP address using bank-grade AES 256-bit encryption and connecting to servers located in almost 50 countries. The VPN takes less than a minute to connect to your chosen country and once that’s done, your online identity and location are protected. You can customize it to connect automatically when joining a network with weak security, for instance, and even add trusted networks where the VPN shouldn’t be activated.</p><h2 class="article-body__section" id="section-mcafee-premium-review-interface"><span>McAfee+ Premium review: Interface</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/NTGR99dgp4dZdRcEMVcAA8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JZLU8M99ji7HgVtStnAD78-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JexoX4DFjZDy6JBGq5b3g9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>McAfee sports a clean and user-friendly interface, and I’ve had no issues using it whatsoever. The online dashboard, <a href="https://myaccount.mcafee.com/v2/" target="_blank" rel="nofollow">McAfee My Account</a>, gives you quick access to your subscription details and it lets you edit billing and renewal details. The downloaded software is straightforward to use and understand, too, thanks to plenty of signposting and explanations.</p><p>But unlike Malwarebytes, the McAfee app’s window can’t be maximized or made full-size, which means you have to scroll through the various settings one by one. This isn’t uncommon, though, as neither Bitdefender’s nor Avast One’s windows can be made to take up the full screen.</p><p>The McAfee mobile app is just as user-friendly if not more. The initial download took just 130MB of space on my Google Pixel 10 Pro XL — though this will naturally grow with use.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/uAGcnj3D4PJRhEhbt6Tzf9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QEtuXhHfL23fKiXbFL5Vb9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>I’ve seen many online users complaining about the uninstallation process on desktop. However, I didn’t experience any issues uninstalling McAfee from our testing rig. I wasn’t prompted again and again to keep the software, and it took just under 10 minutes to remove the software and restart my machine.</p><h2 class="article-body__section" id="section-mcafee-premium-review-support"><span>McAfee+ Premium review: Support</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/sNT5zeMosnvZ2M2GEBsuL8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ptrfa3aKXLDEXbzCSBGEP8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fxmteuzhdAuPaFYHJGGTS8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>If you find yourself in a pickle or have any questions about McAfee and your subscription, you can get in touch with customer support either via <a href="https://www.mcafee.com/support/s/?language=en_US" target="_blank" rel="nofollow">online chat</a> or over the phone. This is a similar level of support to what’s offered by Bitdefender and Norton 360.</p><p>I tested out the online chat function and I found it super easy to use. I asked the AI assistant a question and it answered promptly (and accurately). I then asked to speak to a human and within a couple of minutes, I was connected to a human agent. I like that I didn’t have to keep explaining <em>why </em>I needed to speak to a person.</p><p>If you need immediate assistance and can’t be bothered by typing, you can always ring <a href="https://www.mcafee.com/support/s/contactsupport" target="_blank" rel="nofollow">McAfee’s customer service team</a> which is available 24/7. It’s nice that McAfee offers phone support, unlike Malwarebytes. It makes getting help easier.</p><h2 class="article-body__section" id="section-mcafee-premium-review-verdict"><span>McAfee+ Premium review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SovGxRexYjntV4ze63sirN" name="McAfee_" alt="McAfee+ Premium antivirus software" src="https://cdn.mos.cms.futurecdn.net/SovGxRexYjntV4ze63sirN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>McAfee+ Premium is a strong all-round antivirus package that doesn’t skimp on features and tools that keep you safe online and offline. Protection is excellent, independent lab results are consistent (and impressive), and the software doesn’t get in the way when you’re gaming or browsing the internet. The user experience is sublime, too, as the software sports a clean, user-friendly interface.</p><p>There are a couple of catches, though, such as the Full Scan taking over 35 minutes to complete in our testing. While the cost for the first year isn’t much more than its competitors, renewal price can feel quite steep. Are either of those dealbreakers? Not necessarily, as they’re overshadowed by everything else on offer.</p><p>At the end of the day, McAfee delivers a polished, capable antivirus suite that goes toe-to-toe with the likes of Norton 360 and Bitdefender.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/antivirus/mcafee-plus-premium-review-2026</link>
                                                                            <description>
                            <![CDATA[ McAfee+ Premium offers comprehensive online and offline protection against viruses and scams. It's user-friendly, and the starting price is reasonable, too. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">R7CPiEW7syzMcqnd5ZytCJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/mG9WPwEWaYUoqwM2daRsvN-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 18 Aug 2026 08:53:58 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Antivirus]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Online Security]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/7SPsEgwiRa9MdL3BPuVJUW-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&amp;#39;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres.&lt;/p&gt;&lt;p&gt;A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&amp;#39;s also a licensed drone pilot and cameras expert so you&amp;#39;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/mG9WPwEWaYUoqwM2daRsvN-1920-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[McAfee+ Premium antivirus software]]></media:description>                                                            <media:text><![CDATA[McAfee+ Premium antivirus software]]></media:text>
                                <media:title type="plain"><![CDATA[McAfee+ Premium antivirus software]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/mG9WPwEWaYUoqwM2daRsvN-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>McAfee has been around for decades, and it has come a long way from the antivirus software I remember slowing down my PC as a teenager. Having tested McAfee+ Premium extensively, I can confirm that it’s one of the <a href="https://www.tomsguide.com/computing/antivirus/best-antivirus-software">best antivirus software</a> suites available today. It packs plenty of useful tools, such as Identity Monitoring, Secure VPN with no limits, File Shredder, and Tracker Remover.</p><p>The software sports a user-friendly interface that makes it a delight to use, and 24/7 customer support over chat and phone ensures all your problems are quickly resolved. Low impact on system resources is another highlight. Even though the Full Scan takes a while and renewal price makes your eye twitch, neither of those are dealbreakers.</p><p>For the complete breakdown, read my full McAfee+ Premium review.</p><h2 class="article-body__section" id="section-mcafee-premium-review-specs"><span>McAfee+ Premium review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Starting price</strong></p></td><td  ><p><a href="https://www.mcafee.com/en-gb/antivirus.html" target="_blank" rel="nofollow">$49 / £49</a> (yearly, Consumer) | <a href="https://www.dell.com/en-us/shop/mcafee-total-protection-antivirus-internet-security-software-for-1-device-1-year-subscription-download/apd/ac180675/software" target="_blank" rel="nofollow">$24</a> / <a href="https://business.currys.co.uk/catalogue/computing/software/internet-security-software/mcafee-total-protection-1-year-automatic-renewal-for-3-devices/N659993W" target="_blank" rel="nofollow">£11</a> (yearly, Business)</p></td></tr><tr><td class="firstcol " ><p><strong>Operating system</strong></p></td><td  ><p>Windows, macOS, Android, iOS</p></td></tr><tr><td class="firstcol " ><p><strong>Supported devices</strong></p></td><td  ><p>Unlimited</p></td></tr><tr><td class="firstcol " ><p><strong>Malware protection</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Ransomware protection</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Identity theft protection</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Webcam protection</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Parental controls</strong></p></td><td  ><p>Yes (Family plans only)</p></td></tr><tr><td class="firstcol " ><p><strong>VPN</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Password manager</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Cloud backup</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Firewall</strong></p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Secure browser</strong></p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Support</strong></p></td><td  ><p>24/7 phone and chat</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-mcafee-premium-review-costs-what-s-covered"><span>McAfee+ Premium review: Costs & what’s covered</span></h2><p>Similar to other antivirus software suites, McAfee offers different plans for consumers and businesses alike. Let’s talk about McAfee’s consumer plans first. The most basic plan, Essential, covers up to five devices and is available for <a href="https://www.mcafee.com/en-gb/antivirus.html" target="_blank" rel="nofollow">$39 / £33</a> for the first year.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="K5WxUZVVhzGMwJ5rPi9XqN" name="McAfee_" alt="McAfee+ Premium antivirus software" src="https://cdn.mos.cms.futurecdn.net/K5WxUZVVhzGMwJ5rPi9XqN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The McAfee+ Premium Individual plan is a step up from Essential, and costs $49 / £49 for the first year. It naturally includes everything Essential offers, plus a Social Privacy Manager as well as scanning the web for your personal information. McAfee+ Advanced Individual is the most expensive plan, offering the most comprehensive protection. It’ll cost you $89 / £74 for the first year. Alongside everything else included in Essential and Premium, Advanced includes up to $1 million identity theft coverage, bank and credit card transaction monitoring, credit lock and security freeze, and more.</p><p>It’s important to note that after your first year is up, McAfee’s renewal prices go up by <em>a lot. </em>For instance, the Premium plan I tested costs $149 after the first year — a steep $100 price hike. <a href="https://www.tomsguide.com/computing/antivirus/norton-360-review">Norton 360</a> Deluxe, in comparison, costs $124 per renewal, making it slightly cheaper than McAfee.</p><p>There are many family plans available, too, such as Premium Family ($69 starting price) and Ultimate Family ($249 starting price). If you own a business and want a competent antivirus software suite, a number of plans are available exclusively through Dell in the U.S. and Currys in the U.K., starting at just <a href="https://www.dell.com/en-us/shop/mcafee-total-protection-antivirus-internet-security-software-for-1-device-1-year-subscription-download/apd/ac180675/software" target="_blank" rel="nofollow">$24</a> / <a href="https://business.currys.co.uk/catalogue/computing/software/internet-security-software/mcafee-total-protection-1-year-automatic-renewal-for-3-devices/N659993W" target="_blank" rel="nofollow">£11</a> and going all the way up to <a href="https://www.dell.com/en-us/shop/mcafee-premium-family-antivirus-and-internet-security-software-for-unlimited-devices-subscription-1-year/apd/ac180678/software" target="_blank" rel="nofollow">$169</a> — depending on the number of devices and features, of course.</p><p>It’s important to read the fine print to understand what you’re signing up for, but in case you aren’t happy with your purchase, McAfee offers a 30-day money-back guarantee. Also, if McAfee fails to catch a virus and your device gets infected, the company’s Virus Protection Pledge states that it’ll refund you the amount you paid for your subscription.</p><h2 class="article-body__section" id="section-mcafee-premium-review-protection"><span>McAfee+ Premium review: Protection</span></h2><p>The more you pay for your McAfee subscription, the more protection you’ll get. For instance, the Essential plan protects up to five devices from scams and monitors the dark web for any personal detail leaks. The Premium plan (that I tested), on the other hand, covers unlimited macOS, Windows, iOS and Android devices, and offers extra features like Social Privacy Manager, Personal Data Cleanup and Online Account Cleanup (scans only). I’ll discuss these in detail shortly.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SxMdD6NqD8VwDrEvsn25nN" name="McAfee_" alt="McAfee+ Premium antivirus software" src="https://cdn.mos.cms.futurecdn.net/SxMdD6NqD8VwDrEvsn25nN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Regardless of the subscription you sign up for, McAfee offers a secure VPN, password manager and identity monitoring across all. But it’s important to note that it doesn’t offer cloud backup or ransomware protection, which is surprising. Competitors, like <a href="https://www.tomsguide.com/computing/antivirus/bitdefender-review">Bitdefender</a>, <a href="https://www.tomsguide.com/computing/antivirus/avast-one-review">Avast One</a> and Norton 360 offer these to a degree, so it’s worth considering them instead if these features are important to you.</p><p>Before diving into my experience with McAfee, let’s take a look at how three independent labs that test antivirus software twice a year (for the most part) rate it. <a href="https://www.av-test.org/en/antivirus/home-windows/" target="_blank" rel="nofollow">AV Test’s June 2026 report</a> rated McAfee as a “Top Product,” with 6/6 scores across Protection, Performance and Usability. Bitdefender, Avast and Norton 360 all received 100% scores, too, which goes to show that McAfee is just as good as its rivals, if not better.</p><p><a href="https://av-comparatives.org/tests/performance-test-april-2026/" target="_blank" rel="nofollow">AV Comparatives’ April 2026 test report</a> rated McAfee 1st out of the 19 antivirus software suites it tested — which is outstanding, as McAfee upstaged <a href="https://www.tomsguide.com/computing/antivirus/malwarebytes-review">Malwarebytes</a>, Avast, Norton 360 and Bitdefender. McAfee scored 90/100 in AVC, 96.7/100 in Procyon, and 3.3 in Impact. The low Impact rating means that the software doesn’t have a negative impact on your system’s resources. It blows the likes of Malwarebytes (17.6 Impact score) out of the water.</p><p>Lastly, I looked at <a href="https://selabs.uk/vendor/mcafee/" target="_blank" rel="nofollow">SE Labs’ (U.K.) June 2026 report</a>, which awarded McAfee an AAA rating with 98% protection accuracy and an overall 99% score. McAfee is edged out by Norton 360 and Bitdefender — but only just — as both of them achieved a 100% protection accuracy score.</p><h2 class="article-body__section" id="section-mcafee-premium-review-performance"><span>McAfee+ Premium review: Performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/wJTXLWzqRb5fJXRuuMLyw7-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wBf39aYqXp8BRhpjMFUNF8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zHgnooFUh4U79U5vgdWDP8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><div  class="fancy-box"><div class="fancy_box-title">Tom's Guide reviews gaming platform</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>Supplied by: </strong><a data-analytics-id="inline-link" href="https://www.msi.com/" target="_blank" rel="nofollow"><strong>MSI</strong></a><strong> | Tom's Guide</strong><br><strong></strong><br><strong>CPU:</strong> <a data-analytics-id="inline-link" href="https://www.amazon.com/AMD-7700X-16-Thread-Unlocked-Processor/dp/B0BBHHT8LY/" target="_blank" rel="nofollow">AMD Ryzen 7 7700X</a><strong> </strong>|<strong> Graphics card:</strong> <a data-analytics-id="inline-link" href="https://www.msi.com/Graphics-Card/GeForce-RTX-5070-Ti-16G-VANGUARD-SOC" target="_blank" rel="nofollow">MSI RTX 5070 Ti 16GB Vanguard SOC</a><strong> </strong>|<strong> Motherboard: </strong><a data-analytics-id="inline-link" href="https://www.msi.com/Motherboard/B850-GAMING-PLUS-WIFI" target="_blank" rel="nofollow">MSI B850E Gaming Plus WiFi</a><strong> </strong>|<strong> RAM: </strong><a data-analytics-id="inline-link" href="https://www.newegg.com/kingston-technology-corp-fury-renegade-32gb-ddr5-8000-cas-latency-cl38-desktop-memory-silver-black/p/N82E16820242829" target="_blank" rel="nofollow">Kingston Fury Renegade DDR5 32GB</a><strong> </strong>|<strong> Cooler:</strong> <a data-analytics-id="inline-link" href="https://www.amazon.com/Noctua-NH-U12S-chromax-Black-Single-Tower-Cooler/dp/B07Y88BNYZ" target="_blank">Noctua NH-U12S</a><strong> </strong>|<strong> PSU:</strong> <a data-analytics-id="inline-link" href="https://www.msi.com/Power-Supply/MEG-Ai1300P-PCIE5" target="_blank" rel="nofollow">MSI MEG Ai1300P PCIE5</a><strong> </strong>|<strong> Case: </strong><a data-analytics-id="inline-link" href="https://www.msi.com/PC-Case/MPG-GUNGNIR-110R" target="_blank" rel="nofollow">MSI MPG GUNGNIR 110R</a></p></div></div><p>Once you’ve bought your subscription, it’s time to download and install McAfee on your device and activate it. Doing so is extremely straightforward. Simply enter your product key, email address and billing information into <a href="https://www.mcafee.com/en-us/ipz/redeem/activate.html" target="_blank" rel="nofollow">McAfee’s dedicated activation page</a>. You’ll then be prompted to download the software onto your machine. On our testing rig, it took just under five minutes to get up and running.</p><p>On Android and iOS smartphones, you’ll need to download the free app from the respective app store, and punch in your registered email address to activate your subscription on your phone. Doing so on my <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Google Pixel 10 Pro XL</a> barely took any time — perhaps two minutes or so.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/TV5risiGr2tMMewkQFjoW8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ockGAY98piiJYM8La6j3g9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iuNNScu8hFxGuBruTnz5g9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/HzxggQY68cTp3CaJ2wN3g9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pPcmysgA6qtmZkpPXPmDg9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Dy5YszmotFzc3StyM6Kpv8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>After installing McAfee and activating my Premium plan on our MSI testing rig, I ran a Quick Scan and a Full Scan, both of which are easily accessible from the app’s main page. As its name suggests, McAfee’s Quick Scan quickly scans your computer, and it isn’t as in-depth as the Full Scan. It took 29 seconds for McAfee to quickly scan 38,846 files. No threats were detected. It’s handy that McAfee offers a Quick Scan option, unlike Bitdefender.</p><p>A Full Scan took much longer, in comparison. While software suites like Bitedefender and Malwarebytes scanned hundreds of thousands of files in under 26 minutes or so, McAfee took 34 minutes and 40 seconds to scan 351,968 files. It’s quite slow, really! I had enough time to do some stretches, make myself a cup of coffee, and have a chat with my coworkers, and McAfee was <em>still </em>scanning. But as I expected, it didn’t catch any anomalies or threats to the PC.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>FPS with McAfee running</strong></p></th><th  ><p><strong>FPS with Quick Scan running</strong></p></th><th  ><p><strong>FPS with Full Scan running</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Cyberpunk 2077 (Ultra graphics)</strong></p></td><td  ><p>99</p></td><td  ><p>93</p></td><td  ><p>87</p></td></tr><tr><td class="firstcol " ><p><strong>Forza Horizon 5 (High graphics)</strong></p></td><td  ><p>113</p></td><td  ><p>110</p></td><td  ><p>95</p></td></tr></tbody></table></div><p>The aforementioned scans were conducted with no other heavy-duty apps running in the background, so to get a clearer picture of how McAfee impacts system resources, I ran in-game benchmark tests in <a href="https://www.tomsguide.com/reviews/cyberpunk-2077-phantom-liberty">Cyberpunk 2077</a> and <a href="https://www.tomsguide.com/reviews/forza-horizon-5">Forza Horizon 5</a>. As you can see from the table above, Cyberpunk 2077’s frame rate dipped from 99fps to 87fps, while Forza Horizon 5’s went from 113fps to 95fps. I didn’t notice any lag while gaming, which is great. It’s worth pointing out that I achieved 97fps in Cyberpunk 2077 and 123fps in Forza Horizon 5 with Bitdefender running a Full Scan, though. Still, McAfee’s impact on system performance isn’t <em>that </em>noticeable.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Download (Mbps)</strong></p></th><th  ><p><strong>Upload (Mbps)</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Without McAfee</strong></p></td><td  ><p>901.2</p></td><td  ><p>922.4</p></td></tr><tr><td class="firstcol " ><p><strong>With McAfee running</strong></p></td><td  ><p>821.8</p></td><td  ><p>933.2</p></td></tr><tr><td class="firstcol " ><p><strong>Quick Scan running</strong></p></td><td  ><p>810.4</p></td><td  ><p>967.2</p></td></tr><tr><td class="firstcol " ><p><strong>Full Scan running</strong></p></td><td  ><p>807.1</p></td><td  ><p>948.7</p></td></tr></tbody></table></div><p>After finishing my in-game benchmarking, I ran a few internet speed tests at <a href="http://speedtest.net" target="_blank" rel="nofollow">speedtest.net</a> to see how McAfee impacted upload and download speeds. You can see the results in the table above. Surprisingly, neither the Quick Scan nor the Full Scan impacted the speeds by <em>that </em>much. Malwarebytes, in comparison, impacted upload speeds by a lot, as I was able to achieve only 592.4Mbps upload speeds with its Deep Scan running.</p><p>My testing goes to show that McAfee doesn’t have a detrimental effect on system resources — whether you’re browsing the internet or playing system-intensive games. Perhaps McAfee has finally gotten rid of the stereotype that it’s a drain on system resources.</p><h2 class="article-body__section" id="section-mcafee-premium-review-features"><span>McAfee+ Premium review: Features</span></h2><p>Alongside the two different types of scans, McAfee includes a bunch of extras to protect you against online and offline threats. I tested a few of the goodies included in the McAfee+ Premium Individual plan, starting with Identity Monitoring.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/WnkNiqSPGqa2YgYusMfnB9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9Lqj64owY3Yoeb3Yhiowy8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zN6zJv7Xjjih5NPkLybAs8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dQXHQcDKpuvEQR68J6pp39-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>This service constantly monitors the internet, including the dark web, for any identity theft, fraud or breaches. You can add credit cards, passports, national IDs, email addresses, and even different usernames. McAfee will then send you timely security alerts and provide guidance as to how to protect yourself. I put in a few different email addresses and usernames (such as the one I use on Instagram) and McAfee didn’t find any active breaches.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/nJmWkNpnxkReXJL9XKGFW9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uJNRHXKbrLeup6g44kpAX9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fHv3DFDv9on8o56xXBKjd8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>Next, I tried File Shredder, and it’s similar to the one you get with Malwarebytes. It enables you to permanently delete files to varying degrees, and it essentially overwrites data several times so there’s no trace left. Think of it like shredding a physical paper document to ensure no one else can read it. It worked well in my testing, as I used it to permanently delete files in the PC’s recycle bin.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/X866ffB5ajCGEZ95Bn38X9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QspPRAakcsZVkG79WtKr69-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JxwP7BcxHoJJazvwCSuZg8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ASWdQuRLh4vDf2FsrGkmk8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>There’s also a handy Tracker Remover tool which, as its name suggests, removes unwanted items, like temporary files and cookies that sites could potentially use to track you online. The Tracker Remover reviews temporary files, recycle bin items, browser cookies and trackers, and browser history, and then deletes them if they aren’t needed. In my testing, it took just under two minutes to free up 1.14 GB and remove 3,000 items.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/8PHUQ5N2sympePokGMTrV9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/W6nTfBzSXBRZutzwHsMyo8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XGntnUj9W3QgAXyifocfX9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>Last but not least, I tried McAfee’s unlimited Secure VPN which is included in every subscription plan. It masks your IP address using bank-grade AES 256-bit encryption and connecting to servers located in almost 50 countries. The VPN takes less than a minute to connect to your chosen country and once that’s done, your online identity and location are protected. You can customize it to connect automatically when joining a network with weak security, for instance, and even add trusted networks where the VPN shouldn’t be activated.</p><h2 class="article-body__section" id="section-mcafee-premium-review-interface"><span>McAfee+ Premium review: Interface</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/NTGR99dgp4dZdRcEMVcAA8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JZLU8M99ji7HgVtStnAD78-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JexoX4DFjZDy6JBGq5b3g9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>McAfee sports a clean and user-friendly interface, and I’ve had no issues using it whatsoever. The online dashboard, <a href="https://myaccount.mcafee.com/v2/" target="_blank" rel="nofollow">McAfee My Account</a>, gives you quick access to your subscription details and it lets you edit billing and renewal details. The downloaded software is straightforward to use and understand, too, thanks to plenty of signposting and explanations.</p><p>But unlike Malwarebytes, the McAfee app’s window can’t be maximized or made full-size, which means you have to scroll through the various settings one by one. This isn’t uncommon, though, as neither Bitdefender’s nor Avast One’s windows can be made to take up the full screen.</p><p>The McAfee mobile app is just as user-friendly if not more. The initial download took just 130MB of space on my Google Pixel 10 Pro XL — though this will naturally grow with use.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/uAGcnj3D4PJRhEhbt6Tzf9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QEtuXhHfL23fKiXbFL5Vb9-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>I’ve seen many online users complaining about the uninstallation process on desktop. However, I didn’t experience any issues uninstalling McAfee from our testing rig. I wasn’t prompted again and again to keep the software, and it took just under 10 minutes to remove the software and restart my machine.</p><h2 class="article-body__section" id="section-mcafee-premium-review-support"><span>McAfee+ Premium review: Support</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/sNT5zeMosnvZ2M2GEBsuL8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ptrfa3aKXLDEXbzCSBGEP8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fxmteuzhdAuPaFYHJGGTS8-1920-80.jpg" alt="McAfee+ Premium screenshots on PC" /><figcaption><small role="credit">McAfee / Tom's Guide</small></figcaption></figure></figure><p>If you find yourself in a pickle or have any questions about McAfee and your subscription, you can get in touch with customer support either via <a href="https://www.mcafee.com/support/s/?language=en_US" target="_blank" rel="nofollow">online chat</a> or over the phone. This is a similar level of support to what’s offered by Bitdefender and Norton 360.</p><p>I tested out the online chat function and I found it super easy to use. I asked the AI assistant a question and it answered promptly (and accurately). I then asked to speak to a human and within a couple of minutes, I was connected to a human agent. I like that I didn’t have to keep explaining <em>why </em>I needed to speak to a person.</p><p>If you need immediate assistance and can’t be bothered by typing, you can always ring <a href="https://www.mcafee.com/support/s/contactsupport" target="_blank" rel="nofollow">McAfee’s customer service team</a> which is available 24/7. It’s nice that McAfee offers phone support, unlike Malwarebytes. It makes getting help easier.</p><h2 class="article-body__section" id="section-mcafee-premium-review-verdict"><span>McAfee+ Premium review: Verdict</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SovGxRexYjntV4ze63sirN" name="McAfee_" alt="McAfee+ Premium antivirus software" src="https://cdn.mos.cms.futurecdn.net/SovGxRexYjntV4ze63sirN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>McAfee+ Premium is a strong all-round antivirus package that doesn’t skimp on features and tools that keep you safe online and offline. Protection is excellent, independent lab results are consistent (and impressive), and the software doesn’t get in the way when you’re gaming or browsing the internet. The user experience is sublime, too, as the software sports a clean, user-friendly interface.</p><p>There are a couple of catches, though, such as the Full Scan taking over 35 minutes to complete in our testing. While the cost for the first year isn’t much more than its competitors, renewal price can feel quite steep. Are either of those dealbreakers? Not necessarily, as they’re overshadowed by everything else on offer.</p><p>At the end of the day, McAfee delivers a polished, capable antivirus suite that goes toe-to-toe with the likes of Norton 360 and Bitdefender.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The 256GB laptop is the new 32GB phone — and it’s quietly pushing you into cloud subscriptions ]]></title>
                                                                                                <dc:content><![CDATA[ <p>There was a time not too long ago when a 32GB smartphone felt perfectly workable — potentially even spacious. Fast forward to today and apps have gotten bigger, cameras have become larger, and routine software updates now eat entire gigabytes on their own. </p><p>32GB has gone from seeming totally normal (even luxurious) to looking absurdly stingy. I think 256GB laptops are heading in the same direction. </p><p>In 2026, plenty of otherwise <a href="https://www.tomsguide.com/best-picks/best-budget-laptops">excellent laptops</a> start with 256GB of storage, despite many of the <a href="https://www.tomsguide.com/best-picks/best-phones">best smartphones</a> offering the same amount. At first, 256GB might be enough, but after months or years of apps, photos, downloads, and updates, that breathing room is just... gone.</p><p>And when it does go, <a href="https://www.tomsguide.com/reviews/windows-11">Windows 11</a> and <a href="https://www.tomsguide.com/computing/macos/apple-macos-tahoe-review">macOS</a> have a very convenient answer waiting in the wings: move more of your stuff into the cloud — and, sooner or later, start paying for it.</p><div class="product"><a data-dimension112="bdce9650-972a-11f1-bf3c-f145984e235b" data-action="Deal Block" data-label="13" MacBook Air (M5)" data-dimension48="13" MacBook Air (M5)" data-dimension25="$1297" href="https://www.amazon.com/Apple-2026-MacBook-13-inch-Laptop/dp/B0GR1JTFP8?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="2S3mMDzKcdQKAxWc4wGxDQ" name="MacBook Air M5 deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/2S3mMDzKcdQKAxWc4wGxDQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Apple-2026-MacBook-13-inch-Laptop/dp/B0GR1JTFP8?th=1" target="_blank" rel="nofollow" data-dimension112="bdce9650-972a-11f1-bf3c-f145984e235b" data-action="Deal Block" data-label='13" MacBook Air (M5)' data-dimension48='13" MacBook Air (M5)' data-dimension25="$1297">13" MacBook Air (M5): $1297</a></strong><br>The MacBook Air has been upgraded with more power. The new laptop features a 13.6-inch (2560 x 1664) display, the new Apple M5 chip, 16GB of RAM, a 512GB SSD, and support for Wi-Fi 7 and Bluetooth 6. Although it now costs $100 more, the base model comes with a 512GB SSD instead of 256GB.<a class="view-deal button" href="https://www.amazon.com/Apple-2026-MacBook-13-inch-Laptop/dp/B0GR1JTFP8?th=1" target="_blank" rel="nofollow" data-dimension112="bdce9650-972a-11f1-bf3c-f145984e235b" data-action="Deal Block" data-label="13" MacBook Air (M5)" data-dimension48="13" MacBook Air (M5)" data-dimension25="$1297">View Deal</a></p></div><h2 id="256gb-isn-t-tiny-and-that-s-exactly-the-problem">256GB isn’t tiny — and that’s exactly the problem</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="iQBUvBQeStovV4YftmSdMZ" name="Lenovo Chromebook Plus 14" alt="Lenovo Chromebook Plus 14" src="https://cdn.mos.cms.futurecdn.net/iQBUvBQeStovV4YftmSdMZ-1920-80.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The funny part, if we can call it that, is that 256GB can feel perfectly comfortable for those who live inside a browser. But there's a difference between having enough storage and having enough room to <em>grow</em>.</p><p>We’ve previously said that <a href="https://www.tomsguide.com/computing/laptops/5-things-to-look-for-when-buying-a-laptop-from-someone-who-reviews-them-for-a-living">256GB is the bare minimum</a> you should look for in a general-purpose laptop, and that increasingly feels spot on in 2026.  </p><p>It’s definitely enough to get by, but it doesn’t leave you with a huge amount of headroom for the future. In a world where a single <a href="https://www.tomsguide.com/entertainment/music-streaming/spotifys-latest-update-makes-organizing-your-music-easier-plus-improved-offline-downloads">Spotify</a> playlist with 1,000 songs can take up nearly 10GB of space, bigger is better.  </p><p>You can actually see the shift happening elsewhere in the market: Apple’s latest <a href="https://www.tomsguide.com/computing/macbooks/macbook-air-m5-review">MacBook Air</a> now starts with 512GB, an upgrade we welcomed, while many <a href="https://www.tomsguide.com/best-picks/best-budget-laptops">budget laptops</a> continue to stick with 256GB to keep their prices down.</p><p>There is, of course, some nuance to this picture. A <a href="https://www.tomsguide.com/news/best-chromebook-deals-prices">cheap Chromebook</a> or secondary laptop definitely doesn’t need a huge SSD, and with memory prices soaring, buying decisions are becoming harder than ever.</p><p>But for a laptop you expect to use as your main computer for the next five-plus years, 256GB looks less like a specification and more like a compromise.</p><h2 id="your-laptop-can-last-years-but-its-storage-can-t-grow-with-it">Your laptop can last years, but its storage can’t grow with it</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ywqirqeDaWNqKZgmGgbrqF" name="macbook air m4" alt="macbook air m4" src="https://cdn.mos.cms.futurecdn.net/ywqirqeDaWNqKZgmGgbrqF-1920-80.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>At a basic level, storage is one of the few parts of a laptop that can become more restrictive simply through normal use.</p><p>Photos, downloads, apps, offline media, assorted files, and everything else you acquire from day to day gradually pile up, while the SSD you bought on day one stays the same size. This situation is less of a problem if you can simply replace the SSD later. </p><p>Some Windows laptops, like the excellent <a href="https://www.tomsguide.com/computing/laptops/framework-laptop-13-pro-revealed-and-its-a-ground-up-redesign-of-our-favorite-modular-laptop">Framework models</a>, still make that relatively straightforward, but plenty of thin-and-light notebooks — including <a href="https://www.tomsguide.com/computing/macbooks/i-review-macbooks-for-a-living-and-these-are-the-biggest-developments-i-expect-in-2026">MacBooks</a> — effectively lock you into whatever capacity you choose at checkout.</p><div class="product"><a data-dimension112="bdce9718-972a-11f1-b4e8-7590d6ebcb98" data-action="Deal Block" data-label="Laptop 16 (2025)" data-dimension48="Laptop 16 (2025)" data-dimension25="$1599" href="https://frame.work/laptop16" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1305px;"><p class="vanilla-image-block" style="padding-top:69.04%;"><img id="fnhfRVzYGyhBCo8Ng2wFJn" name="Framework Laptop 16.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/fnhfRVzYGyhBCo8Ng2wFJn-1920-80.jpg" mos="" align="middle" fullscreen="" width="1305" height="901" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://frame.work/laptop16" target="_blank" rel="nofollow" data-dimension112="bdce9718-972a-11f1-b4e8-7590d6ebcb98" data-action="Deal Block" data-label="Laptop 16 (2025)" data-dimension48="Laptop 16 (2025)" data-dimension25="$1599">Laptop 16 (2025): $1599</a></strong><br>The Framework Laptop 16 is a fully customizable, repairable, and upgradable laptop. It now includes the option to outfit it with an Nvidia GeForce RTX 5070 graphics card. In our <a href="https://www.tomsguide.com/computing/laptops/framework-laptop-16-2025-review">Framework Laptop 16 review,</a> we called the Editor's Choice machine our favorite laptop of the year and a must-buy for DIYers and folks who value their right to repair.<a class="view-deal button" href="https://frame.work/laptop16" target="_blank" rel="nofollow" data-dimension112="bdce9718-972a-11f1-b4e8-7590d6ebcb98" data-action="Deal Block" data-label="Laptop 16 (2025)" data-dimension48="Laptop 16 (2025)" data-dimension25="$1599">View Deal</a></p></div><h2 id="conveniently-there-s-a-subscription-for-that">Conveniently, there’s a subscription for that</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2112px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6vEt8qRjSJA8ncGGUriukH" name="Framework Laptop 13 upgradeable" alt="Framework Laptop 13 being upgraded with new memory" src="https://cdn.mos.cms.futurecdn.net/6vEt8qRjSJA8ncGGUriukH-1920-80.jpg" mos="" align="middle" fullscreen="" width="2112" height="1188" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Framework)</span></figcaption></figure><p>Running low on storage is less painful than it used to be, mainly because Windows and macOS are extremely good at pushing files to the cloud.</p><p>OneDrive’s <a href="https://www.tomsguide.com/reviews/microsoft-onedrive-review">Files On-Demand feature</a>, for example, lets files remain visible in File Explorer without actually taking up space, while macOS can automatically move less frequently used files into <a href="https://www.tomsguide.com/phones/iphones/i-pay-for-icloud-not-for-storage-but-for-this-perk-instead">iCloud</a> when space starts running low.</p><p>There's no denying that these are genuinely useful features that save people a lot of hassle; having to actively choose what to delete is tough, and decision paralysis is real. </p><p>The problem comes when cloud storage starts compensating for your laptop's limited built-in storage.</p><p>Both OSes make that transition remarkably easy: You fill the SSD, move more into the cloud, and eventually find yourself paying for extra capacity. Almost without noticing, an understandable hardware compromise becomes yet another subscription.</p><p><a href="https://www.tomsguide.com/buying-guide/best-cloud-storage">Cloud storage</a> also isn’t a like-for-like replacement for local storage. Apps, games, caches, and plenty of other files still need SSD space, while online-only files naturally depend on an internet connection.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBz6Ke"></div>                            </div>                            <script src="https://kwizly.com/embed/eBz6Ke.js" async></script><h2 id="ai-is-making-the-obvious-solution-harder">AI is making the obvious solution harder</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xvJgTcuknLbUZo9QawcVzi" name="macbook neo" alt="macbook neo" src="https://cdn.mos.cms.futurecdn.net/xvJgTcuknLbUZo9QawcVzi-1920-80.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The obvious answer would be for 512GB to become the new baseline. Unfortunately, 2026 is turning out to be a pretty terrible year for that transition.</p><p>As you might have read, the <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAMageddon</a> is also putting pressure on the storage inside our laptops, as well as <a href="https://www.tomsguide.com/gaming/best-games-consoles">consoles</a>, <a href="https://www.tomsguide.com/best-picks/best-cheap-tablets">tablets</a>, <a href="https://www.tomsguide.com/best-picks/best-phones">smartphones</a>, and, well, pretty much every consumer device.</p><p>Data centres need vast amounts of memory and storage to keep AI services running, and that extra demand is making the components used in consumer SSDs more expensive too.</p><p>We’ve already seen how the wider memory crunch is <a href="https://www.tomsguide.com/computing/laptops/buying-a-laptop-in-2026-is-complicated-heres-a-survival-guide-to-help-you-make-the-best-choice">affecting the laptop market</a>, with manufacturers facing higher component costs and difficult decisions over where to make compromises. Even usually unflappable giants like Apple are <a href="https://www.tomsguide.com/computing/macbooks/apple-price-hikes-are-official-heres-how-much-more-youll-pay-for-macbooks-and-ipads-now">raising prices</a> across the board. </p><p>All of this makes sticking with 256GB easier to understand, even if it doesn’t make it any more appealing. The 256GB laptop isn’t obsolete yet. But, like the 32GB phone before it, its days as an acceptable default should be numbered.</p><div data-widget-type="multimodelreview" data-model-name="Apple MacBook Neo,Dell XPS 13"></div><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/claude/claude-is-watermarking-every-response-heres-what-that-means-if-you-use-ai-for-writing">Claude is now watermarking every response — here's what that means if you use AI for writing</a></li><li><a href="https://www.tomsguide.com/computing/gaming-laptops/hyperx-omen-15-review">I tested the HyperX Omen 15, and it almost made me forget my PS5</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/i-checked-out-the-pixel-11-pixel-11-pro-and-pixel-11-pro-xl-heres-the-one-i-recommend">I checked out the Pixel 11, Pixel 11 Pro, and Pixel 11 Pro XL — here’s the one I recommend</a></li></ul><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=laptops&min_discount_ratio=0.95&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&bg_color=transparent" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters {      display: flex;      gap: 12px;      justify-content: center;      flex-wrap: wrap;    }    .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);      display: -webkit-box;      -webkit-line-clamp: 2;      -webkit-box-orient: vertical;      overflow: hidden;    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    .tg-df-container .tg-df-card-cta.tg-df-cta-savings-squad {      background-color: #3c8d0d;    }    .tg-df-card:hover .tg-df-card-cta.tg-df-cta-savings-squad,    .tg-df-card-cta.tg-df-cta-savings-squad:hover {      background-color: #2b6509;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 0;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 0 16px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }            .tg-df-filters {        width: calc(100% + 32px);        margin: 0 -16px;        padding: 0 16px 4px 16px;        display: flex;        justify-content: flex-start;        gap: 8px;        flex-wrap: nowrap;        overflow-x: auto;        -webkit-overflow-scrolling: touch;        scrollbar-width: none;      }      .tg-df-filters::after {        content: "";        display: block;        flex: 0 0 8px;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }            .tg-df-sort-wrapper {        flex: 0 0 max(42%, 130px);        min-width: 0;      }      .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;        -webkit-line-clamp: 3;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        -webkit-line-clamp: 3;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 16px;      text-align: center;      width: 100%;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }        .tg-df-container .tg-df-carousel-scroll-left,    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-left { left: 8px; }    .tg-df-container .tg-df-carousel-scroll-right { right: 8px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { left: 0px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right { right: 0px; }    .tg-df-carousel-filters-outer { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }    @container tg-df (max-width: 599px) { .tg-df-carousel-filters-outer { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; } }        .tg-df-container .tg-df-carousel-scroll-left:hover,    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: #f8fafc;      border-color: #cbd5e1;    }        .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-left,    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right,    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left,    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right {      background-color: rgba(255, 255, 255, 0.4);      border: none;      box-shadow: none;      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-left { left: 0; }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right { right: 0; }    .tg-df-grid-wrapper .tg-df-carousel-scroll-left { left: 0; }    .tg-df-grid-wrapper .tg-df-carousel-scroll-right { right: 0; }        .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-left:hover,    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);      border: none;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-carousel-roundels::after {      content: "";      flex: 0 0 32px;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;      transition: font-weight 0.2s;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-label {      font-weight: 700;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;      display: inline-flex;      align-items: center;      justify-content: center;      min-height: 36px;      box-sizing: border-box;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::after {      content: "";      flex: 0 0 32px;    }    .tg-df-grid-wrapper {      position: relative;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card {      flex: 0 0 auto;      width: 100px;      border-radius: 15px;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      border: 2px solid #1e293b;      background: white;      color: #1e293b;      display: flex;      flex-direction: column;      justify-content: center;      align-items: center;      font-weight: 600;      font-size: 14px;      cursor: pointer;      padding: 16px;      text-align: center;      transition: all 0.2s;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card:hover {      background: #1e293b;      color: white;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.45);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #5aaf0b; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #4a9109; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-roundels">            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>          \x3C/div>          \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-outer" style="position: relative;">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>        \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3C/div>    \x3C/div>    \x3C/div>      \x3C!-- Search & Filter Controls --\x3E    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">      \x3Cdiv class="tg-df-top-bar">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>                \x3Cdiv class="tg-df-settings-wrapper">          \x3Cbutton type="button" class="tg-df-settings-btn" aria-label="Settings" id="tg-df-settings-toggle">            \x3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20">                \x3Cpath d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.06-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.73 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.06.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .43-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.49-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/>            \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-settings-dropdown-backdrop" id="tg-df-settings-backdrop">\x3C/div>          \x3Cdiv class="tg-df-settings-dropdown" id="tg-df-settings-panel">            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Search Region\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-region-select">                \x3Coption value="auto">🌍 Auto-detect\x3C/option>                \x3Coption value="US">🇺🇸 United States (US)\x3C/option>                \x3Coption value="GB">🇬🇧 United Kingdom (UK)\x3C/option>                \x3Coption value="CA">🇨🇦 Canada (CA)\x3C/option>                \x3Coption value="AU">🇦🇺 Australia (AU)\x3C/option>                \x3Coption value="DE">🇩🇪 Germany (DE)\x3C/option>                \x3Coption value="FR">🇫🇷 France (FR)\x3C/option>                \x3Coption value="IT">🇮🇹 Italy (IT)\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Retailer\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-retailer-select">                \x3Coption value="">All Retailers\x3C/option>                \x3Coption value="Amazon">Amazon\x3C/option>                \x3Coption value="Walmart">Walmart\x3C/option>                \x3Coption value="Best Buy">Best Buy\x3C/option>                \x3Coption value="Target">Target\x3C/option>                \x3Coption value="John Lewis">John Lewis\x3C/option>                \x3Coption value="Currys">Currys\x3C/option>                \x3Coption value="Argos">Argos\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Offer Type\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-offer-type-select">                \x3Coption value="">All Offers\x3C/option>                \x3Coption value="amazon_prime">Amazon Prime\x3C/option>                \x3Coption value="recommended_promo">Recommended Promo\x3C/option>                \x3Coption value="amazon_lightning">Amazon Lightning Deal\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Result Count\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-rows-select">                \x3Coption value="3">3 Items\x3C/option>                \x3Coption value="4">4 Items\x3C/option>                \x3Coption value="6">6 Items\x3C/option>                \x3Coption value="12" selected>12 Items\x3C/option>                \x3Coption value="24">24 Items\x3C/option>                \x3Coption value="48">48 Items\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Deal Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Only show products with active offers or previous prices (was_price)\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-deal-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Editor Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Enable multi-select to copy deals to CMS\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-editor-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">View Mode\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-view-mode-select">                \x3Coption value="auto">Auto Collection\x3C/option>                \x3Coption value="carousel">Carousel\x3C/option>                \x3Coption value="savings_squad">Savings Squad\x3C/option>                \x3Coption value="grid">Grid (Columns)\x3C/option>                \x3Coption value="row">Row (List)\x3C/option>              \x3C/select>            \x3C/div>          \x3C/div>        \x3C/div>      \x3C/div>      \x3Cdiv class="tg-df-filters">        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z"/>          \x3C/svg>          \x3Cselect class="tg-df-sort-select" aria-label="Sort Deals">            \x3Coption value="date_desc">Newest First\x3C/option>            \x3Coption value="best_match">Sort by: Match\x3C/option>            \x3Coption value="price_asc">Price Low to High\x3C/option>            \x3Coption value="price_desc">Price High to Low\x3C/option>            \x3Coption value="discount_desc">Biggest Discount\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>        \x3C/div>      \x3C/div>    \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>      \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();            if (['carousel', 'carousel-compact', 'auto', 'grid', 'row'].includes(this.getViewMode())) { this.loadCarouselSpreadsheet(); }        }        getViewMode() {          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          if (mode === 'carousel' || mode === 'auto' || mode === 'grid' || mode === 'row') {             if (mode === 'carousel') this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container') && mode === 'carousel') {               this.root.classList.add('is-carousel');             } else if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Everything';             if (this.discountFilter && !params.has('min_discount_ratio')) {               this.discountFilter.value = '5';             }          }          const website = params.get('website') || 'tomsguide';          this.website = website;          if (website === 'techradar') {            const squadHeader = this.root.querySelector('.tg-df-savings-squad-header');            if (squadHeader) {               const pic = squadHeader.querySelector('picture');               if (pic) pic.style.display = 'none';            }            const style = document.createElement('style');            style.innerHTML = `              .tg-df-container .hawk-affiliate-link-deal-button, .tg-df-container .tg-df-card-cta { background-color: #5DAF08 !important; }              .tg-df-container .hawk-affiliate-link-deal-button:hover, .tg-df-container .tg-df-card-cta:hover { background-color: #4a8c06 !important; }            `;            this.root.appendChild(style);          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (params.has('bg_color')) {            const bg = params.get('bg_color');            if (bg === 'white') {              this.root.style.setProperty('background-color', '#ffffff', 'important');            } else if (bg === 'transparent') {              this.root.style.setProperty('background-color', 'transparent', 'important');            } else if (bg === 'light_blue') {              this.root.style.setProperty('background-color', '#E7F0FF', 'important');            }          } else {             this.root.style.removeProperty('background-color');          }                    if (params.has('view_mode')) {            if (this.viewModeSelect) {              this.viewModeSelect.value = params.get('view_mode');            } else {              this.viewModeOverride = params.get('view_mode');            }          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'discount_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            this.searchInput.value = this.currentQuery;          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'discount_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const roundels = this.root.querySelectorAll('.tg-df-carousel-cat.original-hardcoded');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: q,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              if (this.getViewMode() === 'savings_squad' && this.autocompleteDropdown && this.airedaleTags && query.length > 0) {                 const matches = this.airedaleTags.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase()).slice(0, 5);                 if (matches.length > 0) {                    this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                    this.autocompleteDropdown.classList.add('active');                 } else {                    this.autocompleteDropdown.classList.remove('active');                 }              } else if (this.autocompleteDropdown) {                 this.autocompleteDropdown.classList.remove('active');              }              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  this.deals = [];                  this.render();                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                this.activeDealTag = null;                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });              this.activeDealTag = null;              this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.fetchDeals(query);              }            });          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = this.viewModeSelect.value === 'savings_squad' ? 'date_desc' : 'discount_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const rewrittenLink = cardLink.getAttribute('href');                const revenueId = cardLink.getAttribute('data-revenue-id');                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }          this.setupScrollListeners();        }        setupScrollListeners() {          const containers = [             this.root.querySelector('.tg-df-carousel-roundels'),             this.root.querySelector('.tg-df-carousel-filters-wrap'),             this.root.querySelector('#tg-df-grid')          ];                    containers.forEach(container => {             if (!container) return;                          const checkScroll = () => {                if (!container.parentElement) return;                const leftBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-left');                const rightBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-right');                                if (leftBtn) {                   if (container.scrollLeft <= 5) leftBtn.style.display = 'none';                   else leftBtn.style.display = 'flex';                }                                if (rightBtn) {                   if (container.scrollWidth <= container.clientWidth) {                       rightBtn.style.display = 'none';                   } else if (container.scrollLeft >= container.scrollWidth - container.clientWidth - 5) {                       rightBtn.style.display = 'none';                   } else {                       rightBtn.style.display = 'flex';                   }                }             };                          container.addEventListener('scroll', checkScroll);             checkScroll();                          window.addEventListener('resize', checkScroll);                          const observer = new MutationObserver(checkScroll);             observer.observe(container, { childList: true, subtree: true, characterData: false });          });        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getRowsLimit() {          if (this.rowsSelect && this.rowsSelect.value) return parseInt(this.rowsSelect.value, 10);          let configSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {             configSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {             configSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(configSource);          if (params.has('rows')) return parseInt(params.get('rows'), 10) || 12;          return 12;        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }                async loadCarouselSpreadsheet() {          try {              const parseCSVRow = (str) => {                  let result = [], cur = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (inQuotes) {                          if (char === '"') {                              if (str[i + 1] === '"') { cur += '"'; i++; }                              else { inQuotes = false; }                          } else { cur += char; }                      } else {                          if (char === '"') { inQuotes = true; }                          else if (char === ',') { result.push(cur); cur = ''; }                          else { cur += char; }                      }                  }                  result.push(cur); return result;              };              const parseCSV = (str) => {                  const rows = []; let curRow = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (char === '"') inQuotes = !inQuotes;                      if ((char === '\n' || char === '\r') && !inQuotes) {                          if (char === '\r' && str[i+1] === '\n') i++;                          if (curRow) rows.push(parseCSVRow(curRow));                          curRow = '';                      } else { curRow += char; }                  }                  if (curRow) rows.push(parseCSVRow(curRow));                  return rows;              };              const preloadedCSV = decodeURIComponent(escape(atob("LCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNQ0KUm91bmRlbCB0ZXh0LEFsbCxUVnMsRm9vdHdlYXIsQXBwYXJlbCxNYXR0cmVzZXMsQXBwbGlhbmNlcyxXZWFyYWJsZSB0ZWNoLEhlYWRwaG9uZXMsU21hcnQgSG9tZSxTcGVha2VycyxMYXB0b3BzLFRhYmxldHMsQ29tcHV0aW5nLFBob25lcyxHYW1pbmcsTGVnbw0KUm91bmRlbCBpbWFnZSxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Nob3AtYXNzZXRzL2Nhcm91c2VsL2FpLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Nob3AtYXNzZXRzL2Nhcm91c2VsL3R2cy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvN2IzYTIyNGIwNzk2M2M2MjdiNmI5MDliZDc4MzM4MzZlMDJmZjgxOS5qcGcud2VicCxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy84NGRhYzVkNDhlZDJkNDQ4NTU5ZWJhNjdhY2U4MzE0Y2M2N2NjZDk0LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vc2hvcC1hc3NldHMvY2Fyb3VzZWwvbWF0dHJlc3Nlcy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvNzY4ZTk3Y2ViMDcxODAxZmFlMjA5MTBkMDgyMGIxNmY3NDdhZjkzOS5qcGcud2VicCxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Nob3AtYXNzZXRzL2Nhcm91c2VsL3dlbGxuZXNzLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Nob3AtYXNzZXRzL2Nhcm91c2VsL2hlYWRwaG9uZXMuanBnLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzg5NTM1YmVlYmUyMGRiYmQ0YTM0NmQ2ZDZiZGZlOTFkOGE4ODRhMjEuanBnLndlYnAsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9zaG9wLWFzc2V0cy9jYXJvdXNlbC9hdWRpby5qcGcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9zaG9wLWFzc2V0cy9jYXJvdXNlbC9sYXB0b3BzLmpwZyxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy8yMzk3NTY0ZWQ3YTVmZjk0N2U5YjZiMzBlNTRmNDc0OTRiODQxZjg5LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vc2hvcC1hc3NldHMvY2Fyb3VzZWwvY29tcHV0aW5nLmpwZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Nob3AtYXNzZXRzL2Nhcm91c2VsL3Bob25lcy5wbmcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9zaG9wLWFzc2V0cy9jYXJvdXNlbC9nYW1pbmcucG5nLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzRmNmM2MjFjYWMwYmMxYTg1ZDU5M2UzNTk0YmE1YjM0OWVmZmQyOTIuanBnLndlYnANClNlYXJjaCBRdWVyeSxFdmVyeXRoaW5nLFRlbGV2aXNpb25zLCJTbmVha2VycywgcnVubmluZyBzaG9lcywgc2FuZGFscyIsQ2xvdGhpbmcsTWF0dHJlc3NlcyxIb21lIEFwcGxpYW5jZXMsV2VhcmFibGVzICYgRml0bmVzcyBUZWNoLEhlYWRwaG9uZXMsSG9tZSBUZWNoLFNwZWFrZXJzLExhcHRvcHMsVGFibGV0cyxDb21wdXRpbmcsUGhvbmVzLEdhbWluZyxDb25zdHJ1Y3Rpb24gVG95cw0KRGlzY291bnQgQW1vdW50LG1pbiA1JSxtaW4gMTAlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUNClByaWNlIFJhbmdlLCwsLCxtaW4gJDQwMCwsLCxtaW4gJDI1LCxtaW4gJDMwMCwsLG1pbiAkMTAwLCwNCkJyYW5kIFNlbGVjdGlvbiwsLCwsLCwsLCwsLCwsLCwNCkZpbHRlciBidXR0b25zLCwsLCwsLCwsLCwsLCwsLA0KMSxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMNCjIsQW1hem9uIGRlYWxzLFVuZGVyICQxMDAwLDUwJSBvZmYsQWRpZGFzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsNTAlIG9mZixBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscw0KMyxPdmVyICQ0MDAsVW5kZXIgJDUwMCxIb2thLE5pa2UsU2FhdHZhLE5pbmphLDQwJSBvZmYsSkxhYiwsSkJMLERlbGwsLEFzdXMsQXBwbGUsQ29uc29sZXMsU3RhciBXYXJzDQo0LFVuZGVyICQxMDAwLDUwJSBvZmYsU2tlY2hlcnMsVW5kZXIgQXJtb3VyLEhlbGl4LFNoYXJrLEdhcm1pbixBbmtlciBTb3VuZGNvcmUsUmluZyxTb25vcyxBcHBsZSxBcHBsZSxUUC1saW5rLFNhbXN1bmcsQWNjZXNzb3JpZXMsVW5kZXIgJDI1DQo1LFVuZGVyICQ1MDAsTEcsQXNpY3MsQ29sdW1iaWEsRHJlYW1DbG91ZCxLZXVyaWcsQXBwbGUsU29ueSxHb3ZlZSxUcmliaXQsTGVub3ZvLFNhbXN1bmcsRWVybyxHb29nbGUsR2FtZXMsVW5kZXIgJDUwDQo2LDUwJSBvZmYsU2Ftc3VuZyxOaWtlLFBhdGFnb25pYSxOZWN0YXIsRGUnTG9uZ2hpLEFtYXpmaXQsQXBwbGUsS2FzYSBzbWFydCxTb255LEFsaWVud2FyZSxUQ0wsTmV0Z2VhcixNb3Rvcm9sYSxOaW50ZW5kbyxCb3RhbmljYWxzDQo3LEFtYXpvbixIaXNlbnNlLE5ldyBCYWxhbmNlLEFyYyd0ZXJ5eCxUZW1wdXItcGVkaWMsRHlzb24sRml0Yml0LEJlYXRzLFBoaWxpcHMgSHVlLEFua2VyLEFjZXIsT25lUGx1cyxEZWxsLE9uZVBsdXMsU29ueSxEaXNuZXkNCjgsQXBwbGUsVENMLEFkaWRhcyxDYXJoYXJ0dCxCZWFyLEJpc3NlbGwsU2Ftc3VuZyxFYXJmdW4sQmxpbmssQmVhdHMsTVNJLE1pY3Jvc29mdCxBY2VyLE5vdGhpbmcsWGJveCxNYXJ2ZWwNCjksLFNvbnksU2F1Y29ueSxUaGUgTm9ydGggRmFjZSxTaWVuYSxOdXRyaWJ1bGxldCxPdXJhLFNhbXN1bmcsR29vZ2xlIE5lc3QgLE1hcnNoYWxsLFNhbXN1bmcsTGVub3ZvLExlbm92bywsLFBva2Vtb24NCjEwLCxSb2t1LEJpcmtlbnN0b2NrLENSWiBZb2dhLFdpbmtCZWRzLEJsYWNrIGFuZCBEZWNrZXIsUmluZ2Nvbm4sQ01GLEV1ZnksU2Ftc3VuZyxNaWNyb3NvZnQsUmVNYXJrYWJsZSxBbGllbndhcmUsLCwNCjExLCwsQnJvb2tzLFRoZSBHeW0gUGVvcGxlLEJyb29rbHluIGJlZGRpbmcsTmVzcHJlc3NvLCwxTW9yZSxBcmxvLCxSYXplciwsQ29yc2FpciwsLA0KMTIsLCxDcm9jcywsRWlnaHQgU2xlZXAsQ3Vpc2luYXJ0LCxKQkwsLCwsLEhQLCwsDQpOb3RlcywsLCwsLCwsLCwsLCwsLCwNCiwsIlByaW9yaXRpc2UgYmlnZ2VzdCAlLyQgZGlzY291bnQsIFR2cyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiB0aGUgbW9zdCBwb3B1bGFyIGV2ZW4gaWYgdGhleSBhcmUgc3RpbGwgZXhwZW5zaXZlIiwiTm8gcGF0dGVybiB0byBwcmljaW5nL2Rpc2NvdW50LCByZWFkZXJzIG1haW5seSBzaG9wIGJ5IGJyYW5kL3JlY29nbmlzYWJsZSBzaG9lcyIsIk5vIHBhdHRlcm4gdG8gcHJpY2luZy9kaXNjb3VudCwgcmVhZGVycyBtYWlubHkgc2hvcCBieSBicmFuZCIsIkEgbGFiZWwgd2lsbCBkZWZpbml0ZWx5IGhlbHAgaGVyZSBlLmcuIGJlc3QgZm9yIHNpZGUgc2xlZXBlciwgYmVzdCBtZW1vcnkgZm9hbSIsIkFwcGxpYW5jZXMgaXMgYSBiaWcgY2F0ZWdvcnksIGlzIGl0IHBvc3NpYmxlIHRvIHNwbGl0IGludG8ga2l0Y2hlbiBhcHBsaWFuY2VzLCBmbG9vcmNhcmUsIGFpciBoZWFsdGgvY29vbGluZz8gT3Igc2ltaWxhciIsIkZvY3VzIG9uIHZhbHVlIGZvciBtb25leSwgR2FybWlucyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiBwb3B1bGFyIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIHN0aWxsICQ1MDAiLCwsLCxJbmNsdWRlIEtpbmRsZXMsSSB3b3VsZCBpbmNsdWRlIHdpZmkgcm91dGVycyBoZXJlIGluc3RlYWQgb2Ygc21hcnQgaG9tZSxDYW4gd2Ugc3VyZmFjZSBwaG9uZSBwcm92aWRlciBkZWFscz8gVC1tb2JpbGUgYW5kIHZlcml6b24gd291bGQgbWFrZSBhIGxvdCBtb3JlIG1vbmV5IHRoYW4gQW1hem9uLCwNCiwsaGF2aW5nIGEgJ2Jlc3QgZm9yJyBsYWJlbCB3b3VsZCBiZSBoZWxwZnVsIGUuZy4gYmVzdCBmb3IgYnJpZ2h0IHJvb20sQ2FuIHdlIHN0b3Aga2lkcyBzaG9lcyBmcm9tIHB1bGxpbmcgdGhyb3VnaD8sIldpbGwgdGhpcyBpbmNsdWRlIGFjY2Vzc29yaWVzIGUuZy4gY2FwcywgYmFncywgaWYgc28gbWFrZSBzdXJlIHRoZXNlIGFyZSBtaXhlZCB0aHJvdWdob3V0IGNsb3RoaW5nIGRlYWxzIixXaWxsIHRoaXMgaW5jbHVkZSB0b3BwZXJzIGFuZCBwaWxsb3dzPyBTZWVpbmcgbW9yZSBtb21lbnR1bSB3aXRoIHRoaXMgY2F0ZWdvcnkgcmVjZW50bHkgc28gYSBiZWRkaW5nIHRhYiBtaWdodCB3b3JrLCwiTmVlZCB0byBtYWtlIHN1cmUgYmFuZHMsIHNjcmVlbiBwcm90ZWN0b3JzIGV0Yy4gZG9uJ3QgcHVsbCBpbnRvIGhlcmUiLCwsLCwsLCwsDQosLCJQcmlvcml0aXNlIDY1JycgYW5kIDU1JyBpbmNoIFRWcywgdGhlbiBiaWdnZXIgc2NyZWVucyBiZWZvcmUgdGhlIHNtYWxsZXIgc2l6ZXMiLCwsUXVlZW4gaXMgdGhlIG1vc3QgcG9wdWxhciBzaXplIGluIHRoZSBVUyAtIHByaW9yaXRpc2UgZGVhbHMgZm9yIHRoaXMgc2l6ZSwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpDYXRlZ29yaWVzIHRvIGNvbnNpZGVyLCxQcm9kdWN0cyBpbmNsdWRlZCwsLCwsLCwsLCwsLCwsDQpVbmRlciAkNTA/LCxBaXIgdGFncywsLCwsLCwsLCwsLCwsDQosLFBvcnRhYmxlIGNoYXJnZXJzL3dpcmVsZXNzIGNoYXJnZXJzLCwsLCwsLCwsLCwsLCwNCiwsIldhdGVyIGJvdHRsZXMgKHN0YW5sZXlzLCBPd2FsYSwgSHlkcm8gZmxhc2ssIFlldGkpIiwsLCwsLCwsLCwsLCwsDQosLEhhbmQgaGVsZCBmYW5zLCwsLCwsLCwsLCwsLCwNCiwsLCwsLCwsLCwsLCwsLCwNCmhvbWUgb2ZmaWNlLCxvZmZpY2UgY2hhaXJzLCwsLCwsLCwsLCwsLCwNCiwsc3RhbmRpbmcgZGVza3MsLCwsLCwsLCwsLCwsLA0KLCxtb25pdG9ycywsLCwsLCwsLCwsLCwsDQosLEtleWJvYXJkcywsLCwsLCwsLCwsLCwsDQosLGRvY2tpbmcgc3RhdGlvbiwsLCwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpHYW1pbmcsLENvbnNvbGVzLCwsLCwsLCwsLCwsLCwNCiwsQWNjZXNzb3JpZXMsLCwsLCwsLCwsLCwsLA0KLCxHYW1lcywsLCwsLCwsLCwsLCwsDQosLENvdWxkIGluY2x1ZGUgTGVnbz8sLCwsLCwsLCwsLCwsLA==")));              const text = preloadedCSV;              const parsed = parseCSV(text);                            const rowsByName = {};              let filterStart = -1;              parsed.forEach((rc, i) => {                 if (rc && rc.length > 0 && rc[0]) rowsByName[rc[0]] = rc;                 if (rc && rc.length > 0 && rc[0] === 'Filter buttons') filterStart = i;              });                            const cols = [];              if(rowsByName['Roundel text']) {                const headerRow = rowsByName['Roundel text'];                for(let col = 1; col < headerRow.length; col++) {                   let label = headerRow[col];                   if (!label) continue;                                      let q = rowsByName['Search Query'] && rowsByName['Search Query'][col] ? rowsByName['Search Query'][col] : '';                   let img = rowsByName['Roundel image'] && rowsByName['Roundel image'][col] ? rowsByName['Roundel image'][col] : '';                   let ds = rowsByName['Discount Amount'] && rowsByName['Discount Amount'][col] ? rowsByName['Discount Amount'][col] : '';                   let pr = rowsByName['Price Range'] && rowsByName['Price Range'][col] ? rowsByName['Price Range'][col] : '';                   let rt = rowsByName['Retailer'] && rowsByName['Retailer'][col] ? rowsByName['Retailer'][col] : '';                   let ot = rowsByName['Offer Type'] && rowsByName['Offer Type'][col] ? rowsByName['Offer Type'][col] : '';                                      let filters = [];                   if(filterStart > 0) {                     for(let r = filterStart + 1; r < parsed.length; r++) {                         if(!parsed[r] || parsed[r][0] === 'Notes' || parsed[r][0] === 'Categories to consider') break;                         let f = parsed[r][col];                         if(f) filters.push(f);                     }                   }                   cols.push({ label, img, q, ds, pr, rt, ot, filters });                }              }              this.carouselData = cols;              if (this.carouselData && this.carouselData.length > 0) {                 const isMatched = this.carouselData.some(c => c.q === this.currentQuery || c.label === this.currentQuery);                 if (!isMatched) {                    const first = this.carouselData[0];                    this.currentQuery = first.q || first.label;                    if (this.priceFilter) this.priceFilter.value = 'all';                    if (this.customPriceMin) this.customPriceMin.value = '';                    if (this.customPriceMax) this.customPriceMax.value = '';                    let dPr = first.pr || 'all';                    if (typeof dPr === 'string' && dPr !== 'all') {                       let prLower = dPr.toLowerCase();                       if (prLower.includes('min') || prLower.includes('over')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else if (prLower.includes('max') || prLower.includes('under')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       }                    }                    let dAm = '0';                    if(first.ds && typeof first.ds === 'string') {                       let m = first.ds.match(/(\d+)/);                       if(m) dAm = m[1];                    }                    if (this.discountFilter) this.discountFilter.value = dAm;                    if (this.offerTypeSelect) this.offerTypeSelect.value = first.ot || '';                    if (this.retailerSelect) this.retailerSelect.value = first.rt || '';                    this.selectedBrands = [];                    if (this.brandDropdown) {                        const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                        chks.forEach(chk => chk.checked = false);                    }                    if (this.searchInput) this.searchInput.value = this.currentQuery;                 }              }              this.renderCarouselUI();          } catch(e){ console.warn(e); }        }                renderCarouselUI() {           const roundelWrapper = this.root.querySelector('.tg-df-carousel-roundels');           if(!roundelWrapper || !this.carouselData) return;                      let html = '';           this.carouselData.forEach(r => {              const q = r.q || r.label;              const isActive = (this.currentQuery === q || this.currentQuery === r.label) ? 'active' : '';              const imgHtml = r.img ? `\x3Cimg src="${r.img}" alt="${r.label}" />` : `\x3Csvg width="32" height="32" fill="#1F69FF" viewBox="0 0 24 24">\x3Cpath d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\x3C/svg>`;              html += `                \x3Cdiv class="tg-df-roundel tg-df-carousel-cat ${isActive}" data-label="${this.escapeHTML(r.label)}">                  \x3Cdiv class="tg-df-roundel-img-box">${imgHtml}\x3C/div>                  \x3Cspan class="tg-df-roundel-label">${this.escapeHTML(r.label)}\x3C/span>                \x3C/div>              `;           });           roundelWrapper.innerHTML = html;                      // Rebind clicks           const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');           roundels.forEach(rNode => {             rNode.addEventListener('click', () => {                const r = this.carouselData.find(c => c.label === rNode.getAttribute('data-label'));                 if(!r) return;                                  if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: r.label,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = r.q || r.label;                const labelTitle = this.root.querySelector('#tg-df-carousel-title-label');                if (labelTitle) labelTitle.textContent = 'Best ' + this.currentQuery;                if (this.priceFilter) this.priceFilter.value = 'all';                if (this.customPriceMin) this.customPriceMin.value = '';                if (this.customPriceMax) this.customPriceMax.value = '';                let dPr = r.pr || 'all';                if (typeof dPr === 'string' && dPr !== 'all') {                   let prLower = dPr.toLowerCase();                   if (prLower.includes('min') || prLower.includes('over')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMin) this.customPriceMin.value = m[1];                   } else if (prLower.includes('max') || prLower.includes('under')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMax) this.customPriceMax.value = m[1];                   }                }                                let discountAmount = '0';                if(r.ds && typeof r.ds === 'string') {                   let m = r.ds.match(/(\d+)/);                   if(m) discountAmount = m[1];                }                if (this.discountFilter) this.discountFilter.value = discountAmount;                if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                                // Clear brands                    this.selectedBrands = [];                    if (this.brandDropdown) {                    const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                    chks.forEach(chk => chk.checked = false);                }                                if (this.searchInput) this.searchInput.value = this.currentQuery;                                roundels.forEach(ro => ro.classList.remove('active'));                if (rNode) rNode.classList.add('active');                                this.renderCarouselFilters(r);                this.fetchDeals(this.currentQuery);             });           });                      // Auto-highlight active           const activeR = this.carouselData.find(c => c.q === this.currentQuery || c.label === this.currentQuery);           if(activeR) this.renderCarouselFilters(activeR);        }                renderCarouselFilters(r) {           const filtersWrap = this.root.querySelector('.tg-df-carousel-filters-wrap');           if(!filtersWrap) return;                      let html = `\x3Cbutton class="tg-df-carousel-filter-btn" data-type="all">All\x3C/button>`;                      r.filters.forEach(f => {              let fL = f.toLowerCase();              let icon = '';              let logic = `data-type="custom" data-v="${this.escapeHTML(f)}"`;              if (fL === 'amazon deals' || fL === 'prime deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>`;              } else if (fL === 'lightning deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>`;              } else {                 if (fL.includes('lightning')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap">\x3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2">\x3C/polygon>\x3C/svg>`;                 } else if (fL.includes('% off')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>`;                 } else if (fL.includes('under') || fL.includes('min ')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>`;                 }                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>${icon} ${this.escapeHTML(f)}\x3C/button>`;              }           });                      filtersWrap.innerHTML = html;                      const btns = filtersWrap.querySelectorAll('button');           btns.forEach(b => {             b.addEventListener('click', () => {                const type = b.getAttribute('data-type');                if (type === 'custom') {                   const v = b.getAttribute('data-v');                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-custom-${(v||'').toLowerCase().replace(/[^a-z0-9]+/g, '-')}`, name: 'Custom Filter', label: v });                }                if (type === 'all') {                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: 'filter-clear-all', name: 'Clear all', label: 'Clear all filters' });                   // reset everything                   btns.forEach(btn => btn.classList.remove('active'));                   b.classList.add('active');                                      // Reset prices                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   if (this.brandDropdown) {                     const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                     chks.forEach(chk => chk.checked = false);                   }                } else {                   const v = b.getAttribute('data-v');                   const fL = v.toLowerCase();                                      let mapRet = ['amazon', 'walmart', 'best buy', 'target', 'john lewis', 'currys', 'argos'];                   const getCategory = (s) => {                      if (s === 'lightning deals' || s === 'amazon deals' || s === 'prime deals') return 'offer';                      if (s.includes('% off')) return 'discount';                      if (s.includes('under') || s.includes('over') || s.includes('min') || s.includes('max')) return 'price';                      if (mapRet.includes(s)) return 'retailer';                      return 'brand';                   };                   const cat = getCategory(fL);                   const wasActive = b.classList.contains('active');                   if (cat !== 'brand') {                      btns.forEach(btn => {                          if (btn === b) return;                          if (btn.getAttribute('data-type') === 'all') return;                          const bV = btn.getAttribute('data-v');                          if (!bV) return;                          if (getCategory(bV.toLowerCase()) === cat) btn.classList.remove('active');                      });                   }                   if (wasActive) b.classList.remove('active');                   else b.classList.add('active');                   let anyActive = Array.from(btns).some(btn => btn !== btns[0] && btn.classList.contains('active'));                   if (!anyActive) {                       btns[0].click();                       return;                   } else {                       btns[0].classList.remove('active');                   }                                      if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   btns.forEach(btn => {                       if (!btn.classList.contains('active') || btn.getAttribute('data-type') === 'all') return;                       const vv = btn.getAttribute('data-v');                       const vl = vv.toLowerCase();                                              if (vl === 'lightning deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_lightning';                       } else if (vl === 'amazon deals' || vl === 'prime deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_prime';                       } else if (vl.includes('% off')) {                          let m = vl.match(/(\d+)%/);                          if (m && this.discountFilter) this.discountFilter.value = m[1];                       } else if (vl.includes('under') || vl.includes('max')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       } else if (vl.includes('min') || vl.includes('over')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else {                          let foundR = mapRet.find(x => x === vl);                          if (foundR) {                             let realR = ['Amazon', 'Walmart', 'Best Buy', 'Target', 'John Lewis', 'Currys', 'Argos'].find(x => x.toLowerCase() === vl);                             if (this.retailerSelect) this.retailerSelect.value = realR;                          } else {                             this.selectedBrands.push(vv);                          }                       }                   });                                      if (this.brandDropdown) {                       const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                       chks.forEach(c => c.checked = this.selectedBrands.includes(c.value));                   }                                      if (r.pr && typeof r.pr === 'string') {                       let prL = r.pr.toLowerCase();                       if (prL.includes('under $')) {                           let m = prL.match(/under \$(\d+)/i);                           if (m && this.customPriceMax && !this.customPriceMax.value) this.customPriceMax.value = m[1];                       }                   }                }                                this.fetchDeals(this.currentQuery);             });           });                      // default to highlighting first           btns[0].classList.add('active');        }async fetchDeals(query, append = false) {          if (!append) {             this.showLoading();             this.deals = [];             this.displayLimit = this.getRowsLimit();          } else {             this.displayLimit += this.getRowsLimit();          }                    try {            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad(append);            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query, append);               } else {                 await this.fetchHawkDeals(query, append);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query, append);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (this.activeDealTag) {             const cleanTag = this.activeDealTag.toLowerCase().replace(/&/g, '').replace(/[^a-z0-9]+/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');             const encodedTag = encodeURIComponent(cleanTag);             const url = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let dynamicBrandsCounts = {};                    targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                   dynamicBrandsCounts[data.brand] = (dynamicBrandsCounts[data.brand] || 0) + 1;                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim();                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || ''                });             });          });                    const airedaleBrandsList = Object.keys(dynamicBrandsCounts).map(b => ({              formatted_value: b,              count: dynamicBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query, append = false) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (append && this.deals.length > 0) {            url.searchParams.append('offset', this.deals.length.toString());          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    url.searchParams.append('rows', this.getRowsLimit().toString());          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = this.getRowsLimit();          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: item.name || item.title || item.model_name || item.product_name || 'Unknown Product',            brand: item.brand || '',            productName: item.model_name || item.product_name || item.name || '',            merchant: item.merchant_name || item.merchant || item.retailer || 'Retailer',            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : (this.getViewMode() === 'savings_squad' ? 'date_desc' : 'discount_desc');          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin-top:8px;">${_div}                ${_div}              ${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map((v, idx) => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              const revenueIdVal = generateRevenueId(linkUrl, offerName, merchantName, null);              const rewrittenLinkUrl = rewriteAffiliateLink(linkUrl, area, revenueIdVal);              return `                \x3Ca href="${this.escapeHTML(rewrittenLinkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item"                  data-action="voucher-click"                  data-product-name="${this.escapeHTML(offerName)}"                  data-merchant-name="${this.escapeHTML(merchantName)}"                  data-analytics-id="${this.escapeHTML(offerObj.offer_id || offerObj.id || v.id || '')}"                  data-price=""                  data-previous-price=""                  data-original-link="${this.escapeHTML(linkUrl)}"                  data-revenue-id="${revenueIdVal}"                  data-index="${idx}"                  data-total="${offers.length}"                  data-in-stock="true"                  data-currency="USD"                  data-model-id="${this.escapeHTML(offerObj.model_id || v.model_id || offerObj.id || v.id || '')}"                  data-merchant-id="${this.escapeHTML(offerObj.merchant_id || offerObj.merchant?.id || '')}"                >                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });            // Attach voucher click tracking            const voucherBtns = content.querySelectorAll('[data-action="voucher-click"]');            voucherBtns.forEach(btn => {              btn.addEventListener('click', (e) => {                if (e.target.closest('[data-action="copy-code"]')) return;                                const productName = btn.getAttribute('data-product-name');                const merchantNameAttr = btn.getAttribute('data-merchant-name');                const productId = btn.getAttribute('data-analytics-id');                const price = parseFloat(btn.getAttribute('data-price')) || null;                const prevPriceStr = btn.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = btn.getAttribute('data-original-link');                const rewrittenLink = btn.getAttribute('href');                const revenueId = btn.getAttribute('data-revenue-id');                const index = parseInt(btn.getAttribute('data-index'), 10) || 0;                const inStock = btn.getAttribute('data-in-stock') === 'true';                const totalText = btn.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: btn.getAttribute('data-model-id') || null,                    matchId: btn.getAttribute('data-match-id') || null,                    brand: btn.getAttribute('data-model-brand') || null,                    parent: btn.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: btn.getAttribute('data-merchant-id') || null,                    network: btn.getAttribute('data-merchant-network') || null,                    url: btn.getAttribute('data-merchant-url') || null,                    name: merchantNameAttr                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: btn.getAttribute('data-currency') || 'USD'                };                if (typeof trackDealClick === 'function') {                  trackDealClick(trackingParams);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)} (${this.airedaleTagCounts[tag] || 0})${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = isSavingsSquadMode ? 'View Deal' : 'Check Price';              if (isSavingsSquadMode) {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                  ${_div}                `;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = `                \x3Cdiv class="tg-df-card-merchant-wrapper">                  \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                ${_div}                \x3Cdiv class="tg-df-card-price-group">                  ${isSavingsSquadMode ? '' : `                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                  `}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = deal.merchant && deal.merchant.toLowerCase().includes('amazon') ? '' : `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description">\x3Cp>${this.escapeHTML(deal.description)}${_p}${_div}` : ''}                      ${_div}                    ${_div}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>${deal.isCheckPrice ? 'Check Price' : 'View Deal'}${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" disable-tracking="true" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cp style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 12px; line-height: 1.4;">${this.escapeHTML(deal.description)}${_p}` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${priceGroupHtml}                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta ${isSavingsSquadMode ? 'tg-df-cta-savings-squad' : ''}" style="text-decoration: none;">${ctaText}${_a}                  ${_div}                ${_div}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit || ((this.getViewMode() === 'carousel' || this.getViewMode() === 'auto') && displayDeals.length > 0 && displayDeals.length % ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12) === 0)) {            if (this.getViewMode() === 'carousel') {               dealsHtml += `                 \x3Cbutton type="button" class="tg-df-load-more-card tg-df-load-more">                   \x3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-bottom: 8px;">\x3Cpath d="M5 12h14">\x3C/path>\x3Cpath d="m12 5 7 7-7 7">\x3C/path>\x3C/svg>                   Load More                 ${_button}               `;            } else {               dealsHtml += `                 \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                   \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer; display: flex; align-items: center;">Load More${_button}                 ${_div}               `;            }          }                    this.grid.innerHTML = dealsHtml;          // Inject JSON-LD          try {            let targetNode = this.hostContainer || document.head;            let jsonLdScript = targetNode.querySelector('#tg-df-json-ld-' + this.widgetId);            if (!jsonLdScript) {                jsonLdScript = document.createElement('script');                jsonLdScript.type = 'application/ld+json';                jsonLdScript.id = 'tg-df-json-ld-' + this.widgetId;                targetNode.appendChild(jsonLdScript);            }            const jsonLdData = {              "@context": "https://schema.org",              "@type": "ItemList",              "itemListElement": displayDeals.slice(0, this.displayLimit).map((deal, index) => {                 let isoCurrency = "USD";                 if (deal.currency === '£') isoCurrency = "GBP";                 else if (deal.currency === '€') isoCurrency = "EUR";                 else if (deal.currency === 'A$') isoCurrency = "AUD";                 else if (deal.currency === 'CA$') isoCurrency = "CAD";                 const areaCode = typeof this.getAreaCode === 'function' ? this.getAreaCode() : 'US';                 const revenueId = typeof generateRevenueId === 'function' ? generateRevenueId(deal.url, deal.title, deal.merchant, null) : '';                 const rewrittenLink = typeof rewriteAffiliateLink === 'function' ? rewriteAffiliateLink(deal.url, areaCode, revenueId) : deal.url;                 return {                   "@type": "ListItem",                   "position": index + 1,                   "item": {                     "@type": "Product",                     "name": deal.title,                     "image": deal.image || "",                     "description": deal.description || "",                     "brand": {                       "@type": "Brand",                       "name": deal.brand || ""                     },                     "offers": {                       "@type": "Offer",                       "priceCurrency": isoCurrency,                       "price": deal.rawPrice || 0,                       "url": rewrittenLink,                       "seller": {                         "@type": "Organization",                         "name": deal.merchant || ""                       }                     }                   }                 };              }).filter(item => item.item.name)            };            jsonLdScript.textContent = JSON.stringify(jsonLdData);          } catch(e) { console.warn("JSON-LD generation failed", e); }                    let gridWrapper = this.grid.parentElement;          if (gridWrapper && gridWrapper.classList.contains('tg-df-grid-wrapper')) {             let rightChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-right');             let leftChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-left');             if (this.getViewMode() === 'carousel') {                 // The observer set up in setupScrollListeners handles visibility.                 if (rightChevron) rightChevron.style.display = 'flex';                 if (leftChevron) leftChevron.style.display = 'none'; // reset correctly             } else {                 if (rightChevron) rightChevron.style.display = 'none';                 if (leftChevron) leftChevron.style.display = 'none';             }          }                    const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', async () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              if (displayDeals.length <= this.displayLimit) {                 loadMoreBtn.innerHTML = `                  <svg class="tg-df-spinner" style="width: 16px; height: 16px; display: inline-block; vertical-align: middle; margin-right: 8px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48l2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48l2.83-2.83"/></svg>                  Loading...                 `;                 loadMoreBtn.disabled = true;                 await this.fetchDeals(this.currentQuery, true);              } else {                 this.displayLimit += this.getRowsLimit();                 this.render();              }            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            setTimeout(() => {               if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');               document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));            }, 50);          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/cloud-storage/the-256gb-laptop-is-the-new-32gb-phone-and-its-quietly-pushing-you-into-cloud-subscriptions</link>
                                                                            <description>
                            <![CDATA[ Many laptops start with 256GB of storage. Unfortunately, that doesn't tend to last long, which could inevitably force you into cloud subscriptions. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2dDayHGrQtJTU2i7pfpWjg</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9h2ktgVmyY3wffQ56vrvuD-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Sat, 15 Aug 2026 06:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Cloud Storage]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Max Slater-Robins ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/9h2ktgVmyY3wffQ56vrvuD-1920-80.png">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[MacBook Neo]]></media:description>                                                            <media:text><![CDATA[MacBook Neo]]></media:text>
                                <media:title type="plain"><![CDATA[MacBook Neo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9h2ktgVmyY3wffQ56vrvuD-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There was a time not too long ago when a 32GB smartphone felt perfectly workable — potentially even spacious. Fast forward to today and apps have gotten bigger, cameras have become larger, and routine software updates now eat entire gigabytes on their own. </p><p>32GB has gone from seeming totally normal (even luxurious) to looking absurdly stingy. I think 256GB laptops are heading in the same direction. </p><p>In 2026, plenty of otherwise <a href="https://www.tomsguide.com/best-picks/best-budget-laptops">excellent laptops</a> start with 256GB of storage, despite many of the <a href="https://www.tomsguide.com/best-picks/best-phones">best smartphones</a> offering the same amount. At first, 256GB might be enough, but after months or years of apps, photos, downloads, and updates, that breathing room is just... gone.</p><p>And when it does go, <a href="https://www.tomsguide.com/reviews/windows-11">Windows 11</a> and <a href="https://www.tomsguide.com/computing/macos/apple-macos-tahoe-review">macOS</a> have a very convenient answer waiting in the wings: move more of your stuff into the cloud — and, sooner or later, start paying for it.</p><div class="product"><a data-dimension112="bdce9650-972a-11f1-bf3c-f145984e235b" data-action="Deal Block" data-label="13" MacBook Air (M5)" data-dimension48="13" MacBook Air (M5)" data-dimension25="$1297" href="https://www.amazon.com/Apple-2026-MacBook-13-inch-Laptop/dp/B0GR1JTFP8?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="2S3mMDzKcdQKAxWc4wGxDQ" name="MacBook Air M5 deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/2S3mMDzKcdQKAxWc4wGxDQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Apple-2026-MacBook-13-inch-Laptop/dp/B0GR1JTFP8?th=1" target="_blank" rel="nofollow" data-dimension112="bdce9650-972a-11f1-bf3c-f145984e235b" data-action="Deal Block" data-label='13" MacBook Air (M5)' data-dimension48='13" MacBook Air (M5)' data-dimension25="$1297">13" MacBook Air (M5): $1297</a></strong><br>The MacBook Air has been upgraded with more power. The new laptop features a 13.6-inch (2560 x 1664) display, the new Apple M5 chip, 16GB of RAM, a 512GB SSD, and support for Wi-Fi 7 and Bluetooth 6. Although it now costs $100 more, the base model comes with a 512GB SSD instead of 256GB.<a class="view-deal button" href="https://www.amazon.com/Apple-2026-MacBook-13-inch-Laptop/dp/B0GR1JTFP8?th=1" target="_blank" rel="nofollow" data-dimension112="bdce9650-972a-11f1-bf3c-f145984e235b" data-action="Deal Block" data-label="13" MacBook Air (M5)" data-dimension48="13" MacBook Air (M5)" data-dimension25="$1297">View Deal</a></p></div><h2 id="256gb-isn-t-tiny-and-that-s-exactly-the-problem">256GB isn’t tiny — and that’s exactly the problem</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="iQBUvBQeStovV4YftmSdMZ" name="Lenovo Chromebook Plus 14" alt="Lenovo Chromebook Plus 14" src="https://cdn.mos.cms.futurecdn.net/iQBUvBQeStovV4YftmSdMZ-1920-80.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The funny part, if we can call it that, is that 256GB can feel perfectly comfortable for those who live inside a browser. But there's a difference between having enough storage and having enough room to <em>grow</em>.</p><p>We’ve previously said that <a href="https://www.tomsguide.com/computing/laptops/5-things-to-look-for-when-buying-a-laptop-from-someone-who-reviews-them-for-a-living">256GB is the bare minimum</a> you should look for in a general-purpose laptop, and that increasingly feels spot on in 2026.  </p><p>It’s definitely enough to get by, but it doesn’t leave you with a huge amount of headroom for the future. In a world where a single <a href="https://www.tomsguide.com/entertainment/music-streaming/spotifys-latest-update-makes-organizing-your-music-easier-plus-improved-offline-downloads">Spotify</a> playlist with 1,000 songs can take up nearly 10GB of space, bigger is better.  </p><p>You can actually see the shift happening elsewhere in the market: Apple’s latest <a href="https://www.tomsguide.com/computing/macbooks/macbook-air-m5-review">MacBook Air</a> now starts with 512GB, an upgrade we welcomed, while many <a href="https://www.tomsguide.com/best-picks/best-budget-laptops">budget laptops</a> continue to stick with 256GB to keep their prices down.</p><p>There is, of course, some nuance to this picture. A <a href="https://www.tomsguide.com/news/best-chromebook-deals-prices">cheap Chromebook</a> or secondary laptop definitely doesn’t need a huge SSD, and with memory prices soaring, buying decisions are becoming harder than ever.</p><p>But for a laptop you expect to use as your main computer for the next five-plus years, 256GB looks less like a specification and more like a compromise.</p><h2 id="your-laptop-can-last-years-but-its-storage-can-t-grow-with-it">Your laptop can last years, but its storage can’t grow with it</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ywqirqeDaWNqKZgmGgbrqF" name="macbook air m4" alt="macbook air m4" src="https://cdn.mos.cms.futurecdn.net/ywqirqeDaWNqKZgmGgbrqF-1920-80.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>At a basic level, storage is one of the few parts of a laptop that can become more restrictive simply through normal use.</p><p>Photos, downloads, apps, offline media, assorted files, and everything else you acquire from day to day gradually pile up, while the SSD you bought on day one stays the same size. This situation is less of a problem if you can simply replace the SSD later. </p><p>Some Windows laptops, like the excellent <a href="https://www.tomsguide.com/computing/laptops/framework-laptop-13-pro-revealed-and-its-a-ground-up-redesign-of-our-favorite-modular-laptop">Framework models</a>, still make that relatively straightforward, but plenty of thin-and-light notebooks — including <a href="https://www.tomsguide.com/computing/macbooks/i-review-macbooks-for-a-living-and-these-are-the-biggest-developments-i-expect-in-2026">MacBooks</a> — effectively lock you into whatever capacity you choose at checkout.</p><div class="product"><a data-dimension112="bdce9718-972a-11f1-b4e8-7590d6ebcb98" data-action="Deal Block" data-label="Laptop 16 (2025)" data-dimension48="Laptop 16 (2025)" data-dimension25="$1599" href="https://frame.work/laptop16" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1305px;"><p class="vanilla-image-block" style="padding-top:69.04%;"><img id="fnhfRVzYGyhBCo8Ng2wFJn" name="Framework Laptop 16.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/fnhfRVzYGyhBCo8Ng2wFJn-1920-80.jpg" mos="" align="middle" fullscreen="" width="1305" height="901" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://frame.work/laptop16" target="_blank" rel="nofollow" data-dimension112="bdce9718-972a-11f1-b4e8-7590d6ebcb98" data-action="Deal Block" data-label="Laptop 16 (2025)" data-dimension48="Laptop 16 (2025)" data-dimension25="$1599">Laptop 16 (2025): $1599</a></strong><br>The Framework Laptop 16 is a fully customizable, repairable, and upgradable laptop. It now includes the option to outfit it with an Nvidia GeForce RTX 5070 graphics card. In our <a href="https://www.tomsguide.com/computing/laptops/framework-laptop-16-2025-review">Framework Laptop 16 review,</a> we called the Editor's Choice machine our favorite laptop of the year and a must-buy for DIYers and folks who value their right to repair.<a class="view-deal button" href="https://frame.work/laptop16" target="_blank" rel="nofollow" data-dimension112="bdce9718-972a-11f1-b4e8-7590d6ebcb98" data-action="Deal Block" data-label="Laptop 16 (2025)" data-dimension48="Laptop 16 (2025)" data-dimension25="$1599">View Deal</a></p></div><h2 id="conveniently-there-s-a-subscription-for-that">Conveniently, there’s a subscription for that</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2112px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6vEt8qRjSJA8ncGGUriukH" name="Framework Laptop 13 upgradeable" alt="Framework Laptop 13 being upgraded with new memory" src="https://cdn.mos.cms.futurecdn.net/6vEt8qRjSJA8ncGGUriukH-1920-80.jpg" mos="" align="middle" fullscreen="" width="2112" height="1188" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Framework)</span></figcaption></figure><p>Running low on storage is less painful than it used to be, mainly because Windows and macOS are extremely good at pushing files to the cloud.</p><p>OneDrive’s <a href="https://www.tomsguide.com/reviews/microsoft-onedrive-review">Files On-Demand feature</a>, for example, lets files remain visible in File Explorer without actually taking up space, while macOS can automatically move less frequently used files into <a href="https://www.tomsguide.com/phones/iphones/i-pay-for-icloud-not-for-storage-but-for-this-perk-instead">iCloud</a> when space starts running low.</p><p>There's no denying that these are genuinely useful features that save people a lot of hassle; having to actively choose what to delete is tough, and decision paralysis is real. </p><p>The problem comes when cloud storage starts compensating for your laptop's limited built-in storage.</p><p>Both OSes make that transition remarkably easy: You fill the SSD, move more into the cloud, and eventually find yourself paying for extra capacity. Almost without noticing, an understandable hardware compromise becomes yet another subscription.</p><p><a href="https://www.tomsguide.com/buying-guide/best-cloud-storage">Cloud storage</a> also isn’t a like-for-like replacement for local storage. Apps, games, caches, and plenty of other files still need SSD space, while online-only files naturally depend on an internet connection.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBz6Ke"></div>                            </div>                            <script src="https://kwizly.com/embed/eBz6Ke.js" async></script><h2 id="ai-is-making-the-obvious-solution-harder">AI is making the obvious solution harder</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xvJgTcuknLbUZo9QawcVzi" name="macbook neo" alt="macbook neo" src="https://cdn.mos.cms.futurecdn.net/xvJgTcuknLbUZo9QawcVzi-1920-80.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The obvious answer would be for 512GB to become the new baseline. Unfortunately, 2026 is turning out to be a pretty terrible year for that transition.</p><p>As you might have read, the <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAMageddon</a> is also putting pressure on the storage inside our laptops, as well as <a href="https://www.tomsguide.com/gaming/best-games-consoles">consoles</a>, <a href="https://www.tomsguide.com/best-picks/best-cheap-tablets">tablets</a>, <a href="https://www.tomsguide.com/best-picks/best-phones">smartphones</a>, and, well, pretty much every consumer device.</p><p>Data centres need vast amounts of memory and storage to keep AI services running, and that extra demand is making the components used in consumer SSDs more expensive too.</p><p>We’ve already seen how the wider memory crunch is <a href="https://www.tomsguide.com/computing/laptops/buying-a-laptop-in-2026-is-complicated-heres-a-survival-guide-to-help-you-make-the-best-choice">affecting the laptop market</a>, with manufacturers facing higher component costs and difficult decisions over where to make compromises. Even usually unflappable giants like Apple are <a href="https://www.tomsguide.com/computing/macbooks/apple-price-hikes-are-official-heres-how-much-more-youll-pay-for-macbooks-and-ipads-now">raising prices</a> across the board. </p><p>All of this makes sticking with 256GB easier to understand, even if it doesn’t make it any more appealing. The 256GB laptop isn’t obsolete yet. But, like the 32GB phone before it, its days as an acceptable default should be numbered.</p><div data-widget-type="multimodelreview" data-model-name="Apple MacBook Neo,Dell XPS 13"></div><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/claude/claude-is-watermarking-every-response-heres-what-that-means-if-you-use-ai-for-writing">Claude is now watermarking every response — here's what that means if you use AI for writing</a></li><li><a href="https://www.tomsguide.com/computing/gaming-laptops/hyperx-omen-15-review">I tested the HyperX Omen 15, and it almost made me forget my PS5</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/i-checked-out-the-pixel-11-pixel-11-pro-and-pixel-11-pro-xl-heres-the-one-i-recommend">I checked out the Pixel 11, Pixel 11 Pro, and Pixel 11 Pro XL — here’s the one I recommend</a></li></ul><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=laptops&min_discount_ratio=0.95&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&bg_color=transparent" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters {      display: flex;      gap: 12px;      justify-content: center;      flex-wrap: wrap;    }    .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);      display: -webkit-box;      -webkit-line-clamp: 2;      -webkit-box-orient: vertical;      overflow: hidden;    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    .tg-df-container .tg-df-card-cta.tg-df-cta-savings-squad {      background-color: #3c8d0d;    }    .tg-df-card:hover .tg-df-card-cta.tg-df-cta-savings-squad,    .tg-df-card-cta.tg-df-cta-savings-squad:hover {      background-color: #2b6509;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 0;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 0 16px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }            .tg-df-filters {        width: calc(100% + 32px);        margin: 0 -16px;        padding: 0 16px 4px 16px;        display: flex;        justify-content: flex-start;        gap: 8px;        flex-wrap: nowrap;        overflow-x: auto;        -webkit-overflow-scrolling: touch;        scrollbar-width: none;      }      .tg-df-filters::after {        content: "";        display: block;        flex: 0 0 8px;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }            .tg-df-sort-wrapper {        flex: 0 0 max(42%, 130px);        min-width: 0;      }      .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;        -webkit-line-clamp: 3;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        -webkit-line-clamp: 3;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 16px;      text-align: center;      width: 100%;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }        .tg-df-container .tg-df-carousel-scroll-left,    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-left { left: 8px; }    .tg-df-container .tg-df-carousel-scroll-right { right: 8px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { left: 0px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right { right: 0px; }    .tg-df-carousel-filters-outer { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }    @container tg-df (max-width: 599px) { .tg-df-carousel-filters-outer { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; } }        .tg-df-container .tg-df-carousel-scroll-left:hover,    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: #f8fafc;      border-color: #cbd5e1;    }        .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-left,    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right,    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left,    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right {      background-color: rgba(255, 255, 255, 0.4);      border: none;      box-shadow: none;      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-left { left: 0; }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right { right: 0; }    .tg-df-grid-wrapper .tg-df-carousel-scroll-left { left: 0; }    .tg-df-grid-wrapper .tg-df-carousel-scroll-right { right: 0; }        .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-left:hover,    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);      border: none;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-carousel-roundels::after {      content: "";      flex: 0 0 32px;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;      transition: font-weight 0.2s;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-label {      font-weight: 700;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;      display: inline-flex;      align-items: center;      justify-content: center;      min-height: 36px;      box-sizing: border-box;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::after {      content: "";      flex: 0 0 32px;    }    .tg-df-grid-wrapper {      position: relative;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card {      flex: 0 0 auto;      width: 100px;      border-radius: 15px;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      border: 2px solid #1e293b;      background: white;      color: #1e293b;      display: flex;      flex-direction: column;      justify-content: center;      align-items: center;      font-weight: 600;      font-size: 14px;      cursor: pointer;      padding: 16px;      text-align: center;      transition: all 0.2s;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card:hover {      background: #1e293b;      color: white;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.45);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #5aaf0b; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #4a9109; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-roundels">            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>          \x3C/div>          \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-outer" style="position: relative;">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>        \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3C/div>    \x3C/div>    \x3C/div>      \x3C!-- Search & Filter Controls --\x3E    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">      \x3Cdiv class="tg-df-top-bar">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>                \x3Cdiv class="tg-df-settings-wrapper">          \x3Cbutton type="button" class="tg-df-settings-btn" aria-label="Settings" id="tg-df-settings-toggle">            \x3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20">                \x3Cpath d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.06-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.73 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.06.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .43-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.49-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/>            \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-settings-dropdown-backdrop" id="tg-df-settings-backdrop">\x3C/div>          \x3Cdiv class="tg-df-settings-dropdown" id="tg-df-settings-panel">            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Search Region\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-region-select">                \x3Coption value="auto">🌍 Auto-detect\x3C/option>                \x3Coption value="US">🇺🇸 United States (US)\x3C/option>                \x3Coption value="GB">🇬🇧 United Kingdom (UK)\x3C/option>                \x3Coption value="CA">🇨🇦 Canada (CA)\x3C/option>                \x3Coption value="AU">🇦🇺 Australia (AU)\x3C/option>                \x3Coption value="DE">🇩🇪 Germany (DE)\x3C/option>                \x3Coption value="FR">🇫🇷 France (FR)\x3C/option>                \x3Coption value="IT">🇮🇹 Italy (IT)\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Retailer\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-retailer-select">                \x3Coption value="">All Retailers\x3C/option>                \x3Coption value="Amazon">Amazon\x3C/option>                \x3Coption value="Walmart">Walmart\x3C/option>                \x3Coption value="Best Buy">Best Buy\x3C/option>                \x3Coption value="Target">Target\x3C/option>                \x3Coption value="John Lewis">John Lewis\x3C/option>                \x3Coption value="Currys">Currys\x3C/option>                \x3Coption value="Argos">Argos\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Offer Type\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-offer-type-select">                \x3Coption value="">All Offers\x3C/option>                \x3Coption value="amazon_prime">Amazon Prime\x3C/option>                \x3Coption value="recommended_promo">Recommended Promo\x3C/option>                \x3Coption value="amazon_lightning">Amazon Lightning Deal\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Result Count\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-rows-select">                \x3Coption value="3">3 Items\x3C/option>                \x3Coption value="4">4 Items\x3C/option>                \x3Coption value="6">6 Items\x3C/option>                \x3Coption value="12" selected>12 Items\x3C/option>                \x3Coption value="24">24 Items\x3C/option>                \x3Coption value="48">48 Items\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Deal Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Only show products with active offers or previous prices (was_price)\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-deal-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Editor Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Enable multi-select to copy deals to CMS\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-editor-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">View Mode\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-view-mode-select">                \x3Coption value="auto">Auto Collection\x3C/option>                \x3Coption value="carousel">Carousel\x3C/option>                \x3Coption value="savings_squad">Savings Squad\x3C/option>                \x3Coption value="grid">Grid (Columns)\x3C/option>                \x3Coption value="row">Row (List)\x3C/option>              \x3C/select>            \x3C/div>          \x3C/div>        \x3C/div>      \x3C/div>      \x3Cdiv class="tg-df-filters">        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z"/>          \x3C/svg>          \x3Cselect class="tg-df-sort-select" aria-label="Sort Deals">            \x3Coption value="date_desc">Newest First\x3C/option>            \x3Coption value="best_match">Sort by: Match\x3C/option>            \x3Coption value="price_asc">Price Low to High\x3C/option>            \x3Coption value="price_desc">Price High to Low\x3C/option>            \x3Coption value="discount_desc">Biggest Discount\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>        \x3C/div>      \x3C/div>    \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>      \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();            if (['carousel', 'carousel-compact', 'auto', 'grid', 'row'].includes(this.getViewMode())) { this.loadCarouselSpreadsheet(); }        }        getViewMode() {          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          if (mode === 'carousel' || mode === 'auto' || mode === 'grid' || mode === 'row') {             if (mode === 'carousel') this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container') && mode === 'carousel') {               this.root.classList.add('is-carousel');             } else if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Everything';             if (this.discountFilter && !params.has('min_discount_ratio')) {               this.discountFilter.value = '5';             }          }          const website = params.get('website') || 'tomsguide';          this.website = website;          if (website === 'techradar') {            const squadHeader = this.root.querySelector('.tg-df-savings-squad-header');            if (squadHeader) {               const pic = squadHeader.querySelector('picture');               if (pic) pic.style.display = 'none';            }            const style = document.createElement('style');            style.innerHTML = `              .tg-df-container .hawk-affiliate-link-deal-button, .tg-df-container .tg-df-card-cta { background-color: #5DAF08 !important; }              .tg-df-container .hawk-affiliate-link-deal-button:hover, .tg-df-container .tg-df-card-cta:hover { background-color: #4a8c06 !important; }            `;            this.root.appendChild(style);          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (params.has('bg_color')) {            const bg = params.get('bg_color');            if (bg === 'white') {              this.root.style.setProperty('background-color', '#ffffff', 'important');            } else if (bg === 'transparent') {              this.root.style.setProperty('background-color', 'transparent', 'important');            } else if (bg === 'light_blue') {              this.root.style.setProperty('background-color', '#E7F0FF', 'important');            }          } else {             this.root.style.removeProperty('background-color');          }                    if (params.has('view_mode')) {            if (this.viewModeSelect) {              this.viewModeSelect.value = params.get('view_mode');            } else {              this.viewModeOverride = params.get('view_mode');            }          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'discount_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            this.searchInput.value = this.currentQuery;          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'discount_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const roundels = this.root.querySelectorAll('.tg-df-carousel-cat.original-hardcoded');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: q,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              if (this.getViewMode() === 'savings_squad' && this.autocompleteDropdown && this.airedaleTags && query.length > 0) {                 const matches = this.airedaleTags.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase()).slice(0, 5);                 if (matches.length > 0) {                    this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                    this.autocompleteDropdown.classList.add('active');                 } else {                    this.autocompleteDropdown.classList.remove('active');                 }              } else if (this.autocompleteDropdown) {                 this.autocompleteDropdown.classList.remove('active');              }              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  this.deals = [];                  this.render();                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                this.activeDealTag = null;                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });              this.activeDealTag = null;              this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.fetchDeals(query);              }            });          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = this.viewModeSelect.value === 'savings_squad' ? 'date_desc' : 'discount_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const rewrittenLink = cardLink.getAttribute('href');                const revenueId = cardLink.getAttribute('data-revenue-id');                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }          this.setupScrollListeners();        }        setupScrollListeners() {          const containers = [             this.root.querySelector('.tg-df-carousel-roundels'),             this.root.querySelector('.tg-df-carousel-filters-wrap'),             this.root.querySelector('#tg-df-grid')          ];                    containers.forEach(container => {             if (!container) return;                          const checkScroll = () => {                if (!container.parentElement) return;                const leftBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-left');                const rightBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-right');                                if (leftBtn) {                   if (container.scrollLeft <= 5) leftBtn.style.display = 'none';                   else leftBtn.style.display = 'flex';                }                                if (rightBtn) {                   if (container.scrollWidth <= container.clientWidth) {                       rightBtn.style.display = 'none';                   } else if (container.scrollLeft >= container.scrollWidth - container.clientWidth - 5) {                       rightBtn.style.display = 'none';                   } else {                       rightBtn.style.display = 'flex';                   }                }             };                          container.addEventListener('scroll', checkScroll);             checkScroll();                          window.addEventListener('resize', checkScroll);                          const observer = new MutationObserver(checkScroll);             observer.observe(container, { childList: true, subtree: true, characterData: false });          });        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getRowsLimit() {          if (this.rowsSelect && this.rowsSelect.value) return parseInt(this.rowsSelect.value, 10);          let configSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {             configSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {             configSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(configSource);          if (params.has('rows')) return parseInt(params.get('rows'), 10) || 12;          return 12;        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }                async loadCarouselSpreadsheet() {          try {              const parseCSVRow = (str) => {                  let result = [], cur = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (inQuotes) {                          if (char === '"') {                              if (str[i + 1] === '"') { cur += '"'; i++; }                              else { inQuotes = false; }                          } else { cur += char; }                      } else {                          if (char === '"') { inQuotes = true; }                          else if (char === ',') { result.push(cur); cur = ''; }                          else { cur += char; }                      }                  }                  result.push(cur); return result;              };              const parseCSV = (str) => {                  const rows = []; let curRow = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (char === '"') inQuotes = !inQuotes;                      if ((char === '\n' || char === '\r') && !inQuotes) {                          if (char === '\r' && str[i+1] === '\n') i++;                          if (curRow) rows.push(parseCSVRow(curRow));                          curRow = '';                      } else { curRow += char; }                  }                  if (curRow) rows.push(parseCSVRow(curRow));                  return rows;              };              const preloadedCSV = decodeURIComponent(escape(atob("LCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNQ0KUm91bmRlbCB0ZXh0LEFsbCxUVnMsRm9vdHdlYXIsQXBwYXJlbCxNYXR0cmVzZXMsQXBwbGlhbmNlcyxXZWFyYWJsZSB0ZWNoLEhlYWRwaG9uZXMsU21hcnQgSG9tZSxTcGVha2VycyxMYXB0b3BzLFRhYmxldHMsQ29tcHV0aW5nLFBob25lcyxHYW1pbmcsTGVnbw0KUm91bmRlbCBpbWFnZSxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Nob3AtYXNzZXRzL2Nhcm91c2VsL2FpLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Nob3AtYXNzZXRzL2Nhcm91c2VsL3R2cy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvN2IzYTIyNGIwNzk2M2M2MjdiNmI5MDliZDc4MzM4MzZlMDJmZjgxOS5qcGcud2VicCxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy84NGRhYzVkNDhlZDJkNDQ4NTU5ZWJhNjdhY2U4MzE0Y2M2N2NjZDk0LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vc2hvcC1hc3NldHMvY2Fyb3VzZWwvbWF0dHJlc3Nlcy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvNzY4ZTk3Y2ViMDcxODAxZmFlMjA5MTBkMDgyMGIxNmY3NDdhZjkzOS5qcGcud2VicCxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Nob3AtYXNzZXRzL2Nhcm91c2VsL3dlbGxuZXNzLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Nob3AtYXNzZXRzL2Nhcm91c2VsL2hlYWRwaG9uZXMuanBnLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzg5NTM1YmVlYmUyMGRiYmQ0YTM0NmQ2ZDZiZGZlOTFkOGE4ODRhMjEuanBnLndlYnAsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9zaG9wLWFzc2V0cy9jYXJvdXNlbC9hdWRpby5qcGcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9zaG9wLWFzc2V0cy9jYXJvdXNlbC9sYXB0b3BzLmpwZyxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy8yMzk3NTY0ZWQ3YTVmZjk0N2U5YjZiMzBlNTRmNDc0OTRiODQxZjg5LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vc2hvcC1hc3NldHMvY2Fyb3VzZWwvY29tcHV0aW5nLmpwZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Nob3AtYXNzZXRzL2Nhcm91c2VsL3Bob25lcy5wbmcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9zaG9wLWFzc2V0cy9jYXJvdXNlbC9nYW1pbmcucG5nLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzRmNmM2MjFjYWMwYmMxYTg1ZDU5M2UzNTk0YmE1YjM0OWVmZmQyOTIuanBnLndlYnANClNlYXJjaCBRdWVyeSxFdmVyeXRoaW5nLFRlbGV2aXNpb25zLCJTbmVha2VycywgcnVubmluZyBzaG9lcywgc2FuZGFscyIsQ2xvdGhpbmcsTWF0dHJlc3NlcyxIb21lIEFwcGxpYW5jZXMsV2VhcmFibGVzICYgRml0bmVzcyBUZWNoLEhlYWRwaG9uZXMsSG9tZSBUZWNoLFNwZWFrZXJzLExhcHRvcHMsVGFibGV0cyxDb21wdXRpbmcsUGhvbmVzLEdhbWluZyxDb25zdHJ1Y3Rpb24gVG95cw0KRGlzY291bnQgQW1vdW50LG1pbiA1JSxtaW4gMTAlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUNClByaWNlIFJhbmdlLCwsLCxtaW4gJDQwMCwsLCxtaW4gJDI1LCxtaW4gJDMwMCwsLG1pbiAkMTAwLCwNCkJyYW5kIFNlbGVjdGlvbiwsLCwsLCwsLCwsLCwsLCwNCkZpbHRlciBidXR0b25zLCwsLCwsLCwsLCwsLCwsLA0KMSxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMNCjIsQW1hem9uIGRlYWxzLFVuZGVyICQxMDAwLDUwJSBvZmYsQWRpZGFzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsNTAlIG9mZixBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscw0KMyxPdmVyICQ0MDAsVW5kZXIgJDUwMCxIb2thLE5pa2UsU2FhdHZhLE5pbmphLDQwJSBvZmYsSkxhYiwsSkJMLERlbGwsLEFzdXMsQXBwbGUsQ29uc29sZXMsU3RhciBXYXJzDQo0LFVuZGVyICQxMDAwLDUwJSBvZmYsU2tlY2hlcnMsVW5kZXIgQXJtb3VyLEhlbGl4LFNoYXJrLEdhcm1pbixBbmtlciBTb3VuZGNvcmUsUmluZyxTb25vcyxBcHBsZSxBcHBsZSxUUC1saW5rLFNhbXN1bmcsQWNjZXNzb3JpZXMsVW5kZXIgJDI1DQo1LFVuZGVyICQ1MDAsTEcsQXNpY3MsQ29sdW1iaWEsRHJlYW1DbG91ZCxLZXVyaWcsQXBwbGUsU29ueSxHb3ZlZSxUcmliaXQsTGVub3ZvLFNhbXN1bmcsRWVybyxHb29nbGUsR2FtZXMsVW5kZXIgJDUwDQo2LDUwJSBvZmYsU2Ftc3VuZyxOaWtlLFBhdGFnb25pYSxOZWN0YXIsRGUnTG9uZ2hpLEFtYXpmaXQsQXBwbGUsS2FzYSBzbWFydCxTb255LEFsaWVud2FyZSxUQ0wsTmV0Z2VhcixNb3Rvcm9sYSxOaW50ZW5kbyxCb3RhbmljYWxzDQo3LEFtYXpvbixIaXNlbnNlLE5ldyBCYWxhbmNlLEFyYyd0ZXJ5eCxUZW1wdXItcGVkaWMsRHlzb24sRml0Yml0LEJlYXRzLFBoaWxpcHMgSHVlLEFua2VyLEFjZXIsT25lUGx1cyxEZWxsLE9uZVBsdXMsU29ueSxEaXNuZXkNCjgsQXBwbGUsVENMLEFkaWRhcyxDYXJoYXJ0dCxCZWFyLEJpc3NlbGwsU2Ftc3VuZyxFYXJmdW4sQmxpbmssQmVhdHMsTVNJLE1pY3Jvc29mdCxBY2VyLE5vdGhpbmcsWGJveCxNYXJ2ZWwNCjksLFNvbnksU2F1Y29ueSxUaGUgTm9ydGggRmFjZSxTaWVuYSxOdXRyaWJ1bGxldCxPdXJhLFNhbXN1bmcsR29vZ2xlIE5lc3QgLE1hcnNoYWxsLFNhbXN1bmcsTGVub3ZvLExlbm92bywsLFBva2Vtb24NCjEwLCxSb2t1LEJpcmtlbnN0b2NrLENSWiBZb2dhLFdpbmtCZWRzLEJsYWNrIGFuZCBEZWNrZXIsUmluZ2Nvbm4sQ01GLEV1ZnksU2Ftc3VuZyxNaWNyb3NvZnQsUmVNYXJrYWJsZSxBbGllbndhcmUsLCwNCjExLCwsQnJvb2tzLFRoZSBHeW0gUGVvcGxlLEJyb29rbHluIGJlZGRpbmcsTmVzcHJlc3NvLCwxTW9yZSxBcmxvLCxSYXplciwsQ29yc2FpciwsLA0KMTIsLCxDcm9jcywsRWlnaHQgU2xlZXAsQ3Vpc2luYXJ0LCxKQkwsLCwsLEhQLCwsDQpOb3RlcywsLCwsLCwsLCwsLCwsLCwNCiwsIlByaW9yaXRpc2UgYmlnZ2VzdCAlLyQgZGlzY291bnQsIFR2cyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiB0aGUgbW9zdCBwb3B1bGFyIGV2ZW4gaWYgdGhleSBhcmUgc3RpbGwgZXhwZW5zaXZlIiwiTm8gcGF0dGVybiB0byBwcmljaW5nL2Rpc2NvdW50LCByZWFkZXJzIG1haW5seSBzaG9wIGJ5IGJyYW5kL3JlY29nbmlzYWJsZSBzaG9lcyIsIk5vIHBhdHRlcm4gdG8gcHJpY2luZy9kaXNjb3VudCwgcmVhZGVycyBtYWlubHkgc2hvcCBieSBicmFuZCIsIkEgbGFiZWwgd2lsbCBkZWZpbml0ZWx5IGhlbHAgaGVyZSBlLmcuIGJlc3QgZm9yIHNpZGUgc2xlZXBlciwgYmVzdCBtZW1vcnkgZm9hbSIsIkFwcGxpYW5jZXMgaXMgYSBiaWcgY2F0ZWdvcnksIGlzIGl0IHBvc3NpYmxlIHRvIHNwbGl0IGludG8ga2l0Y2hlbiBhcHBsaWFuY2VzLCBmbG9vcmNhcmUsIGFpciBoZWFsdGgvY29vbGluZz8gT3Igc2ltaWxhciIsIkZvY3VzIG9uIHZhbHVlIGZvciBtb25leSwgR2FybWlucyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiBwb3B1bGFyIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIHN0aWxsICQ1MDAiLCwsLCxJbmNsdWRlIEtpbmRsZXMsSSB3b3VsZCBpbmNsdWRlIHdpZmkgcm91dGVycyBoZXJlIGluc3RlYWQgb2Ygc21hcnQgaG9tZSxDYW4gd2Ugc3VyZmFjZSBwaG9uZSBwcm92aWRlciBkZWFscz8gVC1tb2JpbGUgYW5kIHZlcml6b24gd291bGQgbWFrZSBhIGxvdCBtb3JlIG1vbmV5IHRoYW4gQW1hem9uLCwNCiwsaGF2aW5nIGEgJ2Jlc3QgZm9yJyBsYWJlbCB3b3VsZCBiZSBoZWxwZnVsIGUuZy4gYmVzdCBmb3IgYnJpZ2h0IHJvb20sQ2FuIHdlIHN0b3Aga2lkcyBzaG9lcyBmcm9tIHB1bGxpbmcgdGhyb3VnaD8sIldpbGwgdGhpcyBpbmNsdWRlIGFjY2Vzc29yaWVzIGUuZy4gY2FwcywgYmFncywgaWYgc28gbWFrZSBzdXJlIHRoZXNlIGFyZSBtaXhlZCB0aHJvdWdob3V0IGNsb3RoaW5nIGRlYWxzIixXaWxsIHRoaXMgaW5jbHVkZSB0b3BwZXJzIGFuZCBwaWxsb3dzPyBTZWVpbmcgbW9yZSBtb21lbnR1bSB3aXRoIHRoaXMgY2F0ZWdvcnkgcmVjZW50bHkgc28gYSBiZWRkaW5nIHRhYiBtaWdodCB3b3JrLCwiTmVlZCB0byBtYWtlIHN1cmUgYmFuZHMsIHNjcmVlbiBwcm90ZWN0b3JzIGV0Yy4gZG9uJ3QgcHVsbCBpbnRvIGhlcmUiLCwsLCwsLCwsDQosLCJQcmlvcml0aXNlIDY1JycgYW5kIDU1JyBpbmNoIFRWcywgdGhlbiBiaWdnZXIgc2NyZWVucyBiZWZvcmUgdGhlIHNtYWxsZXIgc2l6ZXMiLCwsUXVlZW4gaXMgdGhlIG1vc3QgcG9wdWxhciBzaXplIGluIHRoZSBVUyAtIHByaW9yaXRpc2UgZGVhbHMgZm9yIHRoaXMgc2l6ZSwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpDYXRlZ29yaWVzIHRvIGNvbnNpZGVyLCxQcm9kdWN0cyBpbmNsdWRlZCwsLCwsLCwsLCwsLCwsDQpVbmRlciAkNTA/LCxBaXIgdGFncywsLCwsLCwsLCwsLCwsDQosLFBvcnRhYmxlIGNoYXJnZXJzL3dpcmVsZXNzIGNoYXJnZXJzLCwsLCwsLCwsLCwsLCwNCiwsIldhdGVyIGJvdHRsZXMgKHN0YW5sZXlzLCBPd2FsYSwgSHlkcm8gZmxhc2ssIFlldGkpIiwsLCwsLCwsLCwsLCwsDQosLEhhbmQgaGVsZCBmYW5zLCwsLCwsLCwsLCwsLCwNCiwsLCwsLCwsLCwsLCwsLCwNCmhvbWUgb2ZmaWNlLCxvZmZpY2UgY2hhaXJzLCwsLCwsLCwsLCwsLCwNCiwsc3RhbmRpbmcgZGVza3MsLCwsLCwsLCwsLCwsLA0KLCxtb25pdG9ycywsLCwsLCwsLCwsLCwsDQosLEtleWJvYXJkcywsLCwsLCwsLCwsLCwsDQosLGRvY2tpbmcgc3RhdGlvbiwsLCwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpHYW1pbmcsLENvbnNvbGVzLCwsLCwsLCwsLCwsLCwNCiwsQWNjZXNzb3JpZXMsLCwsLCwsLCwsLCwsLA0KLCxHYW1lcywsLCwsLCwsLCwsLCwsDQosLENvdWxkIGluY2x1ZGUgTGVnbz8sLCwsLCwsLCwsLCwsLA==")));              const text = preloadedCSV;              const parsed = parseCSV(text);                            const rowsByName = {};              let filterStart = -1;              parsed.forEach((rc, i) => {                 if (rc && rc.length > 0 && rc[0]) rowsByName[rc[0]] = rc;                 if (rc && rc.length > 0 && rc[0] === 'Filter buttons') filterStart = i;              });                            const cols = [];              if(rowsByName['Roundel text']) {                const headerRow = rowsByName['Roundel text'];                for(let col = 1; col < headerRow.length; col++) {                   let label = headerRow[col];                   if (!label) continue;                                      let q = rowsByName['Search Query'] && rowsByName['Search Query'][col] ? rowsByName['Search Query'][col] : '';                   let img = rowsByName['Roundel image'] && rowsByName['Roundel image'][col] ? rowsByName['Roundel image'][col] : '';                   let ds = rowsByName['Discount Amount'] && rowsByName['Discount Amount'][col] ? rowsByName['Discount Amount'][col] : '';                   let pr = rowsByName['Price Range'] && rowsByName['Price Range'][col] ? rowsByName['Price Range'][col] : '';                   let rt = rowsByName['Retailer'] && rowsByName['Retailer'][col] ? rowsByName['Retailer'][col] : '';                   let ot = rowsByName['Offer Type'] && rowsByName['Offer Type'][col] ? rowsByName['Offer Type'][col] : '';                                      let filters = [];                   if(filterStart > 0) {                     for(let r = filterStart + 1; r < parsed.length; r++) {                         if(!parsed[r] || parsed[r][0] === 'Notes' || parsed[r][0] === 'Categories to consider') break;                         let f = parsed[r][col];                         if(f) filters.push(f);                     }                   }                   cols.push({ label, img, q, ds, pr, rt, ot, filters });                }              }              this.carouselData = cols;              if (this.carouselData && this.carouselData.length > 0) {                 const isMatched = this.carouselData.some(c => c.q === this.currentQuery || c.label === this.currentQuery);                 if (!isMatched) {                    const first = this.carouselData[0];                    this.currentQuery = first.q || first.label;                    if (this.priceFilter) this.priceFilter.value = 'all';                    if (this.customPriceMin) this.customPriceMin.value = '';                    if (this.customPriceMax) this.customPriceMax.value = '';                    let dPr = first.pr || 'all';                    if (typeof dPr === 'string' && dPr !== 'all') {                       let prLower = dPr.toLowerCase();                       if (prLower.includes('min') || prLower.includes('over')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else if (prLower.includes('max') || prLower.includes('under')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       }                    }                    let dAm = '0';                    if(first.ds && typeof first.ds === 'string') {                       let m = first.ds.match(/(\d+)/);                       if(m) dAm = m[1];                    }                    if (this.discountFilter) this.discountFilter.value = dAm;                    if (this.offerTypeSelect) this.offerTypeSelect.value = first.ot || '';                    if (this.retailerSelect) this.retailerSelect.value = first.rt || '';                    this.selectedBrands = [];                    if (this.brandDropdown) {                        const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                        chks.forEach(chk => chk.checked = false);                    }                    if (this.searchInput) this.searchInput.value = this.currentQuery;                 }              }              this.renderCarouselUI();          } catch(e){ console.warn(e); }        }                renderCarouselUI() {           const roundelWrapper = this.root.querySelector('.tg-df-carousel-roundels');           if(!roundelWrapper || !this.carouselData) return;                      let html = '';           this.carouselData.forEach(r => {              const q = r.q || r.label;              const isActive = (this.currentQuery === q || this.currentQuery === r.label) ? 'active' : '';              const imgHtml = r.img ? `\x3Cimg src="${r.img}" alt="${r.label}" />` : `\x3Csvg width="32" height="32" fill="#1F69FF" viewBox="0 0 24 24">\x3Cpath d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\x3C/svg>`;              html += `                \x3Cdiv class="tg-df-roundel tg-df-carousel-cat ${isActive}" data-label="${this.escapeHTML(r.label)}">                  \x3Cdiv class="tg-df-roundel-img-box">${imgHtml}\x3C/div>                  \x3Cspan class="tg-df-roundel-label">${this.escapeHTML(r.label)}\x3C/span>                \x3C/div>              `;           });           roundelWrapper.innerHTML = html;                      // Rebind clicks           const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');           roundels.forEach(rNode => {             rNode.addEventListener('click', () => {                const r = this.carouselData.find(c => c.label === rNode.getAttribute('data-label'));                 if(!r) return;                                  if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: r.label,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = r.q || r.label;                const labelTitle = this.root.querySelector('#tg-df-carousel-title-label');                if (labelTitle) labelTitle.textContent = 'Best ' + this.currentQuery;                if (this.priceFilter) this.priceFilter.value = 'all';                if (this.customPriceMin) this.customPriceMin.value = '';                if (this.customPriceMax) this.customPriceMax.value = '';                let dPr = r.pr || 'all';                if (typeof dPr === 'string' && dPr !== 'all') {                   let prLower = dPr.toLowerCase();                   if (prLower.includes('min') || prLower.includes('over')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMin) this.customPriceMin.value = m[1];                   } else if (prLower.includes('max') || prLower.includes('under')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMax) this.customPriceMax.value = m[1];                   }                }                                let discountAmount = '0';                if(r.ds && typeof r.ds === 'string') {                   let m = r.ds.match(/(\d+)/);                   if(m) discountAmount = m[1];                }                if (this.discountFilter) this.discountFilter.value = discountAmount;                if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                                // Clear brands                    this.selectedBrands = [];                    if (this.brandDropdown) {                    const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                    chks.forEach(chk => chk.checked = false);                }                                if (this.searchInput) this.searchInput.value = this.currentQuery;                                roundels.forEach(ro => ro.classList.remove('active'));                if (rNode) rNode.classList.add('active');                                this.renderCarouselFilters(r);                this.fetchDeals(this.currentQuery);             });           });                      // Auto-highlight active           const activeR = this.carouselData.find(c => c.q === this.currentQuery || c.label === this.currentQuery);           if(activeR) this.renderCarouselFilters(activeR);        }                renderCarouselFilters(r) {           const filtersWrap = this.root.querySelector('.tg-df-carousel-filters-wrap');           if(!filtersWrap) return;                      let html = `\x3Cbutton class="tg-df-carousel-filter-btn" data-type="all">All\x3C/button>`;                      r.filters.forEach(f => {              let fL = f.toLowerCase();              let icon = '';              let logic = `data-type="custom" data-v="${this.escapeHTML(f)}"`;              if (fL === 'amazon deals' || fL === 'prime deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>`;              } else if (fL === 'lightning deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>`;              } else {                 if (fL.includes('lightning')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap">\x3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2">\x3C/polygon>\x3C/svg>`;                 } else if (fL.includes('% off')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>`;                 } else if (fL.includes('under') || fL.includes('min ')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>`;                 }                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>${icon} ${this.escapeHTML(f)}\x3C/button>`;              }           });                      filtersWrap.innerHTML = html;                      const btns = filtersWrap.querySelectorAll('button');           btns.forEach(b => {             b.addEventListener('click', () => {                const type = b.getAttribute('data-type');                if (type === 'custom') {                   const v = b.getAttribute('data-v');                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-custom-${(v||'').toLowerCase().replace(/[^a-z0-9]+/g, '-')}`, name: 'Custom Filter', label: v });                }                if (type === 'all') {                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: 'filter-clear-all', name: 'Clear all', label: 'Clear all filters' });                   // reset everything                   btns.forEach(btn => btn.classList.remove('active'));                   b.classList.add('active');                                      // Reset prices                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   if (this.brandDropdown) {                     const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                     chks.forEach(chk => chk.checked = false);                   }                } else {                   const v = b.getAttribute('data-v');                   const fL = v.toLowerCase();                                      let mapRet = ['amazon', 'walmart', 'best buy', 'target', 'john lewis', 'currys', 'argos'];                   const getCategory = (s) => {                      if (s === 'lightning deals' || s === 'amazon deals' || s === 'prime deals') return 'offer';                      if (s.includes('% off')) return 'discount';                      if (s.includes('under') || s.includes('over') || s.includes('min') || s.includes('max')) return 'price';                      if (mapRet.includes(s)) return 'retailer';                      return 'brand';                   };                   const cat = getCategory(fL);                   const wasActive = b.classList.contains('active');                   if (cat !== 'brand') {                      btns.forEach(btn => {                          if (btn === b) return;                          if (btn.getAttribute('data-type') === 'all') return;                          const bV = btn.getAttribute('data-v');                          if (!bV) return;                          if (getCategory(bV.toLowerCase()) === cat) btn.classList.remove('active');                      });                   }                   if (wasActive) b.classList.remove('active');                   else b.classList.add('active');                   let anyActive = Array.from(btns).some(btn => btn !== btns[0] && btn.classList.contains('active'));                   if (!anyActive) {                       btns[0].click();                       return;                   } else {                       btns[0].classList.remove('active');                   }                                      if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   btns.forEach(btn => {                       if (!btn.classList.contains('active') || btn.getAttribute('data-type') === 'all') return;                       const vv = btn.getAttribute('data-v');                       const vl = vv.toLowerCase();                                              if (vl === 'lightning deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_lightning';                       } else if (vl === 'amazon deals' || vl === 'prime deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_prime';                       } else if (vl.includes('% off')) {                          let m = vl.match(/(\d+)%/);                          if (m && this.discountFilter) this.discountFilter.value = m[1];                       } else if (vl.includes('under') || vl.includes('max')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       } else if (vl.includes('min') || vl.includes('over')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else {                          let foundR = mapRet.find(x => x === vl);                          if (foundR) {                             let realR = ['Amazon', 'Walmart', 'Best Buy', 'Target', 'John Lewis', 'Currys', 'Argos'].find(x => x.toLowerCase() === vl);                             if (this.retailerSelect) this.retailerSelect.value = realR;                          } else {                             this.selectedBrands.push(vv);                          }                       }                   });                                      if (this.brandDropdown) {                       const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                       chks.forEach(c => c.checked = this.selectedBrands.includes(c.value));                   }                                      if (r.pr && typeof r.pr === 'string') {                       let prL = r.pr.toLowerCase();                       if (prL.includes('under $')) {                           let m = prL.match(/under \$(\d+)/i);                           if (m && this.customPriceMax && !this.customPriceMax.value) this.customPriceMax.value = m[1];                       }                   }                }                                this.fetchDeals(this.currentQuery);             });           });                      // default to highlighting first           btns[0].classList.add('active');        }async fetchDeals(query, append = false) {          if (!append) {             this.showLoading();             this.deals = [];             this.displayLimit = this.getRowsLimit();          } else {             this.displayLimit += this.getRowsLimit();          }                    try {            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad(append);            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query, append);               } else {                 await this.fetchHawkDeals(query, append);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query, append);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (this.activeDealTag) {             const cleanTag = this.activeDealTag.toLowerCase().replace(/&/g, '').replace(/[^a-z0-9]+/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');             const encodedTag = encodeURIComponent(cleanTag);             const url = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let dynamicBrandsCounts = {};                    targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                   dynamicBrandsCounts[data.brand] = (dynamicBrandsCounts[data.brand] || 0) + 1;                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim();                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || ''                });             });          });                    const airedaleBrandsList = Object.keys(dynamicBrandsCounts).map(b => ({              formatted_value: b,              count: dynamicBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query, append = false) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (append && this.deals.length > 0) {            url.searchParams.append('offset', this.deals.length.toString());          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    url.searchParams.append('rows', this.getRowsLimit().toString());          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = this.getRowsLimit();          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: item.name || item.title || item.model_name || item.product_name || 'Unknown Product',            brand: item.brand || '',            productName: item.model_name || item.product_name || item.name || '',            merchant: item.merchant_name || item.merchant || item.retailer || 'Retailer',            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : (this.getViewMode() === 'savings_squad' ? 'date_desc' : 'discount_desc');          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin-top:8px;">${_div}                ${_div}              ${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map((v, idx) => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              const revenueIdVal = generateRevenueId(linkUrl, offerName, merchantName, null);              const rewrittenLinkUrl = rewriteAffiliateLink(linkUrl, area, revenueIdVal);              return `                \x3Ca href="${this.escapeHTML(rewrittenLinkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item"                  data-action="voucher-click"                  data-product-name="${this.escapeHTML(offerName)}"                  data-merchant-name="${this.escapeHTML(merchantName)}"                  data-analytics-id="${this.escapeHTML(offerObj.offer_id || offerObj.id || v.id || '')}"                  data-price=""                  data-previous-price=""                  data-original-link="${this.escapeHTML(linkUrl)}"                  data-revenue-id="${revenueIdVal}"                  data-index="${idx}"                  data-total="${offers.length}"                  data-in-stock="true"                  data-currency="USD"                  data-model-id="${this.escapeHTML(offerObj.model_id || v.model_id || offerObj.id || v.id || '')}"                  data-merchant-id="${this.escapeHTML(offerObj.merchant_id || offerObj.merchant?.id || '')}"                >                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });            // Attach voucher click tracking            const voucherBtns = content.querySelectorAll('[data-action="voucher-click"]');            voucherBtns.forEach(btn => {              btn.addEventListener('click', (e) => {                if (e.target.closest('[data-action="copy-code"]')) return;                                const productName = btn.getAttribute('data-product-name');                const merchantNameAttr = btn.getAttribute('data-merchant-name');                const productId = btn.getAttribute('data-analytics-id');                const price = parseFloat(btn.getAttribute('data-price')) || null;                const prevPriceStr = btn.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = btn.getAttribute('data-original-link');                const rewrittenLink = btn.getAttribute('href');                const revenueId = btn.getAttribute('data-revenue-id');                const index = parseInt(btn.getAttribute('data-index'), 10) || 0;                const inStock = btn.getAttribute('data-in-stock') === 'true';                const totalText = btn.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: btn.getAttribute('data-model-id') || null,                    matchId: btn.getAttribute('data-match-id') || null,                    brand: btn.getAttribute('data-model-brand') || null,                    parent: btn.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: btn.getAttribute('data-merchant-id') || null,                    network: btn.getAttribute('data-merchant-network') || null,                    url: btn.getAttribute('data-merchant-url') || null,                    name: merchantNameAttr                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: btn.getAttribute('data-currency') || 'USD'                };                if (typeof trackDealClick === 'function') {                  trackDealClick(trackingParams);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)} (${this.airedaleTagCounts[tag] || 0})${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = isSavingsSquadMode ? 'View Deal' : 'Check Price';              if (isSavingsSquadMode) {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                  ${_div}                `;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = `                \x3Cdiv class="tg-df-card-merchant-wrapper">                  \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                ${_div}                \x3Cdiv class="tg-df-card-price-group">                  ${isSavingsSquadMode ? '' : `                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                  `}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = deal.merchant && deal.merchant.toLowerCase().includes('amazon') ? '' : `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description">\x3Cp>${this.escapeHTML(deal.description)}${_p}${_div}` : ''}                      ${_div}                    ${_div}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>${deal.isCheckPrice ? 'Check Price' : 'View Deal'}${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" disable-tracking="true" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cp style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 12px; line-height: 1.4;">${this.escapeHTML(deal.description)}${_p}` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${priceGroupHtml}                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta ${isSavingsSquadMode ? 'tg-df-cta-savings-squad' : ''}" style="text-decoration: none;">${ctaText}${_a}                  ${_div}                ${_div}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit || ((this.getViewMode() === 'carousel' || this.getViewMode() === 'auto') && displayDeals.length > 0 && displayDeals.length % ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12) === 0)) {            if (this.getViewMode() === 'carousel') {               dealsHtml += `                 \x3Cbutton type="button" class="tg-df-load-more-card tg-df-load-more">                   \x3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-bottom: 8px;">\x3Cpath d="M5 12h14">\x3C/path>\x3Cpath d="m12 5 7 7-7 7">\x3C/path>\x3C/svg>                   Load More                 ${_button}               `;            } else {               dealsHtml += `                 \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                   \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer; display: flex; align-items: center;">Load More${_button}                 ${_div}               `;            }          }                    this.grid.innerHTML = dealsHtml;          // Inject JSON-LD          try {            let targetNode = this.hostContainer || document.head;            let jsonLdScript = targetNode.querySelector('#tg-df-json-ld-' + this.widgetId);            if (!jsonLdScript) {                jsonLdScript = document.createElement('script');                jsonLdScript.type = 'application/ld+json';                jsonLdScript.id = 'tg-df-json-ld-' + this.widgetId;                targetNode.appendChild(jsonLdScript);            }            const jsonLdData = {              "@context": "https://schema.org",              "@type": "ItemList",              "itemListElement": displayDeals.slice(0, this.displayLimit).map((deal, index) => {                 let isoCurrency = "USD";                 if (deal.currency === '£') isoCurrency = "GBP";                 else if (deal.currency === '€') isoCurrency = "EUR";                 else if (deal.currency === 'A$') isoCurrency = "AUD";                 else if (deal.currency === 'CA$') isoCurrency = "CAD";                 const areaCode = typeof this.getAreaCode === 'function' ? this.getAreaCode() : 'US';                 const revenueId = typeof generateRevenueId === 'function' ? generateRevenueId(deal.url, deal.title, deal.merchant, null) : '';                 const rewrittenLink = typeof rewriteAffiliateLink === 'function' ? rewriteAffiliateLink(deal.url, areaCode, revenueId) : deal.url;                 return {                   "@type": "ListItem",                   "position": index + 1,                   "item": {                     "@type": "Product",                     "name": deal.title,                     "image": deal.image || "",                     "description": deal.description || "",                     "brand": {                       "@type": "Brand",                       "name": deal.brand || ""                     },                     "offers": {                       "@type": "Offer",                       "priceCurrency": isoCurrency,                       "price": deal.rawPrice || 0,                       "url": rewrittenLink,                       "seller": {                         "@type": "Organization",                         "name": deal.merchant || ""                       }                     }                   }                 };              }).filter(item => item.item.name)            };            jsonLdScript.textContent = JSON.stringify(jsonLdData);          } catch(e) { console.warn("JSON-LD generation failed", e); }                    let gridWrapper = this.grid.parentElement;          if (gridWrapper && gridWrapper.classList.contains('tg-df-grid-wrapper')) {             let rightChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-right');             let leftChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-left');             if (this.getViewMode() === 'carousel') {                 // The observer set up in setupScrollListeners handles visibility.                 if (rightChevron) rightChevron.style.display = 'flex';                 if (leftChevron) leftChevron.style.display = 'none'; // reset correctly             } else {                 if (rightChevron) rightChevron.style.display = 'none';                 if (leftChevron) leftChevron.style.display = 'none';             }          }                    const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', async () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              if (displayDeals.length <= this.displayLimit) {                 loadMoreBtn.innerHTML = `                  <svg class="tg-df-spinner" style="width: 16px; height: 16px; display: inline-block; vertical-align: middle; margin-right: 8px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48l2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48l2.83-2.83"/></svg>                  Loading...                 `;                 loadMoreBtn.disabled = true;                 await this.fetchDeals(this.currentQuery, true);              } else {                 this.displayLimit += this.getRowsLimit();                 this.render();              }            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            setTimeout(() => {               if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');               document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));            }, 50);          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 5 reasons why NordVPN beats a free alternative every time ]]></title>
                                                                                                <dc:content><![CDATA[ <p><a href="https://www.tomsguide.com/reviews/nordvpn-review" target="_blank"><u>NordVPN</u></a> is one of the <a href="https://www.tomsguide.com/best-picks/best-vpn" target="_blank"><u>best VPNs</u></a> you can use instead of a free one, and for good reason. Founded in 2012, it’s fast become one of the most secure and speedy VPNs you can use in 2026. <strong>Available on all major operating systems</strong>, such as iOS, Windows, macOS, and Linux, it’s a straightforward process to sign up, install the app, sign in, and enable NordVPN on your devices.</p><p>However, you may have previously been tempted to try out a free VPN. Whilst these can give your device a way of browsing streaming sites in another country, there’s a good chance your browsing data is at risk of being used by third-party companies. This is a big factor in funding these VPNs, and you may experience far slower speeds compared to using a paid VPN.</p><p>With this in mind, we’ve listed five reasons below why NordVPN is the far better choice than a free VPN, and we've also delved into details about how the company keeps its users’ data secure.</p><ul><li><strong>NordVPN is one of the best value for money VPN packages you can buy, and is known to be one of the fastest available.</strong></li><li><strong>NordVPN runs on servers with no hard drives, meaning data is never stored, and there’s low-power consumption and fast speeds, benefiting everyone.</strong></li><li><strong>There have been six audits under the ISAE 3000 standard so far, showcasing NordVPN’s focus on privacy.</strong></li><li><strong>There are three subscription tiers that have varying features to suit a single device or 10, depending on your needs; this flexible pricing gives you premium speed and security without the hidden data limits or privacy risks of free VPNs.</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xuhg5HK4CxJJDre6LJVWrB" name="ios-specialty-servers-ca" alt="NordVPN" src="https://cdn.mos.cms.futurecdn.net/xuhg5HK4CxJJDre6LJVWrB-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: NordVPN)</span></figcaption></figure><h2 id="5-reasons-to-use-nordvpn-instead-of-a-free-alternative">5 reasons to use NordVPN instead of a free alternative</h2><h2 class="article-body__section" id="section-nordvpn-s-no-log-policy-has-been-independently-audited-six-times"><span>NordVPN’s no-log policy has been independently audited six times</span></h2><p>When you’re considering a paid VPN, privacy has to be at the top of what one offers. NordVPN’s no-log policy, which means that it doesn’t store your information, has been verified by auditors six times so far under the <a href="https://www.iaasb.org/publications/international-standard-assurance-engagements-isae-3000-revised-assurance-engagements-other-audits-or" target="_blank" rel="nofollow"><u>ISAE 3000 standard</u></a>. This assures that no data, such as user traffic or metadata, is kept by NordVPN when enabled.</p><h3 id="what-does-an-isae-3000-audit-actually-prove">What does an ISAE 3000 audit actually prove?</h3><p>An ISAE 3000 audit examines a company's systems and reports on its findings. It’s a big distinction from free VPNs, as they can be funded by sharing data collected by users. Many assume that these are private, but it’s usually far from the case.</p><h2 class="article-body__section" id="section-nordvpn-s-servers-run-without-hard-drives"><span>NordVPN’s servers run without hard drives</span></h2><p>Because every server in NordVPN’s network runs on <a href="https://nordvpn.com/blog/ram-based-servers/?srsltid=AfmBOop--IQw9kHqqAWvOcDHYsrmpyJMtJZab43qNgdSzcmecNXwT4CL" target="_blank" rel="nofollow"><u>RAM instead of hard drives</u></a>, this means that any data stored is only temporary, as there’s no storage for hackers to steal. There are other benefits to using Nord’s services, such as high-speed and lower power consumption. This means that when you enable NordVPN, you’re less likely to experience lag compared to a free VPN that works on a server with hard drives installed.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qHaNXUAafL4bTGSCSH3LfR" name="macos-fr-6" alt="NordVPN" src="https://cdn.mos.cms.futurecdn.net/qHaNXUAafL4bTGSCSH3LfR-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: NordVPN)</span></figcaption></figure><h2 class="article-body__section" id="section-why-is-nordvpn-faster-than-a-free-vpn"><span>Why is NordVPN faster than a free VPN?</span></h2><p>This is because of NordVPN’s exclusive protocol, <a href="https://nordvpn.com/blog/nordlynx-protocol-wireguard/?srsltid=AfmBOoruZXJXMzDd9EfIznuK9xuCx9vYy2c_SyFIRlQBtZB6N4qAGwcr" target="_blank" rel="nofollow"><u>NordLynx</u></a>. Built on the light WireGuard framework, NordLynx runs on only 4,000 lines of code, compared to legacy protocols like OpenVPN, which can bloat up to 400,000 lines.</p><p>Because it's made with far less code than others, it means that you get quick server connections, reduced battery drain on mobile devices, and fast, unthrottled speeds with almost no lag when streaming on top platforms, whereas that can be a common occurrence when using free VPNs.</p><p>In <a href="https://www.tomsguide.com/reviews/nordvpn-review#section-nordvpn-connection-speeds" target="_blank">speed testing by Tom’s Guide</a>, NordLynx reached local speeds averaging 1,249 Mbps (peaking at 1,284 Mbps), nearly doubling the speed of NordVPN's own OpenVPN implementation (688 Mbps) and being "fast enough for almost any conceivable use-case".</p><p>NordLynx is also available on all major devices, such as the <a href="https://www.tomsguide.com/us/best-apple-iphone,review-6348.html" target="_blank"><u>best iPhones</u></a> and <a href="https://www.tomsguide.com/us/best-android-phones,review-6051.html" target="_blank"><u>Android handsets</u></a>, so you’ll be able to experience fast speeds on the devices you use daily.</p><h2 class="article-body__section" id="section-connecting-to-a-server-and-using-the-kill-switch-work-without-being-asked"><span>Connecting to a server and using the kill switch work without being asked</span></h2><p>One of the biggest benefits of using a paid VPN is being protected without even realizing it. NordVPN auto-connect creates an encrypted connection once your device joins an insecure network without you doing anything.</p><p>In addition, the kill switch kicks in if your device fails to connect to a VPN, protecting it from your data being shared on an unsecure network. Free VPNs usually work on unprotected connections, which can expose your data at any moment.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="M8D4iZLyTqK694JGqz4N6Y" name="android-tv-br-2" alt="NordVPN" src="https://cdn.mos.cms.futurecdn.net/M8D4iZLyTqK694JGqz4N6Y-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: NordVPN)</span></figcaption></figure><h2 class="article-body__section" id="section-one-subscription-covers-the-whole-vpn-experience"><span>One subscription covers the whole VPN experience</span></h2><p>NordVPN offers <a href="https://nordvpn.com/pricing/" target="_blank" rel="nofollow"><u>three subscription tiers</u></a> that can easily suit anyone who’s looking for a VPN to use, consisting of  Basic, Complete, and Ultimate Max, which can cover up to 10 devices:</p><p>• Basic ($3.49 / £2.59 per month): NordVPN</p><p>• Complete ($4.49 / £3.39 per month): Email, phone, credit card, and national ID/SSN monitoring, scam call protection, ad & tracker blocker, and more</p><p>• Ultimate Max ($7.49 / £6.29 per month): Unique IP address to help improve security and avoid CAPTCHAs. For UK users, coverage for Scam and ID loss of up to £5,000.</p><p>These can all be a monthly, yearly, or two-year plan.</p><p>There’s also a helpful <a href="https://nordvpn.com/customer-service/?srsltid=AfmBOopcufe5weTxzrnHwfGjd4ZNnHzG4mYJgtnwKZcz-XCE4BxBdyWZ" target="_blank" rel="nofollow"><u>24/7 support line</u></a> included as standard - this can be used if you need some help or if you need to change your account info. Free VPNs don’t offer this, and if you’re managing ten devices, it’s good to have support when you need it.</p><h2 id="nordvpn-proves-why-it-s-the-best-alternative-to-a-free-vpn">NordVPN proves why it’s the best alternative to a free VPN</h2><p><a href="https://www.tomsguide.com/reviews/nordvpn-review" target="_blank"><u>NordVPN</u></a> is the best alternative to a free VPN. When you consider that the company has been <a href="https://nordvpn.com/blog/nordvpn-no-logs-assurance-engagement-2025/" target="_blank" rel="nofollow"><u>publicly audited six times so far</u></a>, as well as having its own protocol to ensure fast and secure connection speeds, the benefits outweigh the ability to use a free VPN. To find out more, <a href="https://go.nordvpn.net/aff_c?offer_id=346&aff_id=3013&url_id=8737" target="_blank" rel="nofollow">visit the NordVPN website</a>.</p><h2 id="faqs">FAQs</h2><h3 id="why-is-nordvpn-considered-one-of-the-fastest-vpns">Why is NordVPN considered one of the fastest VPNs?</h3><p>This is due to several reasons, like NordLynx, an exclusive protocol that NordVPN runs on to ensure a fast and secure VPN connection. There’s also SmartPlay, which helps you securely watch movies and TV shows, as well as Meshnet, which can let you share files and more with other devices worldwide.</p><h3 id="is-nordvpn-a-good-long-term-vpn-subscription">Is NordVPN a good long-term VPN subscription?</h3><p>Absolutely. NordVPN is designed to offer more than just basic VPN protection, making it a strong choice if you’re looking for a service you can rely on long term. Its 2-year Ultimate Max plan includes a broad range of features, including NordLynx, designed to deliver fast, secure connections without making everyday browsing feel complicated. You also get tools such as a kill switch and threat protection features, giving you additional peace of mind when you’re online. For anyone who wants a VPN that’s easy to use, feature-rich and built for regular use across multiple devices, NordVPN is a compelling long-term option.</p><h3 id="why-do-people-choose-nordvpn-over-cheaper-vpns">Why do people choose NordVPN over cheaper VPNs?</h3><p>The appeal of NordVPN is often its balance of simplicity, security and features. Setting it up across your devices is straightforward, so you don’t need to be particularly tech-savvy to start using it. Once you’re connected, features such as the kill switch can help protect your connection if your VPN drops unexpectedly. NordVPN also offers its NordLynx protocol, which is designed to provide fast connections while maintaining strong security. While cheaper VPNs can offer basic privacy tools, NordVPN’s combination of ease of use, additional features and a polished experience can make it worth considering if you plan to use a VPN regularly.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/vpns/5-reasons-why-nordvpn-beats-a-free-alternative-every-time</link>
                                                                            <description>
                            <![CDATA[ Paying for a VPN can work out in more ways than you think ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">CNXMPm39jzQ5HHXeZxnadP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/z7c7SKDV32SHpQtUdeUv9L-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Thu, 13 Aug 2026 16:15:40 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[VPNs]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sponsored ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/z7c7SKDV32SHpQtUdeUv9L-1920-80.png">
                                                            <media:credit><![CDATA[NordVPN]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[NordVPN]]></media:description>                                                            <media:text><![CDATA[NordVPN]]></media:text>
                                <media:title type="plain"><![CDATA[NordVPN]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/z7c7SKDV32SHpQtUdeUv9L-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.tomsguide.com/reviews/nordvpn-review" target="_blank"><u>NordVPN</u></a> is one of the <a href="https://www.tomsguide.com/best-picks/best-vpn" target="_blank"><u>best VPNs</u></a> you can use instead of a free one, and for good reason. Founded in 2012, it’s fast become one of the most secure and speedy VPNs you can use in 2026. <strong>Available on all major operating systems</strong>, such as iOS, Windows, macOS, and Linux, it’s a straightforward process to sign up, install the app, sign in, and enable NordVPN on your devices.</p><p>However, you may have previously been tempted to try out a free VPN. Whilst these can give your device a way of browsing streaming sites in another country, there’s a good chance your browsing data is at risk of being used by third-party companies. This is a big factor in funding these VPNs, and you may experience far slower speeds compared to using a paid VPN.</p><p>With this in mind, we’ve listed five reasons below why NordVPN is the far better choice than a free VPN, and we've also delved into details about how the company keeps its users’ data secure.</p><ul><li><strong>NordVPN is one of the best value for money VPN packages you can buy, and is known to be one of the fastest available.</strong></li><li><strong>NordVPN runs on servers with no hard drives, meaning data is never stored, and there’s low-power consumption and fast speeds, benefiting everyone.</strong></li><li><strong>There have been six audits under the ISAE 3000 standard so far, showcasing NordVPN’s focus on privacy.</strong></li><li><strong>There are three subscription tiers that have varying features to suit a single device or 10, depending on your needs; this flexible pricing gives you premium speed and security without the hidden data limits or privacy risks of free VPNs.</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xuhg5HK4CxJJDre6LJVWrB" name="ios-specialty-servers-ca" alt="NordVPN" src="https://cdn.mos.cms.futurecdn.net/xuhg5HK4CxJJDre6LJVWrB-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: NordVPN)</span></figcaption></figure><h2 id="5-reasons-to-use-nordvpn-instead-of-a-free-alternative">5 reasons to use NordVPN instead of a free alternative</h2><h2 class="article-body__section" id="section-nordvpn-s-no-log-policy-has-been-independently-audited-six-times"><span>NordVPN’s no-log policy has been independently audited six times</span></h2><p>When you’re considering a paid VPN, privacy has to be at the top of what one offers. NordVPN’s no-log policy, which means that it doesn’t store your information, has been verified by auditors six times so far under the <a href="https://www.iaasb.org/publications/international-standard-assurance-engagements-isae-3000-revised-assurance-engagements-other-audits-or" target="_blank" rel="nofollow"><u>ISAE 3000 standard</u></a>. This assures that no data, such as user traffic or metadata, is kept by NordVPN when enabled.</p><h3 id="what-does-an-isae-3000-audit-actually-prove">What does an ISAE 3000 audit actually prove?</h3><p>An ISAE 3000 audit examines a company's systems and reports on its findings. It’s a big distinction from free VPNs, as they can be funded by sharing data collected by users. Many assume that these are private, but it’s usually far from the case.</p><h2 class="article-body__section" id="section-nordvpn-s-servers-run-without-hard-drives"><span>NordVPN’s servers run without hard drives</span></h2><p>Because every server in NordVPN’s network runs on <a href="https://nordvpn.com/blog/ram-based-servers/?srsltid=AfmBOop--IQw9kHqqAWvOcDHYsrmpyJMtJZab43qNgdSzcmecNXwT4CL" target="_blank" rel="nofollow"><u>RAM instead of hard drives</u></a>, this means that any data stored is only temporary, as there’s no storage for hackers to steal. There are other benefits to using Nord’s services, such as high-speed and lower power consumption. This means that when you enable NordVPN, you’re less likely to experience lag compared to a free VPN that works on a server with hard drives installed.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qHaNXUAafL4bTGSCSH3LfR" name="macos-fr-6" alt="NordVPN" src="https://cdn.mos.cms.futurecdn.net/qHaNXUAafL4bTGSCSH3LfR-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: NordVPN)</span></figcaption></figure><h2 class="article-body__section" id="section-why-is-nordvpn-faster-than-a-free-vpn"><span>Why is NordVPN faster than a free VPN?</span></h2><p>This is because of NordVPN’s exclusive protocol, <a href="https://nordvpn.com/blog/nordlynx-protocol-wireguard/?srsltid=AfmBOoruZXJXMzDd9EfIznuK9xuCx9vYy2c_SyFIRlQBtZB6N4qAGwcr" target="_blank" rel="nofollow"><u>NordLynx</u></a>. Built on the light WireGuard framework, NordLynx runs on only 4,000 lines of code, compared to legacy protocols like OpenVPN, which can bloat up to 400,000 lines.</p><p>Because it's made with far less code than others, it means that you get quick server connections, reduced battery drain on mobile devices, and fast, unthrottled speeds with almost no lag when streaming on top platforms, whereas that can be a common occurrence when using free VPNs.</p><p>In <a href="https://www.tomsguide.com/reviews/nordvpn-review#section-nordvpn-connection-speeds" target="_blank">speed testing by Tom’s Guide</a>, NordLynx reached local speeds averaging 1,249 Mbps (peaking at 1,284 Mbps), nearly doubling the speed of NordVPN's own OpenVPN implementation (688 Mbps) and being "fast enough for almost any conceivable use-case".</p><p>NordLynx is also available on all major devices, such as the <a href="https://www.tomsguide.com/us/best-apple-iphone,review-6348.html" target="_blank"><u>best iPhones</u></a> and <a href="https://www.tomsguide.com/us/best-android-phones,review-6051.html" target="_blank"><u>Android handsets</u></a>, so you’ll be able to experience fast speeds on the devices you use daily.</p><h2 class="article-body__section" id="section-connecting-to-a-server-and-using-the-kill-switch-work-without-being-asked"><span>Connecting to a server and using the kill switch work without being asked</span></h2><p>One of the biggest benefits of using a paid VPN is being protected without even realizing it. NordVPN auto-connect creates an encrypted connection once your device joins an insecure network without you doing anything.</p><p>In addition, the kill switch kicks in if your device fails to connect to a VPN, protecting it from your data being shared on an unsecure network. Free VPNs usually work on unprotected connections, which can expose your data at any moment.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="M8D4iZLyTqK694JGqz4N6Y" name="android-tv-br-2" alt="NordVPN" src="https://cdn.mos.cms.futurecdn.net/M8D4iZLyTqK694JGqz4N6Y-1920-80.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: NordVPN)</span></figcaption></figure><h2 class="article-body__section" id="section-one-subscription-covers-the-whole-vpn-experience"><span>One subscription covers the whole VPN experience</span></h2><p>NordVPN offers <a href="https://nordvpn.com/pricing/" target="_blank" rel="nofollow"><u>three subscription tiers</u></a> that can easily suit anyone who’s looking for a VPN to use, consisting of  Basic, Complete, and Ultimate Max, which can cover up to 10 devices:</p><p>• Basic ($3.49 / £2.59 per month): NordVPN</p><p>• Complete ($4.49 / £3.39 per month): Email, phone, credit card, and national ID/SSN monitoring, scam call protection, ad & tracker blocker, and more</p><p>• Ultimate Max ($7.49 / £6.29 per month): Unique IP address to help improve security and avoid CAPTCHAs. For UK users, coverage for Scam and ID loss of up to £5,000.</p><p>These can all be a monthly, yearly, or two-year plan.</p><p>There’s also a helpful <a href="https://nordvpn.com/customer-service/?srsltid=AfmBOopcufe5weTxzrnHwfGjd4ZNnHzG4mYJgtnwKZcz-XCE4BxBdyWZ" target="_blank" rel="nofollow"><u>24/7 support line</u></a> included as standard - this can be used if you need some help or if you need to change your account info. Free VPNs don’t offer this, and if you’re managing ten devices, it’s good to have support when you need it.</p><h2 id="nordvpn-proves-why-it-s-the-best-alternative-to-a-free-vpn">NordVPN proves why it’s the best alternative to a free VPN</h2><p><a href="https://www.tomsguide.com/reviews/nordvpn-review" target="_blank"><u>NordVPN</u></a> is the best alternative to a free VPN. When you consider that the company has been <a href="https://nordvpn.com/blog/nordvpn-no-logs-assurance-engagement-2025/" target="_blank" rel="nofollow"><u>publicly audited six times so far</u></a>, as well as having its own protocol to ensure fast and secure connection speeds, the benefits outweigh the ability to use a free VPN. To find out more, <a href="https://go.nordvpn.net/aff_c?offer_id=346&aff_id=3013&url_id=8737" target="_blank" rel="nofollow">visit the NordVPN website</a>.</p><h2 id="faqs">FAQs</h2><h3 id="why-is-nordvpn-considered-one-of-the-fastest-vpns">Why is NordVPN considered one of the fastest VPNs?</h3><p>This is due to several reasons, like NordLynx, an exclusive protocol that NordVPN runs on to ensure a fast and secure VPN connection. There’s also SmartPlay, which helps you securely watch movies and TV shows, as well as Meshnet, which can let you share files and more with other devices worldwide.</p><h3 id="is-nordvpn-a-good-long-term-vpn-subscription">Is NordVPN a good long-term VPN subscription?</h3><p>Absolutely. NordVPN is designed to offer more than just basic VPN protection, making it a strong choice if you’re looking for a service you can rely on long term. Its 2-year Ultimate Max plan includes a broad range of features, including NordLynx, designed to deliver fast, secure connections without making everyday browsing feel complicated. You also get tools such as a kill switch and threat protection features, giving you additional peace of mind when you’re online. For anyone who wants a VPN that’s easy to use, feature-rich and built for regular use across multiple devices, NordVPN is a compelling long-term option.</p><h3 id="why-do-people-choose-nordvpn-over-cheaper-vpns">Why do people choose NordVPN over cheaper VPNs?</h3><p>The appeal of NordVPN is often its balance of simplicity, security and features. Setting it up across your devices is straightforward, so you don’t need to be particularly tech-savvy to start using it. Once you’re connected, features such as the kill switch can help protect your connection if your VPN drops unexpectedly. NordVPN also offers its NordLynx protocol, which is designed to provide fast connections while maintaining strong security. While cheaper VPNs can offer basic privacy tools, NordVPN’s combination of ease of use, additional features and a polished experience can make it worth considering if you plan to use a VPN regularly.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ New Windows zero-day flaw could give hackers deep access to your PC — how to stay safe ]]></title>
                                                                                                <dc:content><![CDATA[ <p>This week two different <a href="https://www.tomsguide.com/computing/online-security/over-1-billion-windows-users-at-risk-after-disgruntled-security-researcher-leaks-defender-zero-days">Windows vulnerabilities</a> were revealed that attack your PC from different angles. However, there is one unfortunate thread that connects them; both are capable of allowing a malicious actor to gain system privileges on your Windows device, and neither has been patched yet.</p><p>The flaws are a <a href="https://www.tomsguide.com/computing/online-security/do-you-use-microsoft-exchange-hackers-are-actively-exploiting-a-new-zero-day-flaw">zero-day vulnerability</a> that can circumnavigate a previous RoguePlanet and a new "Plug and Pwn" attack that emulates USB devices.</p><p>Read on to find out what each attack can do and how to potentially stay safe until they get patched. </p><h2 id="shieldbreak-zero-day">Shieldbreak Zero-Day</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JU27PbrhCr9X35AbQFzAdR" name="virtual vpn" alt="Hands typing on a laptop with a digital shield and lock icon, symbolizing cybersecurity. Surrounded by binary code and glowing elements." src="https://cdn.mos.cms.futurecdn.net/JU27PbrhCr9X35AbQFzAdR-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TU IS (via Getty Images))</span></figcaption></figure><p>The zero-day vulnerability was found by Nightmare Eclipse, a bug hunter who reportedly has major beef with Microsoft and no qualms sharing the latest vulnerabilities they've discovered before a patch has released.</p><p>The latest, dubbed <a href="https://github.com/MSNightmare/ShieldBreak" target="_blank">ShieldBreak</a>, can apparently get around the RoguePlanet patch and allows attackers to gain system privileges on patched Windows 10, Windows 11 and Windows Server system.</p><p>Per <a href="https://www.theregister.com/cyber-crime/2026/08/12/microsoft-vendetta-hacker-has-a-new-zero-day-that-gives-system-privileges-on-fully-patched-windows/5286889" target="_blank">The Register</a>, the exploit has been tested by other security researchers and confirmed.</p><p>ShieldBreak apparently uses a "user-mode callback hook" to change file contents during a Defender cloud-hydration scan via cfapi (Cloud Filter API)," according to security researcher <a href="https://cyberplace.social/@GossiTheDog/117082629057300721" target="_blank">Kevin Beaumont</a>.</p><p>Basically, it uses <a href="https://www.tomsguide.com/computing/antivirus/microsoft-defender-review">Microsoft Defender</a>, if enabled, when it runs a scan. Then the flaw can be exploited to gain System privileges. Another researcher, <a href="https://infosec.exchange/@wdormann/117079587486018149" target="_blank">Will Dormann</a>, says that Defender has to be active for the exploit to work.</p><h2 id="how-to-stay-safe-from-shieldbreak">How to stay safe from Shieldbreak</h2><p>Until Microsoft patches this vulnerability, one way to stay safe is to disable Microsoft Defender. </p><p>If you think your system might be vulnerable, Kevin Beaumont did <a href="https://cyberplace.social/@GossiTheDog/117082629057300721" target="_blank">publish three detections </a>that are supposed to be able to catch Shieldbreak in action. If you have the knowledge, you could try running them.</p><h2 id="plug-and-pwn">Plug and Pwn</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="jDguSN4dyAxkcNZQD5iamP" name="USB-A.jpg" alt="USB-A" src="https://cdn.mos.cms.futurecdn.net/jDguSN4dyAxkcNZQD5iamP-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>The other flaw is a new "plug and pwn" disclosed by security researchers <a href="https://x.com/0xedh" target="_blank">Alejandro Hernando</a> and <a href="https://x.com/Qm9yamFN" target="_blank">Borja Martinez </a>(via <a href="https://www.bleepingcomputer.com/news/security/plug-and-pwn-attack-uses-fake-usb-devices-for-windows-system-access/" target="_blank">Bleeping Computer</a>) during the recent DEF CON 34 hacking conference. This vulnerability exploits how Windows identifies and automatically connects USB hardware, finds matching driver packages and then installs software as the Authority/System account.</p><p>Simply, the flaw emulates USB devices and can be used to force Windows to install vendor packages with exploitable components that can be used to gain system privileges on a Windows device.</p><p>Apparently, in some attacks, they didn't even require user interaction or physical USB hardware to gain access. This is enabled because Windows uses something called a co-installer, which automatically downloads and installs software and drivers when a new USB device is inserted in the computer.</p><p>This specific version is different from previous ones because it follows the Windows installation path and not something from a specific vendor. Notably, the remote attacks only seem to work on systems where USB redirection is enabled, which Alejandro Hernando said is common with virtual desktop environments.</p><p>Bleeping Computer gets far more granular if you're interested in how Hernando and Martinez discovered the flaw and the tools they used to instigate it.</p><h2 id="how-to-stay-safe-from-this-usb-attack">How to stay safe from this USB attack</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CSFXsX24TGg5qRaKfGEjC6" name="USB-A vs USB-C.jpg" alt="USB-A vs USB-C" src="https://cdn.mos.cms.futurecdn.net/CSFXsX24TGg5qRaKfGEjC6-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>If you are concerned about this kind of attack and willing, you could enable a 'DisableCoInstallers' registry value. This prevents driver packages from utilizing co-installers during device installtion. </p><p>You can do this by searching for it in the Start menu or using the keyboard short cut of the Windows key +R. Then navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Installer Registry key. Then add DWORD-32 value named DisableCoInstallers and set it to 1.</p><p>It doesn't totally eliminate plug and pwn attacks, but it could break some of them.</p><p>"In anything sensitive I'd pair it with device installation restrictions or hardware-ID allow-lists, and turn off PnP device redirection on RDP and VDI hosts that don't need it (`fDisablePNPRedir`)," Hernando told BleepingComputer.</p><p>It's a good reminder either way to make sure you're only plugging in trusted devices to your system or downloading software from official sources when you can to ensure the safety of what you're putting into your computer.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/windows-operating-systems/windows-11-is-broken-and-microsoft-is-fixing-the-wrong-things#viafoura-comments"><strong>Windows 11 is broken — and Microsoft is fixing the wrong things</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/browsers/microsoft-is-still-using-deceptive-tactics-and-design-to-force-you-to-use-edge"><strong>Microsoft is still using ‘deceptive tactics and design’ to force you to use Edge</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/windows-operating-systems/microsoft-extends-windows-10-support-for-another-year-what-you-need-to-know"><strong>Microsoft extends Windows 10 support for another year: what you need to know</strong></a><strong></strong></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/new-windows-zero-day-flaw-could-give-hackers-deep-access-to-your-pc-how-to-stay-safe</link>
                                                                            <description>
                            <![CDATA[ Two different Windows flaws popped up this week. What connects them is that both could give bad actors system privileges. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">pn79hVmH7mpAKpDpKoxV3Z</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/pjRoZBt6XiSUTK6dUoB8Jh-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 13 Aug 2026 01:09:52 +0000</pubDate>                                                                                                                                <updated>Thu, 13 Aug 2026 16:02:19 +0000</updated>
                                                                                                                                            <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Windows Operating Systems]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                    <category><![CDATA[Operating Systems]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;br&gt;Send secure tips on Signal: scyo1.55.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/pjRoZBt6XiSUTK6dUoB8Jh-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock / Edited by Gemini]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A Windows 11 laptop displaying a large warning sign]]></media:description>                                                            <media:text><![CDATA[A Windows 11 laptop displaying a large warning sign]]></media:text>
                                <media:title type="plain"><![CDATA[A Windows 11 laptop displaying a large warning sign]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/pjRoZBt6XiSUTK6dUoB8Jh-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>This week two different <a href="https://www.tomsguide.com/computing/online-security/over-1-billion-windows-users-at-risk-after-disgruntled-security-researcher-leaks-defender-zero-days">Windows vulnerabilities</a> were revealed that attack your PC from different angles. However, there is one unfortunate thread that connects them; both are capable of allowing a malicious actor to gain system privileges on your Windows device, and neither has been patched yet.</p><p>The flaws are a <a href="https://www.tomsguide.com/computing/online-security/do-you-use-microsoft-exchange-hackers-are-actively-exploiting-a-new-zero-day-flaw">zero-day vulnerability</a> that can circumnavigate a previous RoguePlanet and a new "Plug and Pwn" attack that emulates USB devices.</p><p>Read on to find out what each attack can do and how to potentially stay safe until they get patched. </p><h2 id="shieldbreak-zero-day">Shieldbreak Zero-Day</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JU27PbrhCr9X35AbQFzAdR" name="virtual vpn" alt="Hands typing on a laptop with a digital shield and lock icon, symbolizing cybersecurity. Surrounded by binary code and glowing elements." src="https://cdn.mos.cms.futurecdn.net/JU27PbrhCr9X35AbQFzAdR-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: TU IS (via Getty Images))</span></figcaption></figure><p>The zero-day vulnerability was found by Nightmare Eclipse, a bug hunter who reportedly has major beef with Microsoft and no qualms sharing the latest vulnerabilities they've discovered before a patch has released.</p><p>The latest, dubbed <a href="https://github.com/MSNightmare/ShieldBreak" target="_blank">ShieldBreak</a>, can apparently get around the RoguePlanet patch and allows attackers to gain system privileges on patched Windows 10, Windows 11 and Windows Server system.</p><p>Per <a href="https://www.theregister.com/cyber-crime/2026/08/12/microsoft-vendetta-hacker-has-a-new-zero-day-that-gives-system-privileges-on-fully-patched-windows/5286889" target="_blank">The Register</a>, the exploit has been tested by other security researchers and confirmed.</p><p>ShieldBreak apparently uses a "user-mode callback hook" to change file contents during a Defender cloud-hydration scan via cfapi (Cloud Filter API)," according to security researcher <a href="https://cyberplace.social/@GossiTheDog/117082629057300721" target="_blank">Kevin Beaumont</a>.</p><p>Basically, it uses <a href="https://www.tomsguide.com/computing/antivirus/microsoft-defender-review">Microsoft Defender</a>, if enabled, when it runs a scan. Then the flaw can be exploited to gain System privileges. Another researcher, <a href="https://infosec.exchange/@wdormann/117079587486018149" target="_blank">Will Dormann</a>, says that Defender has to be active for the exploit to work.</p><h2 id="how-to-stay-safe-from-shieldbreak">How to stay safe from Shieldbreak</h2><p>Until Microsoft patches this vulnerability, one way to stay safe is to disable Microsoft Defender. </p><p>If you think your system might be vulnerable, Kevin Beaumont did <a href="https://cyberplace.social/@GossiTheDog/117082629057300721" target="_blank">publish three detections </a>that are supposed to be able to catch Shieldbreak in action. If you have the knowledge, you could try running them.</p><h2 id="plug-and-pwn">Plug and Pwn</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="jDguSN4dyAxkcNZQD5iamP" name="USB-A.jpg" alt="USB-A" src="https://cdn.mos.cms.futurecdn.net/jDguSN4dyAxkcNZQD5iamP-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>The other flaw is a new "plug and pwn" disclosed by security researchers <a href="https://x.com/0xedh" target="_blank">Alejandro Hernando</a> and <a href="https://x.com/Qm9yamFN" target="_blank">Borja Martinez </a>(via <a href="https://www.bleepingcomputer.com/news/security/plug-and-pwn-attack-uses-fake-usb-devices-for-windows-system-access/" target="_blank">Bleeping Computer</a>) during the recent DEF CON 34 hacking conference. This vulnerability exploits how Windows identifies and automatically connects USB hardware, finds matching driver packages and then installs software as the Authority/System account.</p><p>Simply, the flaw emulates USB devices and can be used to force Windows to install vendor packages with exploitable components that can be used to gain system privileges on a Windows device.</p><p>Apparently, in some attacks, they didn't even require user interaction or physical USB hardware to gain access. This is enabled because Windows uses something called a co-installer, which automatically downloads and installs software and drivers when a new USB device is inserted in the computer.</p><p>This specific version is different from previous ones because it follows the Windows installation path and not something from a specific vendor. Notably, the remote attacks only seem to work on systems where USB redirection is enabled, which Alejandro Hernando said is common with virtual desktop environments.</p><p>Bleeping Computer gets far more granular if you're interested in how Hernando and Martinez discovered the flaw and the tools they used to instigate it.</p><h2 id="how-to-stay-safe-from-this-usb-attack">How to stay safe from this USB attack</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CSFXsX24TGg5qRaKfGEjC6" name="USB-A vs USB-C.jpg" alt="USB-A vs USB-C" src="https://cdn.mos.cms.futurecdn.net/CSFXsX24TGg5qRaKfGEjC6-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>If you are concerned about this kind of attack and willing, you could enable a 'DisableCoInstallers' registry value. This prevents driver packages from utilizing co-installers during device installtion. </p><p>You can do this by searching for it in the Start menu or using the keyboard short cut of the Windows key +R. Then navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Installer Registry key. Then add DWORD-32 value named DisableCoInstallers and set it to 1.</p><p>It doesn't totally eliminate plug and pwn attacks, but it could break some of them.</p><p>"In anything sensitive I'd pair it with device installation restrictions or hardware-ID allow-lists, and turn off PnP device redirection on RDP and VDI hosts that don't need it (`fDisablePNPRedir`)," Hernando told BleepingComputer.</p><p>It's a good reminder either way to make sure you're only plugging in trusted devices to your system or downloading software from official sources when you can to ensure the safety of what you're putting into your computer.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/windows-operating-systems/windows-11-is-broken-and-microsoft-is-fixing-the-wrong-things#viafoura-comments"><strong>Windows 11 is broken — and Microsoft is fixing the wrong things</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/browsers/microsoft-is-still-using-deceptive-tactics-and-design-to-force-you-to-use-edge"><strong>Microsoft is still using ‘deceptive tactics and design’ to force you to use Edge</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/windows-operating-systems/microsoft-extends-windows-10-support-for-another-year-what-you-need-to-know"><strong>Microsoft extends Windows 10 support for another year: what you need to know</strong></a><strong></strong></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ After 25 years, Google's iconic Search button is disappearing for some users — and this is the replacement ]]></title>
                                                                                                <dc:content><![CDATA[ <p>If you tried to Google something recently and felt as if things looked a little different, it's not just your imagination. </p><p>Some users are seeing a redesigned Google homepage that removes the familiar Google Search button and replaces it with shortcuts for AI Mode, Create images, Ask about files and Brainstorm.</p><p>It’s only a test for now, but it’s hard to ignore what Google is putting in the Search button’s place. I've been writing about <a href="https://www.tomsguide.com/ai/ai-is-making-the-internet-invisible-and-no-one-is-talking-about-it">AI replacing the internet</a> as we know it for the past several months.</p><p>For more than 25 years, Google’s homepage has barely changed. You type something into the search box, hit Google Search, and get a page of results. Now, Google appears to be experimenting with turning that same box into a chatbot window. </p><h2 id="google-search-is-starting-to-look-a-lot-more-like-chatgpt-or-gemini">Google Search is starting to look a lot more like ChatGPT or Gemini</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="K3MiPch6StxcH4kaKBaUcT" name="Google" alt="AI Mode of google search" src="https://cdn.mos.cms.futurecdn.net/K3MiPch6StxcH4kaKBaUcT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>In the experimental layout, Google’s traditional search field is surrounded by tools that encourage you to do something<a href="https://www.tomsguide.com/ai/ai-image-video/googles-nano-banana-2-fixes-blurry-text-and-boosts-speed-heres-everything-included-in-this-massive-upgrade"> </a>other than type a keyword and look through links.</p><p>There’s <a href="https://www.tomsguide.com/ai/google-search-just-got-a-big-gemini-3-upgrade-heres-how-to-try-it-right-now">AI Mode</a>, which lets you ask longer questions and continue the conversation with follow-ups, you can ask about files or even create an image with <a href="https://www.tomsguide.com/ai/ai-image-video/googles-nano-banana-2-fixes-blurry-text-and-boosts-speed-heres-everything-included-in-this-massive-upgrade">Nano Banana</a>. Interestingly, I’m Feeling Lucky is still there, but the old Google Search button is not. </p><p>Sure, you can still type a query, but the experience will be much different as Google is replacing classic search with<a href="https://www.tomsguide.com/ai/can-you-trust-ai-overviews-recent-studies-suggest-they-may-not-be-as-accurate-as-you-think"> AI Overviews</a> and <a href="https://www.tomsguide.com/news/google-search-is-getting-3-big-ai-upgrades-heres-whats-coming">Summaries</a>. </p><p><a href="https://www.linkedin.com/posts/robbystein_googleio-activity-7462653370508689408-RzqU">Google Search VP Robby Stein responded</a> to people spotting the change and said the company isn't getting rid of traditional search.</p><p>"This is a small test on desktop to help people find new things they can do with Search. No impact to how the core search box works – just add your question and hit enter as usual," Stein said.</p><p>So, no, the Google Search button has not officially been killed off, but all signs seem to point that direction. If anything, the test still tells us quite a bit about where Google wants Search to go.</p><h2 id="the-end-of-google-search-as-we-know-it">The end of Google Search as we know it</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tryrdaJxvL8sgVF3dQXonn" name="Google AI.shutterstock_2322278753" alt="Google AI on phone with laptop in background" src="https://cdn.mos.cms.futurecdn.net/tryrdaJxvL8sgVF3dQXonn-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>AI Mode has already<a href="https://www.tomsguide.com/ai/what-is-google-zero-and-why-your-favorite-websites-are-panicking-about-ai"> pushed Google beyond the traditional search-results page</a> by letting users ask complicated questions, follow up on answers and get information synthesized across multiple sources. Google has also been building more image, file and multimodal capabilities directly into Search.</p><p>Putting shortcuts to those tools on Google.com takes that strategy one step further. Google isn't just adding AI to Search anymore. <a href="https://www.tomsguide.com/ai/i-use-ai-but-i-dont-want-ai-making-my-choices-toms-guide-readers-sound-off-on-google-ai-search">It's experimenting with making AI the starting point.</a></p><p>We're being taught a new way to Google, which is ironic considering Google trained us how to search in the first place. But generative AI has changed everything, which is why Google's experimental homepage appears to be designed around the same behavior. </p><p>Keywords don't matter anymore, especially when you can search with an image or an uploaded file. The direction we are headed is a fundamentally different relationship with a search engine than we've ever seen. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WQw8YX"></div>                            </div>                            <script src="https://kwizly.com/embed/WQw8YX.js" async></script><h2 id="big-consequences-for-the-web">Big consequences for the web </h2><p>There is an obvious downside to all of this, particularly for websites that depend on Google traffic. The more Google answers a question inside its own interface, the less reason there is for someone to click through to another website.</p><p>That tension already exists with AI Overviews and AI Mode. A homepage that actively steers people toward AI responses rather than traditional search results could accelerate it.</p><p>It also puts Google into even more direct competition with ChatGPT and other AI assistants.</p><p>The Google homepage remains some of the most valuable real estate on the internet. If Google starts using it to promote image generation, document analysis, brainstorming and conversational AI, it is effectively turning google.com into a general-purpose AI interface.</p><p>And Google has one enormous advantage: billions of people already know exactly where to find it.</p><h2 id="the-takeaway-3">The takeaway </h2><p>Google is very clear that removing the Search button is currently just a test, so I wouldn't declare the death of the Search button yet. But even if the Search button disappears tomorrow, the damage to the internet has already been done. The button was just a symbol at best. </p><p>The takeaway is what Google has decided is important enough to replace the Search button with: AI Mode. Image generation. File analysis. Brainstorming. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/i-put-chatgpt-on-my-ray-ban-meta-glasses-and-it-completely-changed-how-i-used-them"><strong>I put ChatGPT on my Ray-Ban Meta glasses — and it completely changed how I used them</strong></a></li><li><a href="https://www.tomsguide.com/ai/chatgpt-can-do-more-for-you-than-ever-and-i-use-these-5-prompts-to-take-everyday-tasks-off-my-plate"><strong>ChatGPT can do more for you than ever — and I use these 5 prompts to take everyday tasks off my plate</strong></a></li><li><a href="https://www.tomsguide.com/ai/openais-head-of-ethics-just-quit-heres-why-chatgpt-users-should-pay-attention"><strong>OpenAI’s head of ethics just quit — here’s why ChatGPT users should pay attention</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/after-25-years-googles-iconic-search-button-is-disappearing-at-least-for-some-users</link>
                                                                            <description>
                            <![CDATA[ Google is testing a redesigned homepage that replaces its iconic Search button with AI tools like AI Mode, Brainstorm and Create Images. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ww9Hwj9Sj4NdaFT3ii3PZT</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/PJtDQppL8GQ3ok63MAJnmm-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 11 Aug 2026 19:13:26 +0000</pubDate>                                                                                                                                <updated>Tue, 11 Aug 2026 19:16:21 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/PJtDQppL8GQ3ok63MAJnmm-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A phone in hand in front of a Google logo]]></media:description>                                                            <media:text><![CDATA[A phone in hand in front of a Google logo]]></media:text>
                                <media:title type="plain"><![CDATA[A phone in hand in front of a Google logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/PJtDQppL8GQ3ok63MAJnmm-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you tried to Google something recently and felt as if things looked a little different, it's not just your imagination. </p><p>Some users are seeing a redesigned Google homepage that removes the familiar Google Search button and replaces it with shortcuts for AI Mode, Create images, Ask about files and Brainstorm.</p><p>It’s only a test for now, but it’s hard to ignore what Google is putting in the Search button’s place. I've been writing about <a href="https://www.tomsguide.com/ai/ai-is-making-the-internet-invisible-and-no-one-is-talking-about-it">AI replacing the internet</a> as we know it for the past several months.</p><p>For more than 25 years, Google’s homepage has barely changed. You type something into the search box, hit Google Search, and get a page of results. Now, Google appears to be experimenting with turning that same box into a chatbot window. </p><h2 id="google-search-is-starting-to-look-a-lot-more-like-chatgpt-or-gemini">Google Search is starting to look a lot more like ChatGPT or Gemini</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="K3MiPch6StxcH4kaKBaUcT" name="Google" alt="AI Mode of google search" src="https://cdn.mos.cms.futurecdn.net/K3MiPch6StxcH4kaKBaUcT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>In the experimental layout, Google’s traditional search field is surrounded by tools that encourage you to do something<a href="https://www.tomsguide.com/ai/ai-image-video/googles-nano-banana-2-fixes-blurry-text-and-boosts-speed-heres-everything-included-in-this-massive-upgrade"> </a>other than type a keyword and look through links.</p><p>There’s <a href="https://www.tomsguide.com/ai/google-search-just-got-a-big-gemini-3-upgrade-heres-how-to-try-it-right-now">AI Mode</a>, which lets you ask longer questions and continue the conversation with follow-ups, you can ask about files or even create an image with <a href="https://www.tomsguide.com/ai/ai-image-video/googles-nano-banana-2-fixes-blurry-text-and-boosts-speed-heres-everything-included-in-this-massive-upgrade">Nano Banana</a>. Interestingly, I’m Feeling Lucky is still there, but the old Google Search button is not. </p><p>Sure, you can still type a query, but the experience will be much different as Google is replacing classic search with<a href="https://www.tomsguide.com/ai/can-you-trust-ai-overviews-recent-studies-suggest-they-may-not-be-as-accurate-as-you-think"> AI Overviews</a> and <a href="https://www.tomsguide.com/news/google-search-is-getting-3-big-ai-upgrades-heres-whats-coming">Summaries</a>. </p><p><a href="https://www.linkedin.com/posts/robbystein_googleio-activity-7462653370508689408-RzqU">Google Search VP Robby Stein responded</a> to people spotting the change and said the company isn't getting rid of traditional search.</p><p>"This is a small test on desktop to help people find new things they can do with Search. No impact to how the core search box works – just add your question and hit enter as usual," Stein said.</p><p>So, no, the Google Search button has not officially been killed off, but all signs seem to point that direction. If anything, the test still tells us quite a bit about where Google wants Search to go.</p><h2 id="the-end-of-google-search-as-we-know-it">The end of Google Search as we know it</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tryrdaJxvL8sgVF3dQXonn" name="Google AI.shutterstock_2322278753" alt="Google AI on phone with laptop in background" src="https://cdn.mos.cms.futurecdn.net/tryrdaJxvL8sgVF3dQXonn-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>AI Mode has already<a href="https://www.tomsguide.com/ai/what-is-google-zero-and-why-your-favorite-websites-are-panicking-about-ai"> pushed Google beyond the traditional search-results page</a> by letting users ask complicated questions, follow up on answers and get information synthesized across multiple sources. Google has also been building more image, file and multimodal capabilities directly into Search.</p><p>Putting shortcuts to those tools on Google.com takes that strategy one step further. Google isn't just adding AI to Search anymore. <a href="https://www.tomsguide.com/ai/i-use-ai-but-i-dont-want-ai-making-my-choices-toms-guide-readers-sound-off-on-google-ai-search">It's experimenting with making AI the starting point.</a></p><p>We're being taught a new way to Google, which is ironic considering Google trained us how to search in the first place. But generative AI has changed everything, which is why Google's experimental homepage appears to be designed around the same behavior. </p><p>Keywords don't matter anymore, especially when you can search with an image or an uploaded file. The direction we are headed is a fundamentally different relationship with a search engine than we've ever seen. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WQw8YX"></div>                            </div>                            <script src="https://kwizly.com/embed/WQw8YX.js" async></script><h2 id="big-consequences-for-the-web">Big consequences for the web </h2><p>There is an obvious downside to all of this, particularly for websites that depend on Google traffic. The more Google answers a question inside its own interface, the less reason there is for someone to click through to another website.</p><p>That tension already exists with AI Overviews and AI Mode. A homepage that actively steers people toward AI responses rather than traditional search results could accelerate it.</p><p>It also puts Google into even more direct competition with ChatGPT and other AI assistants.</p><p>The Google homepage remains some of the most valuable real estate on the internet. If Google starts using it to promote image generation, document analysis, brainstorming and conversational AI, it is effectively turning google.com into a general-purpose AI interface.</p><p>And Google has one enormous advantage: billions of people already know exactly where to find it.</p><h2 id="the-takeaway-3">The takeaway </h2><p>Google is very clear that removing the Search button is currently just a test, so I wouldn't declare the death of the Search button yet. But even if the Search button disappears tomorrow, the damage to the internet has already been done. The button was just a symbol at best. </p><p>The takeaway is what Google has decided is important enough to replace the Search button with: AI Mode. Image generation. File analysis. Brainstorming. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/i-put-chatgpt-on-my-ray-ban-meta-glasses-and-it-completely-changed-how-i-used-them"><strong>I put ChatGPT on my Ray-Ban Meta glasses — and it completely changed how I used them</strong></a></li><li><a href="https://www.tomsguide.com/ai/chatgpt-can-do-more-for-you-than-ever-and-i-use-these-5-prompts-to-take-everyday-tasks-off-my-plate"><strong>ChatGPT can do more for you than ever — and I use these 5 prompts to take everyday tasks off my plate</strong></a></li><li><a href="https://www.tomsguide.com/ai/openais-head-of-ethics-just-quit-heres-why-chatgpt-users-should-pay-attention"><strong>OpenAI’s head of ethics just quit — here’s why ChatGPT users should pay attention</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Flock reportedly planned to co-opt Uber and Lyft vehicles to expand its surveillance network ]]></title>
                                                                                                <dc:content><![CDATA[ <p>If you thought Flock Safety’s massive network of pole-mounted cameras couldn’t reach any further, think again. The company reportedly planned to use dash cams installed in Uber and Lyft vehicles to significantly expand its footprint.</p><p>As reported by <a href="https://www.404media.co/flock-pitched-a-plan-to-turn-uber-and-lyft-drivers-into-roaming-surveillance-vehicles/">404 Media</a>, an internal Flock presentation sheds new light on a potential partnership with dash cam maker Nexar. While the deal never materialized, it paints a concerning picture of how Flock envisions expanding beyond stationary poles.</p><p>The proposed partnership would have allowed Flock to leverage hundreds of thousands of Nexar dash cams installed in rideshare and delivery vehicles, scanning and capturing license plate data from surrounding traffic. While 404 Media <a href="https://www.404media.co/flock-wants-to-partner-with-consumer-dashcam-company-that-takes-trillions-of-images-a-month/">first revealed</a> the potential deal last summer, new details have emerged from a presentation Flock used to pitch the concept to potential customers.</p><p>Obtained through a public records request by a Georgia resident and shared with 404 Media, the pitch deck reveals an ambitious push toward mobile tracking. Crucially, the documents leave it unclear whether Uber or Lyft drivers would have even been informed that their dash cams were feeding data into a surveillance network.</p><p>Had the deal gone through, Flock’s coverage would have exploded — adding an estimated "350k Uber/Lyft and other delivery service devices" to its grid.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WVoxmO"></div>                            </div>                            <script src="https://kwizly.com/embed/WVoxmO.js" async></script><h2 id="from-fixed-poles-to-mobile-surveillance">From fixed poles to mobile surveillance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NUeNzBTcrz6q8ZDUJv8f4R" name="Cars in traffic in a city" alt="An image of cars in heavy traffic in a city." src="https://cdn.mos.cms.futurecdn.net/NUeNzBTcrz6q8ZDUJv8f4R-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>Flock Safety’s pole-mounted automated license plate readers (ALPRs) have drawn widespread privacy concerns, and for good reason. Engineered to log the license plate, color, make, and model of every passing car, these devices now operate in nearly every U.S. state.</p><p>When Flock founder Garrett Langley launched the company in 2017 to combat property crime in his Atlanta neighborhood, the scope was localized. However, the system evolved into FlockOS, an interconnected nationwide network that allows law enforcement to trace a vehicle's movements across state lines. </p><p>What began as a neighborhood safety initiative has morphed into a mass surveillance apparatus ripe for abuse. Numerous law enforcement officers throughout the country have been suspended or fired for using the Flock network to track vehicles without a legitimate reason — in some cases, <a href="https://www.washingtonpost.com/technology/2026/08/02/how-police-officers-used-vast-network-cameras-spy-their-exes/" target="_blank">to spy on former spouses and partners</a>.</p><p><a href="https://www.nytimes.com/2026/08/10/us/flock-cameras-can-track-every-car-in-america-police-love-them-citizens-dont.html">Public backlash against Flock’s rapid expansion is mounting</a>. Organizers have built tools like DeFlock to map camera locations, while others have taken a more direct approach by cutting down the poles and physically dismantling the hardware.</p><p>If that physical pushback continues, Flock may well double down on the strategy outlined in its Nexar pitch. By shifting from static poles to roving, unmapped mobile sensors, the company could expand its reach while insulating its hardware from public interference.</p><p>Have you seen Flock cameras pop up in your neighborhood? Or have you been wrongly served a ticket as a result of its license plate-reading tech? Let me know in the comments below. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/how-to-remove-your-home-address-from-the-internet-7-ways-to-protect-your-privacy"><strong>How to remove your home address from the internet — 6 ways to protect your privacy</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/privacy-apathy-is-real-and-you-probably-have-it"><strong>Privacy apathy is real – and you probably have it</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/blatantly-unlawful-and-horrifically-intrusive-data-collection-is-everywhere-how-to-fight-back"><strong>"Blatantly unlawful and horrifically intrusive" data collection is everywhere – how to fight back</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/flock-reportedly-planned-to-co-opt-uber-and-lyft-vehicles-to-expand-its-surveillance-network</link>
                                                                            <description>
                            <![CDATA[ Flock planned to partner with Nexar to turn dash cams in Uber and Lyft vehicles into mobile license plate readers, leaked documents show. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cPLAqX9TwTZNTbcD9wVwBk</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/KEkDWZqbSDGKHBY6oSNdZW-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 10 Aug 2026 19:28:31 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ anthony.spadafora@futurenet.com (Anthony Spadafora) ]]></author>                    <dc:creator><![CDATA[ Anthony Spadafora ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/z73LEoj7FkUjNG85GcWHtH-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Anthony Spadafora is the managing editor for security and home office furniture at Tom’s Guide where he covers everything from data breaches and malware to password managers and the best way to cover your whole home or business with a strong Wi-Fi signal.&lt;/p&gt;&lt;p&gt;Before joining the team, he spent three years covering cybersecurity and B2B tech for ITProPortal while living in South Korea. After moving back to the US. Anthony joined the TechRadar Pro team where he covered these topics along with VPNs, web hosting, online collaboration software and video conferencing for four years. Anthony also has his ears to the ground and is on the lookout for the next major cyberattack or data breach.&lt;/p&gt;&lt;p&gt;Based in Houston, Texas, Anthony also handles VPN testing for both Tom’s Guide and TechRadar. As someone who has worked from home exclusively since 2018, he has reviewed dozens of standing desks as well as office chairs and has taken a closer look at other essential remote working accessories. As part of these reviews, Anthony frequently builds intricate desk setups which is why he’s such a big advocate for cable management and keeping things organized. When he’s not writing, he can be found tinkering with PCs and game consoles, managing cables and making upgrades to his smart home.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/KEkDWZqbSDGKHBY6oSNdZW-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A side by side shot showing a pole-mounted Flock camera on the left and an Uber car on the right]]></media:description>                                                            <media:text><![CDATA[A side by side shot showing a pole-mounted Flock camera on the left and an Uber car on the right]]></media:text>
                                <media:title type="plain"><![CDATA[A side by side shot showing a pole-mounted Flock camera on the left and an Uber car on the right]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/KEkDWZqbSDGKHBY6oSNdZW-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you thought Flock Safety’s massive network of pole-mounted cameras couldn’t reach any further, think again. The company reportedly planned to use dash cams installed in Uber and Lyft vehicles to significantly expand its footprint.</p><p>As reported by <a href="https://www.404media.co/flock-pitched-a-plan-to-turn-uber-and-lyft-drivers-into-roaming-surveillance-vehicles/">404 Media</a>, an internal Flock presentation sheds new light on a potential partnership with dash cam maker Nexar. While the deal never materialized, it paints a concerning picture of how Flock envisions expanding beyond stationary poles.</p><p>The proposed partnership would have allowed Flock to leverage hundreds of thousands of Nexar dash cams installed in rideshare and delivery vehicles, scanning and capturing license plate data from surrounding traffic. While 404 Media <a href="https://www.404media.co/flock-wants-to-partner-with-consumer-dashcam-company-that-takes-trillions-of-images-a-month/">first revealed</a> the potential deal last summer, new details have emerged from a presentation Flock used to pitch the concept to potential customers.</p><p>Obtained through a public records request by a Georgia resident and shared with 404 Media, the pitch deck reveals an ambitious push toward mobile tracking. Crucially, the documents leave it unclear whether Uber or Lyft drivers would have even been informed that their dash cams were feeding data into a surveillance network.</p><p>Had the deal gone through, Flock’s coverage would have exploded — adding an estimated "350k Uber/Lyft and other delivery service devices" to its grid.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WVoxmO"></div>                            </div>                            <script src="https://kwizly.com/embed/WVoxmO.js" async></script><h2 id="from-fixed-poles-to-mobile-surveillance">From fixed poles to mobile surveillance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NUeNzBTcrz6q8ZDUJv8f4R" name="Cars in traffic in a city" alt="An image of cars in heavy traffic in a city." src="https://cdn.mos.cms.futurecdn.net/NUeNzBTcrz6q8ZDUJv8f4R-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>Flock Safety’s pole-mounted automated license plate readers (ALPRs) have drawn widespread privacy concerns, and for good reason. Engineered to log the license plate, color, make, and model of every passing car, these devices now operate in nearly every U.S. state.</p><p>When Flock founder Garrett Langley launched the company in 2017 to combat property crime in his Atlanta neighborhood, the scope was localized. However, the system evolved into FlockOS, an interconnected nationwide network that allows law enforcement to trace a vehicle's movements across state lines. </p><p>What began as a neighborhood safety initiative has morphed into a mass surveillance apparatus ripe for abuse. Numerous law enforcement officers throughout the country have been suspended or fired for using the Flock network to track vehicles without a legitimate reason — in some cases, <a href="https://www.washingtonpost.com/technology/2026/08/02/how-police-officers-used-vast-network-cameras-spy-their-exes/" target="_blank">to spy on former spouses and partners</a>.</p><p><a href="https://www.nytimes.com/2026/08/10/us/flock-cameras-can-track-every-car-in-america-police-love-them-citizens-dont.html">Public backlash against Flock’s rapid expansion is mounting</a>. Organizers have built tools like DeFlock to map camera locations, while others have taken a more direct approach by cutting down the poles and physically dismantling the hardware.</p><p>If that physical pushback continues, Flock may well double down on the strategy outlined in its Nexar pitch. By shifting from static poles to roving, unmapped mobile sensors, the company could expand its reach while insulating its hardware from public interference.</p><p>Have you seen Flock cameras pop up in your neighborhood? Or have you been wrongly served a ticket as a result of its license plate-reading tech? Let me know in the comments below. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/how-to-remove-your-home-address-from-the-internet-7-ways-to-protect-your-privacy"><strong>How to remove your home address from the internet — 6 ways to protect your privacy</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/privacy-apathy-is-real-and-you-probably-have-it"><strong>Privacy apathy is real – and you probably have it</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/online-security/blatantly-unlawful-and-horrifically-intrusive-data-collection-is-everywhere-how-to-fight-back"><strong>"Blatantly unlawful and horrifically intrusive" data collection is everywhere – how to fight back</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ DId you buy a cheap GPS tracker for your kid? Here’s why you should throw it out immediately. ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Did you buy a cheap GPS tracker for your kid? There’s a good chance that you’re not the only one who’s watching your kid. </p><p>Last week, a <a href="https://www.wired.com/story/hackers-stalked-me-by-hijacking-a-smartwatch-for-kids/" target="_blank">story in Wired</a> revealed that security researchers were able to hack into a platform used by dozens, if not hundreds, of GPS kids watches, which allowed them to not only track a child’s location, but also remotely control a camera on the watch, and leaving them vulnerable to changing things like the emergency contact, or being able to silently eavesdrop on the child.</p><p>The researchers’ findings, which they presented at the Black Hat cybersecurity conference, looked at more than 70 GPS watches and car accessories, and found a sizable number used the same backend software and servers. </p><div  class="fancy-box"><div class="fancy_box-title">The Gadget Dad</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NTV2LD9mcUFrzpJd6R5YUU" name="Mike holding chainsaw" caption="" alt="Person holding chainsaw" src="https://cdn.mos.cms.futurecdn.net/NTV2LD9mcUFrzpJd6R5YUU-1920-80.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p class="fancy-box__body-text">Not only am I an editor at Tom's Guide, but I'm also a homeowner and a parent. I've been testing smart home devices in and around my house for years. I'm the guy with the <a data-analytics-id="inline-link" href="https://www.tomsguide.com/home/outdoors/i-put-home-depots-12-foot-skelly-and-lowes-20-foot-inflatable-skeleton-in-my-yard-and-this-one-wins-halloween">20-foot inflatable skeleton at Halloween</a>, the guy with the <a data-analytics-id="inline-link" href="https://www.tomsguide.com/home/lawn-care/ive-been-using-this-usd1-000-robot-lawnmower-for-a-month-3-things-i-like-and-2-i-dont">robot lawnmower prowling his yard</a>, and the guy who <a data-analytics-id="inline-link" href="https://www.tomsguide.com/home/i-made-my-own-lightsaber-for-usd50-in-hardware-store-parts-and-now-i-feel-like-a-lowe-key-jedi" target="_blank">made a lightsaber out of hardware store parts</a>.</p><p class="fancy-box__body-text">This column is going to take a look at tech, tools and tips for your kids, your pets, and anything else that could make your house more fun and functional.</p></div></div><p>“The two researchers found that tens of millions of GPS tracker gadgets came from just three supply chains,” the Wired article reads. “All three, the researchers found in their analysis, had significant security flaws.”</p><p>If you go on Amazon and search for “GPS tracker for kids,” you’ll be presented with page after page of watches, dongles and chips, all for less than $50, purporting to make it easy to keep tabs on your kid. </p><p>Some even have screens and video calling — that seems like a real bargain compared to the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a>, like the $249 <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-se-3-review">Apple Watch SE 3</a>, which cost a lot more. And, there’s a good chance that they have a lot of positive reviews, too.</p><p>Click through to the product listing for that cheap watch, and you’ll most likely see that the company’s name — one you’ve probably never heard of — is a seemingly random group of letters. </p><p>Don’t buy it.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1263px;"><p class="vanilla-image-block" style="padding-top:48.77%;"><img id="6xd8TH8v2xRkMuqrivDcbP" name="GPS watches for kids" alt="A listing of GPS watches for kids on Walmart" src="https://cdn.mos.cms.futurecdn.net/6xd8TH8v2xRkMuqrivDcbP-1920-80.png" mos="" align="middle" fullscreen="" width="1263" height="616" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Every heard of these brands? Me neither. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Walmart)</span></figcaption></figure><p>It’s not just limited to GPS trackers. There are thousands of cheap security cameras, video doorbells, and baby monitors produced by no-name companies that are equally vulnerable to being hacked. A <a href="https://www.consumerreports.org/home-garden/home-security-cameras/video-doorbells-sold-by-major-retailers-have-security-flaws-a2579288796/" target="_blank">Consumer Reports study</a> two years ago revealed that they could easily hack into several video doorbells, all of which were sold by different companies, but had the same underlying technology.</p><p>Earlier this year, <a href="https://www.theverge.com/tech/926487/meari-technology-hack-baby-monitor-security-camera" target="_blank">The Verge wrote about a company that made the tech behind millions of baby monitors</a> whose security was so lax that a hacker was able to see into people’s homes and even view images saved on the company’s servers.</p><p>Even some of the <a href="https://www.tomsguide.com/best-picks/best-home-security-cameras">best security cameras</a> aren’t immune to this — <a href="https://www.tomsguide.com/home/home-security/wyze-security-breach-3-ways-to-protect-your-smart-home-now">Wyze, for example, has suffered several security breaches over the years</a> — but at least they, and other larger companies, have better systems in place for you (or security experts) to report any issues and to fix the problem in a timely manner. </p><p>With all that in mind, I’ve put together a list of a few dos and don’ts when shopping for any kind of device that can track your kid or take photos or videos of them or your house.</p><p><strong>DO:</strong></p><ul><li>Make sure your home Wi-Fi network is secured with a <a href="https://www.tomsguide.com/opinion/im-a-security-editor-and-this-is-how-i-create-strong-passwords-that-are-also-easy-to-remember">strong password</a> and is always updated with the latest firmware</li><li>Look for reviews of products on reputable sites</li></ul><p><strong>Don't:</strong></p><ul><li>Rely solely on reviews posted on Amazon, Walmart, or other retail sites</li><li>Buy a product that’s not from a brand you’ve never heard of</li></ul><p>While these rules can’t completely insulate you from any sort of hacking, they can go a long way into making it harder for someone to break into your devices and see what they shouldn’t.</p><p>If you need to keep tabs on your kid, devices like the <a href="https://www.amazon.com/Apple-AirTag-2nd-Generation-Precision/dp/B0GJTFXNRX" target="_blank">$29 Apple AirTag</a>, the <a href="https://www.amazon.com/Fitbit-Google-Ace-LTE-Activity-Based/dp/B0CV5T2YG6" target="_blank">$149 Fitbit Ace</a>, and the <a href="https://www.garmin.com/en-US/p/714945/" target="_blank">$149 Garmin Bounce</a> are a little more expensive, but they’re made by companies with established reputations. What’s worth more: saving a few bucks, or the security of knowing some weirdo can’t spy on your kid?</p><h3 class="article-body__section" id="section-more-from-the-gadget-dad"><span>More from The Gadget Dad</span></h3><ul><li><a href="https://www.tomsguide.com/phones/i-gave-my-7-year-old-the-viral-tin-can-phone-because-all-her-friends-had-it-shes-already-over-it"><strong>I gave my 7-year-old the viral Tin Can phone because all her friends had it — here's the verdict after a month</strong></a></li><li><a href="https://www.tomsguide.com/vehicle-tech/electric-bikes/dont-get-burned-i-talked-to-an-expert-on-how-to-safely-buy-charge-and-store-batteries-for-e-bikes-and-electric-scooters"><strong>Don’t get burned: I talked to an expert on how to safely buy, charge, and store batteries for e-bikes and electric scooters</strong></a></li><li><a href="https://www.tomsguide.com/home/its-friggin-hot-the-5-devices-im-using-to-keep-my-home-and-my-pets-cool-this-summer"><strong>It's friggin' hot! The 5 devices I'm using to keep my home (and my pets) cool this summer</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/did-you-buy-a-cheap-gps-tracker-for-your-kid-heres-why-you-should-throw-it-out-immediately</link>
                                                                            <description>
                            <![CDATA[ Cheap GPS watches for kids and no-name security camera and video doorbell brands may seem like a bargain, but are a real threat to your privacy. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">SQLEQ2P665EErq24h5S4Aa</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/AQdLWFnqNmYRR9C2Gpi3nJ-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 09 Aug 2026 08:45:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Parental Controls]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ mike.prospero@futurenet.com (Mike Prospero) ]]></author>                    <dc:creator><![CDATA[ Mike Prospero ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xeJFBrJwXQzCqXLZXBFBKQ-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael A. Prospero is the U.S. Editor-in-Chief for Tom’s Guide.  In his spare time, he also tests out the latest drones, electric scooters, and smart home gadgets, such as video doorbells. Before his tenure at Tom&#039;s Guide, he was the Reviews Editor for Laptop Magazine, a reporter at Fast Company, the Times of Trenton, and, many eons back, an intern at George magazine. He received his undergraduate degree from Boston College, where he worked on the campus newspaper The Heights, and then attended the Columbia University school of Journalism. When he’s not testing out the latest running watch, electric scooter, or skiing or training for a marathon, he’s probably using the latest sous vide machine, smoker, or pizza oven, to the delight — or chagrin — of his family.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/AQdLWFnqNmYRR9C2Gpi3nJ-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Girl looking at smartwatch on her wrist]]></media:description>                                                            <media:text><![CDATA[Girl looking at smartwatch on her wrist]]></media:text>
                                <media:title type="plain"><![CDATA[Girl looking at smartwatch on her wrist]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/AQdLWFnqNmYRR9C2Gpi3nJ-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Did you buy a cheap GPS tracker for your kid? There’s a good chance that you’re not the only one who’s watching your kid. </p><p>Last week, a <a href="https://www.wired.com/story/hackers-stalked-me-by-hijacking-a-smartwatch-for-kids/" target="_blank">story in Wired</a> revealed that security researchers were able to hack into a platform used by dozens, if not hundreds, of GPS kids watches, which allowed them to not only track a child’s location, but also remotely control a camera on the watch, and leaving them vulnerable to changing things like the emergency contact, or being able to silently eavesdrop on the child.</p><p>The researchers’ findings, which they presented at the Black Hat cybersecurity conference, looked at more than 70 GPS watches and car accessories, and found a sizable number used the same backend software and servers. </p><div  class="fancy-box"><div class="fancy_box-title">The Gadget Dad</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NTV2LD9mcUFrzpJd6R5YUU" name="Mike holding chainsaw" caption="" alt="Person holding chainsaw" src="https://cdn.mos.cms.futurecdn.net/NTV2LD9mcUFrzpJd6R5YUU-1920-80.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p class="fancy-box__body-text">Not only am I an editor at Tom's Guide, but I'm also a homeowner and a parent. I've been testing smart home devices in and around my house for years. I'm the guy with the <a data-analytics-id="inline-link" href="https://www.tomsguide.com/home/outdoors/i-put-home-depots-12-foot-skelly-and-lowes-20-foot-inflatable-skeleton-in-my-yard-and-this-one-wins-halloween">20-foot inflatable skeleton at Halloween</a>, the guy with the <a data-analytics-id="inline-link" href="https://www.tomsguide.com/home/lawn-care/ive-been-using-this-usd1-000-robot-lawnmower-for-a-month-3-things-i-like-and-2-i-dont">robot lawnmower prowling his yard</a>, and the guy who <a data-analytics-id="inline-link" href="https://www.tomsguide.com/home/i-made-my-own-lightsaber-for-usd50-in-hardware-store-parts-and-now-i-feel-like-a-lowe-key-jedi" target="_blank">made a lightsaber out of hardware store parts</a>.</p><p class="fancy-box__body-text">This column is going to take a look at tech, tools and tips for your kids, your pets, and anything else that could make your house more fun and functional.</p></div></div><p>“The two researchers found that tens of millions of GPS tracker gadgets came from just three supply chains,” the Wired article reads. “All three, the researchers found in their analysis, had significant security flaws.”</p><p>If you go on Amazon and search for “GPS tracker for kids,” you’ll be presented with page after page of watches, dongles and chips, all for less than $50, purporting to make it easy to keep tabs on your kid. </p><p>Some even have screens and video calling — that seems like a real bargain compared to the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a>, like the $249 <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-se-3-review">Apple Watch SE 3</a>, which cost a lot more. And, there’s a good chance that they have a lot of positive reviews, too.</p><p>Click through to the product listing for that cheap watch, and you’ll most likely see that the company’s name — one you’ve probably never heard of — is a seemingly random group of letters. </p><p>Don’t buy it.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1263px;"><p class="vanilla-image-block" style="padding-top:48.77%;"><img id="6xd8TH8v2xRkMuqrivDcbP" name="GPS watches for kids" alt="A listing of GPS watches for kids on Walmart" src="https://cdn.mos.cms.futurecdn.net/6xd8TH8v2xRkMuqrivDcbP-1920-80.png" mos="" align="middle" fullscreen="" width="1263" height="616" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Every heard of these brands? Me neither. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Walmart)</span></figcaption></figure><p>It’s not just limited to GPS trackers. There are thousands of cheap security cameras, video doorbells, and baby monitors produced by no-name companies that are equally vulnerable to being hacked. A <a href="https://www.consumerreports.org/home-garden/home-security-cameras/video-doorbells-sold-by-major-retailers-have-security-flaws-a2579288796/" target="_blank">Consumer Reports study</a> two years ago revealed that they could easily hack into several video doorbells, all of which were sold by different companies, but had the same underlying technology.</p><p>Earlier this year, <a href="https://www.theverge.com/tech/926487/meari-technology-hack-baby-monitor-security-camera" target="_blank">The Verge wrote about a company that made the tech behind millions of baby monitors</a> whose security was so lax that a hacker was able to see into people’s homes and even view images saved on the company’s servers.</p><p>Even some of the <a href="https://www.tomsguide.com/best-picks/best-home-security-cameras">best security cameras</a> aren’t immune to this — <a href="https://www.tomsguide.com/home/home-security/wyze-security-breach-3-ways-to-protect-your-smart-home-now">Wyze, for example, has suffered several security breaches over the years</a> — but at least they, and other larger companies, have better systems in place for you (or security experts) to report any issues and to fix the problem in a timely manner. </p><p>With all that in mind, I’ve put together a list of a few dos and don’ts when shopping for any kind of device that can track your kid or take photos or videos of them or your house.</p><p><strong>DO:</strong></p><ul><li>Make sure your home Wi-Fi network is secured with a <a href="https://www.tomsguide.com/opinion/im-a-security-editor-and-this-is-how-i-create-strong-passwords-that-are-also-easy-to-remember">strong password</a> and is always updated with the latest firmware</li><li>Look for reviews of products on reputable sites</li></ul><p><strong>Don't:</strong></p><ul><li>Rely solely on reviews posted on Amazon, Walmart, or other retail sites</li><li>Buy a product that’s not from a brand you’ve never heard of</li></ul><p>While these rules can’t completely insulate you from any sort of hacking, they can go a long way into making it harder for someone to break into your devices and see what they shouldn’t.</p><p>If you need to keep tabs on your kid, devices like the <a href="https://www.amazon.com/Apple-AirTag-2nd-Generation-Precision/dp/B0GJTFXNRX" target="_blank">$29 Apple AirTag</a>, the <a href="https://www.amazon.com/Fitbit-Google-Ace-LTE-Activity-Based/dp/B0CV5T2YG6" target="_blank">$149 Fitbit Ace</a>, and the <a href="https://www.garmin.com/en-US/p/714945/" target="_blank">$149 Garmin Bounce</a> are a little more expensive, but they’re made by companies with established reputations. What’s worth more: saving a few bucks, or the security of knowing some weirdo can’t spy on your kid?</p><h3 class="article-body__section" id="section-more-from-the-gadget-dad"><span>More from The Gadget Dad</span></h3><ul><li><a href="https://www.tomsguide.com/phones/i-gave-my-7-year-old-the-viral-tin-can-phone-because-all-her-friends-had-it-shes-already-over-it"><strong>I gave my 7-year-old the viral Tin Can phone because all her friends had it — here's the verdict after a month</strong></a></li><li><a href="https://www.tomsguide.com/vehicle-tech/electric-bikes/dont-get-burned-i-talked-to-an-expert-on-how-to-safely-buy-charge-and-store-batteries-for-e-bikes-and-electric-scooters"><strong>Don’t get burned: I talked to an expert on how to safely buy, charge, and store batteries for e-bikes and electric scooters</strong></a></li><li><a href="https://www.tomsguide.com/home/its-friggin-hot-the-5-devices-im-using-to-keep-my-home-and-my-pets-cool-this-summer"><strong>It's friggin' hot! The 5 devices I'm using to keep my home (and my pets) cool this summer</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Update your Mac right now to block this major screen sharing flaw ]]></title>
                                                                                                <dc:content><![CDATA[ <p>You're going to want to update your Mac to address a serious Screen Sharing vulnerability that could letter a malicious actor initiate screen sharing without authentic credentials.</p><p>This week <a href="https://support.apple.com/en-us/100100" target="_blank">Apple released</a> macOS Sonoma 14.8.9, macOS Sequoia 15.7.9, and macOS Tahoe 26.6.1 with release notes. Notably, all three releases claim that Apple made "important security fixes" and recommended the updates for everyone. </p><p><strong>"Impact: An attacker on the network may be able to authenticate to Screen Sharing without valid credentials</strong></p><p><strong>Description: An authentication issue was addressed with improved state management."</strong></p><p>That message is the same across all three versions of macOS. </p><p>It doesn't appear that the bug has been exploited in the wild, but if you haven't updated your Mac recently, now is the time to do so. Based on Apple's description, it appears that a bad actor could bypass Screen Sharing authentication checks, which would give them remote access to your computer.</p><p>Potentially, this would allow them to view the screen, open apps or files or perform other actions on the computer.</p><p>You may not use screen sharing, but it's still a good idea to install this update. Apple clearly deemed the flaw serious enough to patch three different versions of macOS before the next round of major OS updates.</p><h2 id="keep-your-mac-safe">Keep your Mac safe</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="F9ybS7WNwSK95hqxotZgYM" name="apple shutterstock.jpg" alt="A padlock resting next to the Apple logo on the lid of a gold-colored Apple laptop." src="https://cdn.mos.cms.futurecdn.net/F9ybS7WNwSK95hqxotZgYM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="563" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: robert coolen/Shutterstock)</span></figcaption></figure><p>To keep your Mac safe you may want to ensure that updates are automatically applied. Understandably if you're cautious about updates before they're settled you may wait. So you'll want to track updates and make sure you get the security-focused ones to protect your computer.</p><p>For screen sharing specifically, this vulnerability may have been able to sneak around you. But if you do any screen sharing, make sure it's with a trusted partner that you know to protect your computer. Additionally, keep any sensitive information closed before passing permissions just as a way to introduce a little bit of a block.</p><p>At the end of your session, double-check that screen sharing is turned off.</p><p>Beyond that, Apple does have Gatekeeper built-in which can block or warn you before you install unverified apps from the web. Still, you might want to consider using one of the <a href="https://www.tomsguide.com/best-picks/best-mac-antivirus">best Mac antivirus software </a>along side Apple's built-in ones.</p><p>Again, these macOS updates are available right now, so make sure you've installed them.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/how-to-turn-off-ios-27s-automatic-subtitles-that-no-one-asked-for">How to disable iOS 27’s annoying auto-subtitles for good</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-rumors-everything-you-need-to-know-about-the-foldable-iphone">iPhone Ultra rumors: Everything you need to know about the foldable iPhone</a></li><li><a href="https://www.tomsguide.com/phones/i-asked-siri-ai-and-gemini-a-series-of-increasingly-bizarre-questions-to-see-how-they-responded-heres-what-happened">I asked Siri AI and Gemini a series of increasingly bizarre questions to see how they responded —here's what happened</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/macos/update-your-mac-right-now-to-block-this-major-screen-sharing-flaw</link>
                                                                            <description>
                            <![CDATA[ Apple has just released new macOS updates that fix a major Screen Sharing flaw. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UfniTUGWvQ9LcgZBT8hYna</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/znDgFDFV46cYDQFRnVHdR7-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 07 Aug 2026 20:37:22 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[macOS]]></category>
                                                    <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                    <category><![CDATA[Operating Systems]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;br&gt;Send secure tips on Signal: scyo1.55.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/znDgFDFV46cYDQFRnVHdR7-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock/Apple]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[macOS Tahoe 26 desktop screen on an MacBook]]></media:description>                                                            <media:text><![CDATA[macOS Tahoe 26 desktop screen on an MacBook]]></media:text>
                                <media:title type="plain"><![CDATA[macOS Tahoe 26 desktop screen on an MacBook]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/znDgFDFV46cYDQFRnVHdR7-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>You're going to want to update your Mac to address a serious Screen Sharing vulnerability that could letter a malicious actor initiate screen sharing without authentic credentials.</p><p>This week <a href="https://support.apple.com/en-us/100100" target="_blank">Apple released</a> macOS Sonoma 14.8.9, macOS Sequoia 15.7.9, and macOS Tahoe 26.6.1 with release notes. Notably, all three releases claim that Apple made "important security fixes" and recommended the updates for everyone. </p><p><strong>"Impact: An attacker on the network may be able to authenticate to Screen Sharing without valid credentials</strong></p><p><strong>Description: An authentication issue was addressed with improved state management."</strong></p><p>That message is the same across all three versions of macOS. </p><p>It doesn't appear that the bug has been exploited in the wild, but if you haven't updated your Mac recently, now is the time to do so. Based on Apple's description, it appears that a bad actor could bypass Screen Sharing authentication checks, which would give them remote access to your computer.</p><p>Potentially, this would allow them to view the screen, open apps or files or perform other actions on the computer.</p><p>You may not use screen sharing, but it's still a good idea to install this update. Apple clearly deemed the flaw serious enough to patch three different versions of macOS before the next round of major OS updates.</p><h2 id="keep-your-mac-safe">Keep your Mac safe</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="F9ybS7WNwSK95hqxotZgYM" name="apple shutterstock.jpg" alt="A padlock resting next to the Apple logo on the lid of a gold-colored Apple laptop." src="https://cdn.mos.cms.futurecdn.net/F9ybS7WNwSK95hqxotZgYM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="563" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: robert coolen/Shutterstock)</span></figcaption></figure><p>To keep your Mac safe you may want to ensure that updates are automatically applied. Understandably if you're cautious about updates before they're settled you may wait. So you'll want to track updates and make sure you get the security-focused ones to protect your computer.</p><p>For screen sharing specifically, this vulnerability may have been able to sneak around you. But if you do any screen sharing, make sure it's with a trusted partner that you know to protect your computer. Additionally, keep any sensitive information closed before passing permissions just as a way to introduce a little bit of a block.</p><p>At the end of your session, double-check that screen sharing is turned off.</p><p>Beyond that, Apple does have Gatekeeper built-in which can block or warn you before you install unverified apps from the web. Still, you might want to consider using one of the <a href="https://www.tomsguide.com/best-picks/best-mac-antivirus">best Mac antivirus software </a>along side Apple's built-in ones.</p><p>Again, these macOS updates are available right now, so make sure you've installed them.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/how-to-turn-off-ios-27s-automatic-subtitles-that-no-one-asked-for">How to disable iOS 27’s annoying auto-subtitles for good</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-rumors-everything-you-need-to-know-about-the-foldable-iphone">iPhone Ultra rumors: Everything you need to know about the foldable iPhone</a></li><li><a href="https://www.tomsguide.com/phones/i-asked-siri-ai-and-gemini-a-series-of-increasingly-bizarre-questions-to-see-how-they-responded-heres-what-happened">I asked Siri AI and Gemini a series of increasingly bizarre questions to see how they responded —here's what happened</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ NBN 500 is the new broadband sweet spot — here's why I recommend a 500Mbps plan for most Aussie households ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Are you looking for your next NBN plan? Let me help you!</p><p>By way of introduction, I'm Tom's Guide's resident broadband expert, and every month I collate and analyse NBN plans from over 30 providers to find the <a href="https://www.tomsguide.com/best-picks/best-nbn-deals">best NBN deals</a>. IHMO, there's a lot to consider when shopping for a suitable NBN plan, but one common factor that gets overlooked is speed. </p><p>The conversation around what NBN speed tier you have at home can be a difficult one to navigate. Finding a suitable plan means being realistic about what speeds you'll <em>actually </em>use, over what you’d ideally like to pay. You may find you have too many internet-connected devices (or humans) living in your household and your current plan isn't cutting it, or conversely, you may be overpaying for a fast plan that you actually don’t need. </p><p>Regardless of where your household fits in the NBN speed pie chart, there's no denying that Aussies have been embracing faster and faster internet speeds over the last few years. <a href="https://www.accc.gov.au/by-industry/telecommunications-and-internet/national-broadband-network-nbn-access-regulation/nbn-wholesale-market-indicators-report/march-quarter-2026-report">As per the ACCC's data</a>, there are now over 3 million active connections for plans offering 100Mbps download speeds and faster. That number has actually quadrupled in the past 14 months, largely due to NBN Co's wholesale speed boost in September 2025. </p><p>Those speed upgrades came in the form of three new speed tiers — NBN 500, NBN 750 and NBN 2000 — which have helped turbocharge <a href="https://www.speedtest.net/global-index">Australia's average internet download speeds to 162.34Mbps</a>. A big contributor to that increase was the fact that two of the new tiers, NBN 500 and NBN 750, were wholesale increases to the existing NBN 100 and NBN 250 tiers. What that means is that customers on full-fibre connections at home — either FTTP or HFC — should have been automatically migrated to these faster speeds for free by their NBN provider. And in most cases, these new tiers cost the same (or only fractionally more) than the slower counterparts they’ve replaced.</p><div ><table><caption>NBN tiers comparison</caption><thead><tr><th class="firstcol " ><p>NBN Tier</p></th><th  ><p>Average Monthly Cost</p></th><th  ><p>Cost per Mbps</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>NBN 50</strong></p></td><td  ><p><strong>AU$90.11</strong></p></td><td  ><p><strong>AU$1.74</strong></p></td></tr><tr><td class="firstcol " ><p><strong>NBN 100</strong></p></td><td  ><p><strong>AU$96.16</strong></p></td><td  ><p><strong>AU$0.96</strong></p></td></tr><tr><td class="firstcol " ><p><strong>NBN 500</strong></p></td><td  ><p><strong>AU$96.85</strong></p></td><td  ><p><strong>AU$0.20</strong></p></td></tr><tr><td class="firstcol " ><p><strong>NBN 750</strong></p></td><td  ><p><strong>AU$108.48</strong></p></td><td  ><p><strong>AU$0.16</strong></p></td></tr><tr><td class="firstcol " ><p><strong>NBN 1000</strong></p></td><td  ><p><strong>AU$117.03</strong></p></td><td  ><p><strong>AU$0.14</strong></p></td></tr><tr><td class="firstcol " ><p><strong>NBN 2000</strong></p></td><td  ><p><strong>AU$184.33</strong></p></td><td  ><p><strong>AU$0.10</strong></p></td></tr></tbody></table></div><p>If you’re currently shopping around for a new NBN provider or plan and your home has a fibre connection, in my opinion the sweet spot when comparing plan value is NBN 500, which, as the name suggests, offers maximum speeds of 500Mbps — a massive speed boost over the next tier down (NBN 50), and more than enough bandwidth for most Aussie homes. </p><p>Not only does it provide 10x faster speeds than NBN 50, on average it costs just AU$6.74 more per month and equates to just AU$0.20 per megabit. (Comparatively, while the cost per megabit does continue to decrease as you move up to faster tiers; the drop between NBN 50 and NBN 500 is the biggest one — and for most Aussie homes, the extra cost of NBN 750, 1000 or 2000 is hard to justify when it comes to practical benefits). </p><p>500Mbps is more than enough bandwidth to accommodate multiple users and devices at the same time with few interruptions, even for homes with moderately demanding internet use. It’s enough speed to allow for 4K streaming on multiple screens, online gaming and large game downloads, and conducting video calls when working from home — all simultaneously. Having that extra wiggle room means that even with numerous people doing data-intensive activities shouldn't noticeably impact regular everyday use, like social media, web browsing, or streaming YouTube. </p><p>If your household includes devoted gamers, opting for an NBN 500 plan can be especially transformative, ensuring that downloading new games or large patches completes significantly faster than on slower speeds. I've put together the table below based on three popular online games with varying download sizes so you can see how radically NBN 500 changes things. </p><div ><table><caption>NBN speed vs game downloads</caption><thead><tr><th class="firstcol " ><p>NBN Speed Tier</p></th><th  ><p>Download Speed</p></th><th  ><p>Fortnite<br>(~71 GB)</p></th><th  ><p>League of Legends<br>(~10 GB)</p></th><th  ><p>Call of Duty: Black Ops 6<br>(~150 GB)</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>NBN 50</p></td><td  ><p>50 Mbps</p></td><td  ><p>~3 hr 15 min</p></td><td  ><p>~27 min</p></td><td  ><p>~6 hr 50 min</p></td></tr><tr><td class="firstcol " ><p>NBN 100</p></td><td  ><p>100 Mbps</p></td><td  ><p>~1 hr 37 min</p></td><td  ><p>~14 min</p></td><td  ><p>~3 hr 25 min</p></td></tr><tr><td class="firstcol " ><p>NBN 250</p></td><td  ><p>250 Mbps</p></td><td  ><p>~39 min</p></td><td  ><p>~5.5 min</p></td><td  ><p>~1 hr 22 min</p></td></tr><tr><td class="firstcol " ><p>NBN 500</p></td><td  ><p>500 Mbps</p></td><td  ><p>~19 min</p></td><td  ><p>~2.7 min</p></td><td  ><p>~41 min</p></td></tr><tr><td class="firstcol " ><p>NBN 1000</p></td><td  ><p>1000 Mbps</p></td><td  ><p>~10 min</p></td><td  ><p>~1.4 min</p></td><td  ><p>~20 min</p></td></tr><tr><td class="firstcol " ><p>NBN 2000</p></td><td  ><p>2000 Mbps</p></td><td  ><p>~5 min</p></td><td  ><p>~40 sec</p></td><td  ><p>~10 min</p></td></tr></tbody></table></div><p>As you can see, while NBN 500 might fall in the middle of this range, it can be the difference between minutes and hours when downloading larger titles. I think that all those practical improvements and minimal cost increase over slower plans add up to make NBN 500 the undeniable sweet spot when it comes to Australian internet in 2026.  </p><p>If you’re considering switching, I've found three of the best NBN 500 plans available right now below. </p><h3 class="article-body__section" id="section-best-nbn-500-deals-right-now"><span>Best NBN 500 deals right now</span></h3><div class="product"><a data-dimension112="17363b3a-920d-11f1-882c-437e6c6251ce" data-action="Deal Block" data-label="Dodo | AU$60.99p/m" data-dimension48="Dodo | AU$60.99p/m" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=323&gi=392&pi=13585&ct=0&ci=21644&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Zgn5RBAPy8jVuoEunnUxG9" name="dodo-lockup-purple(500x500px)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Zgn5RBAPy8jVuoEunnUxG9-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=323&gi=392&pi=13585&ct=0&ci=21644&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="17363b3a-920d-11f1-882c-437e6c6251ce" data-action="Deal Block" data-label="Dodo | AU$60.99p/m" data-dimension48="Dodo | AU$60.99p/m" data-dimension25=""><strong>Dodo | AU$60.99p/m </strong></a>(for 6 months, then AU$92.99p/m)</p><p>Dodo currently offers one of the most attractive NBN 500 plans, slashing a massive AU$180 off the first year with this low introductory rate of AU$60.99p/m.</p><p>This plan costs the exact same as Dodo's NBN 100 offer, so if you have an FTTP or HFC connection at home, Dodo's got you sorted with 5x more speed for an identical low price.</p><p><strong>Total minimum cost: AU$60.99 | Total first year cost: AU$923.88 | Yearly cost after discount: AU$1,115.88</strong><a class="view-deal button" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=323&gi=392&pi=13585&ct=0&ci=21644&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="17363b3a-920d-11f1-882c-437e6c6251ce" data-action="Deal Block" data-label="Dodo | AU$60.99p/m" data-dimension48="Dodo | AU$60.99p/m" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="17363ca2-920d-11f1-8e36-dbba5e8bae07" data-action="Deal Block" data-label="Exetel | AU$80p/m" data-dimension48="Exetel | AU$80p/m" href="https://www.exetel.com.au/broadband/nbn" target="_blank" rel="sponsored"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:900px;"><p class="vanilla-image-block" style="padding-top:99.89%;"><img id="sfteGX6Me8uXkFRRKBCcsC" name="exetel-square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/sfteGX6Me8uXkFRRKBCcsC-1920-80.jpg" mos="" align="middle" fullscreen="" width="900" height="899" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.exetel.com.au/broadband/nbn" target="_blank" rel="sponsored" data-dimension112="17363ca2-920d-11f1-8e36-dbba5e8bae07" data-action="Deal Block" data-label="Exetel | AU$80p/m" data-dimension48="Exetel | AU$80p/m" data-dimension25=""><strong>Exetel | AU$80p/m</strong></a></p><p>Exetel's One plan (which is technically its only NBN plan) advertises massive speeds of 500Mbps download and 40Mbps upload during typical evening hours. If you're a heavy internet user, gamer or streamer, Exetel's plan should offer plenty of download bandwidth and no interruptions.</p><p>Typically, introductory discounts are the factor that prompts us to recommend one NBN plan over another, but the low ongoing rate undercuts most other providers’ ongoing NBN 500 pricing, and it still comes in at a total yearly cost under AU$1,000.</p><p><strong>Total minimum cost: AU$80 | Total yearly cost: AU$960</strong><a class="view-deal button" href="https://www.exetel.com.au/broadband/nbn" target="_blank" rel="sponsored" data-dimension112="17363ca2-920d-11f1-8e36-dbba5e8bae07" data-action="Deal Block" data-label="Exetel | AU$80p/m" data-dimension48="Exetel | AU$80p/m" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="17363d24-920d-11f1-b222-a9de6cfebe01" data-action="Deal Block" data-label="Kogan Internet | AU$69.90p/m" data-dimension48="Kogan Internet | AU$69.90p/m" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=572&gi=2169&pi=13530&ct=0&ci=20286&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:336px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="gzMMhh9HWxsj4hgjTkvxzd" name="koganinternetlogo.png" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/gzMMhh9HWxsj4hgjTkvxzd-1920-80.png" mos="" align="middle" fullscreen="" width="336" height="336" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=572&gi=2169&pi=13530&ct=0&ci=20286&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="17363d24-920d-11f1-b222-a9de6cfebe01" data-action="Deal Block" data-label="Kogan Internet | AU$69.90p/m" data-dimension48="Kogan Internet | AU$69.90p/m" data-dimension25=""><strong>Kogan Internet | AU$69.90p/m </strong></a>(for 12 months, then AU$85.90p/m)</p><p>Kogan Internet’s Gold Plus Unlimited NBN 500 clocks in with evening speeds of 500Mbps and 42Mbps uploads, which is pretty typical for this tier. However, thanks to this initial discount offer, you'll save AU$16p/m in the first 12 months — that's AU$192 total — before the price increases to a still-competitive AU$85.90p/m ongoing.</p><p>The plan's first-year cost of AU$838.80 is now the cheapest available on the NBN 500 tier. What makes it even better, though, is that Kogan also offers an Internet Price Pledge, so if you find a better price on a same-speed NBN plan, the telco will give you back double the difference.</p><p><strong>Total minimum cost: AU$69.90 | Total first-year cost: AU$838.80 | Yearly cost after discount: AU$1,030.80</strong><a class="view-deal button" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=572&gi=2169&pi=13530&ct=0&ci=20286&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="17363d24-920d-11f1-b222-a9de6cfebe01" data-action="Deal Block" data-label="Kogan Internet | AU$69.90p/m" data-dimension48="Kogan Internet | AU$69.90p/m" data-dimension25="">View Deal</a></p></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/internet/nbn-500-is-the-new-broadband-sweet-spot-heres-why-i-recommend-a-500mbps-plan-for-most-aussie-households</link>
                                                                            <description>
                            <![CDATA[ Thinking of switching your NBN plan? Here's why I recommend 500Mbps for most Australian households. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">zQSZKjrep9WrgAXCXNGW96</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/p7Y8XW4sbQAGpAmffTHkGW-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 07 Aug 2026 03:26:39 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                <author><![CDATA[ lucy.scotting@futurenet.com (Lucy Scotting) ]]></author>                    <dc:creator><![CDATA[ Lucy Scotting ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PQTnAGVHEDNmwJEbWkaqHV-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Lucy Scotting is a staff writer for Tom’s Guide Australia, primarily covering lifestyle, streaming and internet-related news. Lucy started her career writing for HR and staffing industry publications, covering emerging tech, business and finance.&lt;/p&gt;&lt;p&gt;In her spare time, Lucy can be found watching sci-fi movies, working on her dystopian fiction novel (in progress since 2017) or hanging out with her dog, Fletcher. If she’s not found doing any of the above, she’s likely on her next adventure to a new city, country, or continent. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/p7Y8XW4sbQAGpAmffTHkGW-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[using a laptop]]></media:description>                                                            <media:text><![CDATA[using a laptop]]></media:text>
                                <media:title type="plain"><![CDATA[using a laptop]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/p7Y8XW4sbQAGpAmffTHkGW-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Are you looking for your next NBN plan? Let me help you!</p><p>By way of introduction, I'm Tom's Guide's resident broadband expert, and every month I collate and analyse NBN plans from over 30 providers to find the <a href="https://www.tomsguide.com/best-picks/best-nbn-deals">best NBN deals</a>. IHMO, there's a lot to consider when shopping for a suitable NBN plan, but one common factor that gets overlooked is speed. </p><p>The conversation around what NBN speed tier you have at home can be a difficult one to navigate. Finding a suitable plan means being realistic about what speeds you'll <em>actually </em>use, over what you’d ideally like to pay. You may find you have too many internet-connected devices (or humans) living in your household and your current plan isn't cutting it, or conversely, you may be overpaying for a fast plan that you actually don’t need. </p><p>Regardless of where your household fits in the NBN speed pie chart, there's no denying that Aussies have been embracing faster and faster internet speeds over the last few years. <a href="https://www.accc.gov.au/by-industry/telecommunications-and-internet/national-broadband-network-nbn-access-regulation/nbn-wholesale-market-indicators-report/march-quarter-2026-report">As per the ACCC's data</a>, there are now over 3 million active connections for plans offering 100Mbps download speeds and faster. That number has actually quadrupled in the past 14 months, largely due to NBN Co's wholesale speed boost in September 2025. </p><p>Those speed upgrades came in the form of three new speed tiers — NBN 500, NBN 750 and NBN 2000 — which have helped turbocharge <a href="https://www.speedtest.net/global-index">Australia's average internet download speeds to 162.34Mbps</a>. A big contributor to that increase was the fact that two of the new tiers, NBN 500 and NBN 750, were wholesale increases to the existing NBN 100 and NBN 250 tiers. What that means is that customers on full-fibre connections at home — either FTTP or HFC — should have been automatically migrated to these faster speeds for free by their NBN provider. And in most cases, these new tiers cost the same (or only fractionally more) than the slower counterparts they’ve replaced.</p><div ><table><caption>NBN tiers comparison</caption><thead><tr><th class="firstcol " ><p>NBN Tier</p></th><th  ><p>Average Monthly Cost</p></th><th  ><p>Cost per Mbps</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>NBN 50</strong></p></td><td  ><p><strong>AU$90.11</strong></p></td><td  ><p><strong>AU$1.74</strong></p></td></tr><tr><td class="firstcol " ><p><strong>NBN 100</strong></p></td><td  ><p><strong>AU$96.16</strong></p></td><td  ><p><strong>AU$0.96</strong></p></td></tr><tr><td class="firstcol " ><p><strong>NBN 500</strong></p></td><td  ><p><strong>AU$96.85</strong></p></td><td  ><p><strong>AU$0.20</strong></p></td></tr><tr><td class="firstcol " ><p><strong>NBN 750</strong></p></td><td  ><p><strong>AU$108.48</strong></p></td><td  ><p><strong>AU$0.16</strong></p></td></tr><tr><td class="firstcol " ><p><strong>NBN 1000</strong></p></td><td  ><p><strong>AU$117.03</strong></p></td><td  ><p><strong>AU$0.14</strong></p></td></tr><tr><td class="firstcol " ><p><strong>NBN 2000</strong></p></td><td  ><p><strong>AU$184.33</strong></p></td><td  ><p><strong>AU$0.10</strong></p></td></tr></tbody></table></div><p>If you’re currently shopping around for a new NBN provider or plan and your home has a fibre connection, in my opinion the sweet spot when comparing plan value is NBN 500, which, as the name suggests, offers maximum speeds of 500Mbps — a massive speed boost over the next tier down (NBN 50), and more than enough bandwidth for most Aussie homes. </p><p>Not only does it provide 10x faster speeds than NBN 50, on average it costs just AU$6.74 more per month and equates to just AU$0.20 per megabit. (Comparatively, while the cost per megabit does continue to decrease as you move up to faster tiers; the drop between NBN 50 and NBN 500 is the biggest one — and for most Aussie homes, the extra cost of NBN 750, 1000 or 2000 is hard to justify when it comes to practical benefits). </p><p>500Mbps is more than enough bandwidth to accommodate multiple users and devices at the same time with few interruptions, even for homes with moderately demanding internet use. It’s enough speed to allow for 4K streaming on multiple screens, online gaming and large game downloads, and conducting video calls when working from home — all simultaneously. Having that extra wiggle room means that even with numerous people doing data-intensive activities shouldn't noticeably impact regular everyday use, like social media, web browsing, or streaming YouTube. </p><p>If your household includes devoted gamers, opting for an NBN 500 plan can be especially transformative, ensuring that downloading new games or large patches completes significantly faster than on slower speeds. I've put together the table below based on three popular online games with varying download sizes so you can see how radically NBN 500 changes things. </p><div ><table><caption>NBN speed vs game downloads</caption><thead><tr><th class="firstcol " ><p>NBN Speed Tier</p></th><th  ><p>Download Speed</p></th><th  ><p>Fortnite<br>(~71 GB)</p></th><th  ><p>League of Legends<br>(~10 GB)</p></th><th  ><p>Call of Duty: Black Ops 6<br>(~150 GB)</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>NBN 50</p></td><td  ><p>50 Mbps</p></td><td  ><p>~3 hr 15 min</p></td><td  ><p>~27 min</p></td><td  ><p>~6 hr 50 min</p></td></tr><tr><td class="firstcol " ><p>NBN 100</p></td><td  ><p>100 Mbps</p></td><td  ><p>~1 hr 37 min</p></td><td  ><p>~14 min</p></td><td  ><p>~3 hr 25 min</p></td></tr><tr><td class="firstcol " ><p>NBN 250</p></td><td  ><p>250 Mbps</p></td><td  ><p>~39 min</p></td><td  ><p>~5.5 min</p></td><td  ><p>~1 hr 22 min</p></td></tr><tr><td class="firstcol " ><p>NBN 500</p></td><td  ><p>500 Mbps</p></td><td  ><p>~19 min</p></td><td  ><p>~2.7 min</p></td><td  ><p>~41 min</p></td></tr><tr><td class="firstcol " ><p>NBN 1000</p></td><td  ><p>1000 Mbps</p></td><td  ><p>~10 min</p></td><td  ><p>~1.4 min</p></td><td  ><p>~20 min</p></td></tr><tr><td class="firstcol " ><p>NBN 2000</p></td><td  ><p>2000 Mbps</p></td><td  ><p>~5 min</p></td><td  ><p>~40 sec</p></td><td  ><p>~10 min</p></td></tr></tbody></table></div><p>As you can see, while NBN 500 might fall in the middle of this range, it can be the difference between minutes and hours when downloading larger titles. I think that all those practical improvements and minimal cost increase over slower plans add up to make NBN 500 the undeniable sweet spot when it comes to Australian internet in 2026.  </p><p>If you’re considering switching, I've found three of the best NBN 500 plans available right now below. </p><h3 class="article-body__section" id="section-best-nbn-500-deals-right-now"><span>Best NBN 500 deals right now</span></h3><div class="product"><a data-dimension112="17363b3a-920d-11f1-882c-437e6c6251ce" data-action="Deal Block" data-label="Dodo | AU$60.99p/m" data-dimension48="Dodo | AU$60.99p/m" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=323&gi=392&pi=13585&ct=0&ci=21644&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Zgn5RBAPy8jVuoEunnUxG9" name="dodo-lockup-purple(500x500px)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Zgn5RBAPy8jVuoEunnUxG9-1920-80.png" mos="" align="middle" fullscreen="" width="500" height="500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=323&gi=392&pi=13585&ct=0&ci=21644&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="17363b3a-920d-11f1-882c-437e6c6251ce" data-action="Deal Block" data-label="Dodo | AU$60.99p/m" data-dimension48="Dodo | AU$60.99p/m" data-dimension25=""><strong>Dodo | AU$60.99p/m </strong></a>(for 6 months, then AU$92.99p/m)</p><p>Dodo currently offers one of the most attractive NBN 500 plans, slashing a massive AU$180 off the first year with this low introductory rate of AU$60.99p/m.</p><p>This plan costs the exact same as Dodo's NBN 100 offer, so if you have an FTTP or HFC connection at home, Dodo's got you sorted with 5x more speed for an identical low price.</p><p><strong>Total minimum cost: AU$60.99 | Total first year cost: AU$923.88 | Yearly cost after discount: AU$1,115.88</strong><a class="view-deal button" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=323&gi=392&pi=13585&ct=0&ci=21644&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="17363b3a-920d-11f1-882c-437e6c6251ce" data-action="Deal Block" data-label="Dodo | AU$60.99p/m" data-dimension48="Dodo | AU$60.99p/m" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="17363ca2-920d-11f1-8e36-dbba5e8bae07" data-action="Deal Block" data-label="Exetel | AU$80p/m" data-dimension48="Exetel | AU$80p/m" href="https://www.exetel.com.au/broadband/nbn" target="_blank" rel="sponsored"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:900px;"><p class="vanilla-image-block" style="padding-top:99.89%;"><img id="sfteGX6Me8uXkFRRKBCcsC" name="exetel-square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/sfteGX6Me8uXkFRRKBCcsC-1920-80.jpg" mos="" align="middle" fullscreen="" width="900" height="899" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.exetel.com.au/broadband/nbn" target="_blank" rel="sponsored" data-dimension112="17363ca2-920d-11f1-8e36-dbba5e8bae07" data-action="Deal Block" data-label="Exetel | AU$80p/m" data-dimension48="Exetel | AU$80p/m" data-dimension25=""><strong>Exetel | AU$80p/m</strong></a></p><p>Exetel's One plan (which is technically its only NBN plan) advertises massive speeds of 500Mbps download and 40Mbps upload during typical evening hours. If you're a heavy internet user, gamer or streamer, Exetel's plan should offer plenty of download bandwidth and no interruptions.</p><p>Typically, introductory discounts are the factor that prompts us to recommend one NBN plan over another, but the low ongoing rate undercuts most other providers’ ongoing NBN 500 pricing, and it still comes in at a total yearly cost under AU$1,000.</p><p><strong>Total minimum cost: AU$80 | Total yearly cost: AU$960</strong><a class="view-deal button" href="https://www.exetel.com.au/broadband/nbn" target="_blank" rel="sponsored" data-dimension112="17363ca2-920d-11f1-8e36-dbba5e8bae07" data-action="Deal Block" data-label="Exetel | AU$80p/m" data-dimension48="Exetel | AU$80p/m" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="17363d24-920d-11f1-b222-a9de6cfebe01" data-action="Deal Block" data-label="Kogan Internet | AU$69.90p/m" data-dimension48="Kogan Internet | AU$69.90p/m" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=572&gi=2169&pi=13530&ct=0&ci=20286&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:336px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="gzMMhh9HWxsj4hgjTkvxzd" name="koganinternetlogo.png" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/gzMMhh9HWxsj4hgjTkvxzd-1920-80.png" mos="" align="middle" fullscreen="" width="336" height="336" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=572&gi=2169&pi=13530&ct=0&ci=20286&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="17363d24-920d-11f1-b222-a9de6cfebe01" data-action="Deal Block" data-label="Kogan Internet | AU$69.90p/m" data-dimension48="Kogan Internet | AU$69.90p/m" data-dimension25=""><strong>Kogan Internet | AU$69.90p/m </strong></a>(for 12 months, then AU$85.90p/m)</p><p>Kogan Internet’s Gold Plus Unlimited NBN 500 clocks in with evening speeds of 500Mbps and 42Mbps uploads, which is pretty typical for this tier. However, thanks to this initial discount offer, you'll save AU$16p/m in the first 12 months — that's AU$192 total — before the price increases to a still-competitive AU$85.90p/m ongoing.</p><p>The plan's first-year cost of AU$838.80 is now the cheapest available on the NBN 500 tier. What makes it even better, though, is that Kogan also offers an Internet Price Pledge, so if you find a better price on a same-speed NBN plan, the telco will give you back double the difference.</p><p><strong>Total minimum cost: AU$69.90 | Total first-year cost: AU$838.80 | Yearly cost after discount: AU$1,030.80</strong><a class="view-deal button" href="https://tomsguide.whistleout.com.au/Transact?pai=2&si=572&gi=2169&pi=13530&ct=0&ci=20286&byo=true&ai=83&ppt=0" target="_blank" rel="sponsored" data-dimension112="17363d24-920d-11f1-b222-a9de6cfebe01" data-action="Deal Block" data-label="Kogan Internet | AU$69.90p/m" data-dimension48="Kogan Internet | AU$69.90p/m" data-dimension25="">View Deal</a></p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I added a UPS to my NAS and now I never have to worry about power outages — or unexpected data loss ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Storing everything in the cloud and streaming movies online is certainly convenient, but subscription costs just keep climbing. That’s why a lot of us — myself included — are ditching the monthly fees in favor of <a href="https://www.tomsguide.com/computing/peripherals/im-ditching-my-icloud-subscription-for-this-backup-drive-and-saving-myself-usd120-a-year-heres-how">local storage</a> and <a href="https://www.tomsguide.com/entertainment/music-streaming/i-ditched-my-favorite-music-streaming-service-for-my-cd-collection-for-a-month-and-i-cant-believe-how-much-i-missed-it">physical media</a> backed up on a home NAS. However, when you take your data into your own hands there’s a real catch: one sudden power loss can wipe out everything before you even know what happened.</p><p>I’ve always been interested in Network Attached Storage (NAS), but it wasn’t until last year that I <a href="https://www.tomsguide.com/computing/peripherals/i-finally-added-a-nas-to-my-home-network-and-i-cant-believe-i-waited-this-long">finally added one to my home network</a>. Being able to access my files from anywhere — just like I did through the cloud, but without a monthly subscription — has been a real game changer for my workflow. Likewise, instead of <a href="https://www.tomsguide.com/ai/i-let-chatgpt-plan-my-new-daily-tv-schedule-and-now-i-dont-have-to-channel-surf-anymore">bouncing between streaming services</a>, I can watch all my favorite movies right from my home network.</p><p>Overall, this whole setup has worked out so well that even the rest of my family now knows how to access the NAS and stream content right from the TV. There’s just one problem: local grid work means constant power outages, forcing me to manually boot the NAS back up. At home, this is a minor inconvenience, but over time, it’s become a real hassle — especially when the power goes out at least once a week.</p><p>Power outages don’t just interrupt movie night, either. With every sudden drop, I worry about corrupted data — or worse, a full mechanical failure on the drives inside. For this reason, I decided to pair an Uninterruptible Power Supply (UPS) with my NAS. While these backup batteries can be expensive, if you have a Ugreen NAS like I do, you’re in luck as the company now makes an affordable one that’s a cinch to set up.</p><div class="product"><a data-dimension112="a1fd8a2c-9166-11f1-8850-91474b2e3ffb" data-action="Deal Block" data-label="US3000" data-dimension48="US3000" data-dimension25="$109" href="https://www.amazon.com/dp/B0DDC9ZK8R" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1468px;"><p class="vanilla-image-block" style="padding-top:80.99%;"><img id="bff6383ZkFKsagdTKErKP" name="US3000" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/bff6383ZkFKsagdTKErKP-1920-80.jpg" mos="" align="middle" fullscreen="" width="1468" height="1189" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0DDC9ZK8R" target="_blank" rel="nofollow" data-dimension112="a1fd8a2c-9166-11f1-8850-91474b2e3ffb" data-action="Deal Block" data-label="US3000" data-dimension48="US3000" data-dimension25="$109">US3000: was $137 now $109</a></strong><br>Protect your NAS against unexpected blackouts and voltage dips with this compact mini UPS. Purpose-built for Ugreen NASync devices, it features a 12,000 mAh battery, a zero-second transfer time, and seamless UGOS Pro integration to automatically manage safe standby modes and prevent file system corruption during a power loss. </p><p><strong>Price Check: </strong><a href="https://ai.ugreen.com/products/ugreen-nas-backup-power-120w-12000mah" target="_blank" rel="nofollow"><strong>$109 @ Ugreen</strong></a><a class="view-deal button" href="https://www.amazon.com/dp/B0DDC9ZK8R" target="_blank" rel="nofollow" data-dimension112="a1fd8a2c-9166-11f1-8850-91474b2e3ffb" data-action="Deal Block" data-label="US3000" data-dimension48="US3000" data-dimension25="$109">View Deal</a></p></div><h2 id="power-bank-sized-peace-of-mind">Power bank-sized peace of mind</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3696px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xCfduG8b6g6h2B96MMrQR6" name="Ugreen US3000 UPS-3" alt="The Ugreen US3000 mini UPS on a desk" src="https://cdn.mos.cms.futurecdn.net/xCfduG8b6g6h2B96MMrQR6-1920-80.jpg" mos="" align="middle" fullscreen="" width="3696" height="2079" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>After looking into getting a UPS a few years back and seeing them on sale at Costco more recently, I was completely surprised by just how small Ugreen’s US3000 one is. At 5.7 x 5.3 x 1.7 inches, it’s more of a mini UPS that’s not much larger than one of the <a href="https://www.tomsguide.com/best-picks/best-portable-chargers">best power banks</a>. This makes sense though — the US3000 is designed to power a single device as opposed to your whole desk setup in case of an outage.</p><p>In the box, you get the device itself, a vertical stand, and a USB-C to USB-A cable — but more on that later. Despite its small size, the US3000 packs a 12,000 mAh battery and can power a four-bay Ugreen NAS like the DH4300 Plus I’m using in my living room or the more powerful <a href="https://www.tomsguide.com/computing/the-coolest-piece-of-tech-i-bought-all-year-was-the-dxp4800-plus-heres-why-its-a-game-changer">DXP4800</a> for about 8–10 minutes. </p><p>You won't be streaming movies or running large backup jobs off its battery during a prolonged blackout. Instead, the US3000 acts as a bridge — giving you enough time to gracefully power down your system, or to safely ride out split-second power dips where the lights flicker and instantly come back on.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5114px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="Dn5SWXRVq3Kwh46ZU4NJXA" name="Ugreen US3000 UPS-4" alt="The ports and buttons on the front side of the Ugreen US3000 mini UPS" src="https://cdn.mos.cms.futurecdn.net/Dn5SWXRVq3Kwh46ZU4NJXA-1920-80.jpg" mos="" align="middle" fullscreen="" width="5114" height="2876" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The US3000 is a surprisingly simple device too, with only a single USB-C port, a barrel-shaped power port, and a hardwired power-out port. If you prefer completely silent operation, there’s also a small pinhole that — instead of resetting the device — mutes the internal alarm that beeps whenever you switch to battery power. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4111px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="VaU25hZePMWaEgihQnQb8E" name="Ugreen US3000 UPS-5" alt="The Ugreen US3000 mini UPS seen from the side showing off its hardwired power out cable" src="https://cdn.mos.cms.futurecdn.net/VaU25hZePMWaEgihQnQb8E-1920-80.jpg" mos="" align="middle" fullscreen="" width="4111" height="2312" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>One thing I have to give Ugreen credit for is the fact that the US3000 doesn’t come with a separate power adapter. Instead, you take the power adapter from your NAS, plug it into this UPS, and then plug that hardwired cable into your NAS. Personally, this made setup a whole lot easier since I didn’t have to redo my NAS’ <a href="https://www.tomsguide.com/how-to/how-to-manage-cables">cable management</a> to add a backup battery to it. </p><h2 id="plug-and-play-protection">Plug and play protection</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="8hM354NVimjt36GzqELAVH" name="Ugreen US3000 UPS-2" alt="A close-up shot showing the Ugreen US3000 mini UPS connected to a Ugreen NAS" src="https://cdn.mos.cms.futurecdn.net/8hM354NVimjt36GzqELAVH-1920-80.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Just like I mentioned above, getting the US3000 set up and connected to my NAS was an absolute breeze. I safely powered down my NAS, plugged its power adapter into the back of the US3000, and then inserted that hardwired cable into the back of my NAS. In fact, I was so eager to get this mini UPS set up that I initially forgot the most important part.</p><p>Sure, the US3000 will serve as a basic battery backup this way, but you’re missing out on its best features. Remember that USB-C to USB-A cable in the box? When you connect the US3000 directly to your NAS with it, the two can actually talk to each other. Without that data link, your NAS has no idea the power is out — it will simply drain the battery to zero and crash anyway during a long outage. Plugging in the cable is what unlocks intelligent features like automatic status detection and safe system standbys.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3246px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9UCxKrFWXg38jScThzSVbM" name="ugreen-ups-connected" alt="A screenshot showing the Ugreen US3000 mini  UPS within Ugreen's UGOS operating system" src="https://cdn.mos.cms.futurecdn.net/9UCxKrFWXg38jScThzSVbM-1920-80.jpg" mos="" align="middle" fullscreen="" width="3246" height="1826" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>After realizing the error of my ways, I connected the two devices via USB and powered my NAS back on. From there, I pulled up the Ugreen desktop app on my computer — though I could have also done so from my phone or tablet — and opened the Control Panel within UGOS. I navigated to Hardware & Power, clicked the UPS tab, and the US3000 was instantly recognized. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qfRqMJimgEJbKhg3CPLavR" name="ugreen-ups-settings" alt="A screenshot showing the various settings for the Ugreen US3000 mini UPS within Ugreen's UGOS operating system" src="https://cdn.mos.cms.futurecdn.net/qfRqMJimgEJbKhg3CPLavR-1920-80.jpg" mos="" align="middle" fullscreen="" width="3280" height="1845" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Hitting the Connect button gives you access to a quick suite of tailored options. For instance, you can choose between Standby mode and Auto Shutdown. Standby mode unmounts your storage volumes and halts read-write activity to protect your drive pool from corruption while keeping the CPU powered at minimal draw — allowing the NAS to resume instantly once your power returns. Auto Shutdown, on the other hand, fully powers off the hardware, which is ideal for prolonged blackouts but requires a full boot later on. </p><p>Just like with the rest of UGOS, there’s plenty to tinker with. However, everything is presented clearly enough that even NAS newbies can get the US3000 configured to their exact liking in under a minute.</p><h2 id="physical-insurance-for-your-nas">Physical insurance for your NAS</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="D9EBStZr6bDDP9ih6QfoEK" name="UGREEN DH4300 Plus-06" alt="The Ugreen NASync DH4300 Plus with hard drives in each of its four drive bays" src="https://cdn.mos.cms.futurecdn.net/D9EBStZr6bDDP9ih6QfoEK-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Although Ugreen’s NAS devices have made Network Attached Storage more accessible for the average user, they became widely available during one of the worst possible times: <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAMaggedon</a>. </p><p>Just a few years ago, buying several 3.5-inch or even 2.5-inch hard drives with a lot of capacity wouldn’t have set you back all that much. Now though, thanks to the current AI-fueled memory and storage crisis, outfitting your NAS with terabytes of storage space isn’t nearly as cost-effective as it used to be.</p><p>Whether you’re ditching cloud storage or streaming services, adding a NAS to your home network and outfitting it with the necessary storage is certainly an investment. Adding a US3000 mini UPS between your Ugreen NAS and the nearest power outlet does add to that initial investment too, but at $129, I’d say it’s well worth it.</p><p>You never know when a power outage, blackout, or in my case, power dips can strike. Best-case scenario, you just have to reboot your NAS, but worst-case scenario, you suddenly find yourself dealing with data loss and hardware failure. Storing your files securely at home is one of the main reasons to get a NAS in the first place, but with a strong enough surge, you might end up losing them and having to replace multiple hard drives. That’s why investing in the US3000 or even a larger, more powerful UPS is an absolute must.</p><p>For me, I can rest easy knowing that my files are safe when the lights flicker and that I won’t have to manually reboot my NAS just so my family can watch a movie when they come back on.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/i-thought-my-first-nas-was-enough-but-this-ai-powered-behemoth-is-the-private-brain-my-home-office-needed">I thought my first NAS was enough, but then I touched the future</a></li><li><a href="https://www.tomsguide.com/computing/ugreen-dxp2800gt-vs-ugreen-dxp4800gt">Ugreen DXP2800 GT vs DXP4800 GT: How much NAS do you really need when replacing your costly cloud storage?</a></li><li><a href="https://www.tomsguide.com/home/home-office/i-turned-a-bookshelf-into-a-hidden-home-lab-and-it-completely-decluttered-my-office">I built a hidden network hub to declutter my home office but it can do so much more</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/i-added-a-ups-to-my-nas-and-now-i-never-have-to-worry-about-power-outages-or-unexpected-data-loss</link>
                                                                            <description>
                            <![CDATA[ The US3000 is a mini UPS that offers plug-and-play power protection for Ugreen NAS devices to keep them running and your data safe during power outages. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ghEXCKvRqiyFoYmDBLz6fg</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/jNo33iKQtHyaUAcUWjwUt-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 06 Aug 2026 12:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Cloud Storage]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ anthony.spadafora@futurenet.com (Anthony Spadafora) ]]></author>                    <dc:creator><![CDATA[ Anthony Spadafora ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/z73LEoj7FkUjNG85GcWHtH-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Anthony Spadafora is the managing editor for security and home office furniture at Tom’s Guide where he covers everything from data breaches and malware to password managers and the best way to cover your whole home or business with a strong Wi-Fi signal.&lt;/p&gt;&lt;p&gt;Before joining the team, he spent three years covering cybersecurity and B2B tech for ITProPortal while living in South Korea. After moving back to the US. Anthony joined the TechRadar Pro team where he covered these topics along with VPNs, web hosting, online collaboration software and video conferencing for four years. Anthony also has his ears to the ground and is on the lookout for the next major cyberattack or data breach.&lt;/p&gt;&lt;p&gt;Based in Houston, Texas, Anthony also handles VPN testing for both Tom’s Guide and TechRadar. As someone who has worked from home exclusively since 2018, he has reviewed dozens of standing desks as well as office chairs and has taken a closer look at other essential remote working accessories. As part of these reviews, Anthony frequently builds intricate desk setups which is why he’s such a big advocate for cable management and keeping things organized. When he’s not writing, he can be found tinkering with PCs and game consoles, managing cables and making upgrades to his smart home.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/jNo33iKQtHyaUAcUWjwUt-1920-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Ugreen US3000 mini UPS next to a Ugreen NAS on a shelf]]></media:description>                                                            <media:text><![CDATA[The Ugreen US3000 mini UPS next to a Ugreen NAS on a shelf]]></media:text>
                                <media:title type="plain"><![CDATA[The Ugreen US3000 mini UPS next to a Ugreen NAS on a shelf]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/jNo33iKQtHyaUAcUWjwUt-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Storing everything in the cloud and streaming movies online is certainly convenient, but subscription costs just keep climbing. That’s why a lot of us — myself included — are ditching the monthly fees in favor of <a href="https://www.tomsguide.com/computing/peripherals/im-ditching-my-icloud-subscription-for-this-backup-drive-and-saving-myself-usd120-a-year-heres-how">local storage</a> and <a href="https://www.tomsguide.com/entertainment/music-streaming/i-ditched-my-favorite-music-streaming-service-for-my-cd-collection-for-a-month-and-i-cant-believe-how-much-i-missed-it">physical media</a> backed up on a home NAS. However, when you take your data into your own hands there’s a real catch: one sudden power loss can wipe out everything before you even know what happened.</p><p>I’ve always been interested in Network Attached Storage (NAS), but it wasn’t until last year that I <a href="https://www.tomsguide.com/computing/peripherals/i-finally-added-a-nas-to-my-home-network-and-i-cant-believe-i-waited-this-long">finally added one to my home network</a>. Being able to access my files from anywhere — just like I did through the cloud, but without a monthly subscription — has been a real game changer for my workflow. Likewise, instead of <a href="https://www.tomsguide.com/ai/i-let-chatgpt-plan-my-new-daily-tv-schedule-and-now-i-dont-have-to-channel-surf-anymore">bouncing between streaming services</a>, I can watch all my favorite movies right from my home network.</p><p>Overall, this whole setup has worked out so well that even the rest of my family now knows how to access the NAS and stream content right from the TV. There’s just one problem: local grid work means constant power outages, forcing me to manually boot the NAS back up. At home, this is a minor inconvenience, but over time, it’s become a real hassle — especially when the power goes out at least once a week.</p><p>Power outages don’t just interrupt movie night, either. With every sudden drop, I worry about corrupted data — or worse, a full mechanical failure on the drives inside. For this reason, I decided to pair an Uninterruptible Power Supply (UPS) with my NAS. While these backup batteries can be expensive, if you have a Ugreen NAS like I do, you’re in luck as the company now makes an affordable one that’s a cinch to set up.</p><div class="product"><a data-dimension112="a1fd8a2c-9166-11f1-8850-91474b2e3ffb" data-action="Deal Block" data-label="US3000" data-dimension48="US3000" data-dimension25="$109" href="https://www.amazon.com/dp/B0DDC9ZK8R" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1468px;"><p class="vanilla-image-block" style="padding-top:80.99%;"><img id="bff6383ZkFKsagdTKErKP" name="US3000" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/bff6383ZkFKsagdTKErKP-1920-80.jpg" mos="" align="middle" fullscreen="" width="1468" height="1189" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/dp/B0DDC9ZK8R" target="_blank" rel="nofollow" data-dimension112="a1fd8a2c-9166-11f1-8850-91474b2e3ffb" data-action="Deal Block" data-label="US3000" data-dimension48="US3000" data-dimension25="$109">US3000: was $137 now $109</a></strong><br>Protect your NAS against unexpected blackouts and voltage dips with this compact mini UPS. Purpose-built for Ugreen NASync devices, it features a 12,000 mAh battery, a zero-second transfer time, and seamless UGOS Pro integration to automatically manage safe standby modes and prevent file system corruption during a power loss. </p><p><strong>Price Check: </strong><a href="https://ai.ugreen.com/products/ugreen-nas-backup-power-120w-12000mah" target="_blank" rel="nofollow"><strong>$109 @ Ugreen</strong></a><a class="view-deal button" href="https://www.amazon.com/dp/B0DDC9ZK8R" target="_blank" rel="nofollow" data-dimension112="a1fd8a2c-9166-11f1-8850-91474b2e3ffb" data-action="Deal Block" data-label="US3000" data-dimension48="US3000" data-dimension25="$109">View Deal</a></p></div><h2 id="power-bank-sized-peace-of-mind">Power bank-sized peace of mind</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3696px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xCfduG8b6g6h2B96MMrQR6" name="Ugreen US3000 UPS-3" alt="The Ugreen US3000 mini UPS on a desk" src="https://cdn.mos.cms.futurecdn.net/xCfduG8b6g6h2B96MMrQR6-1920-80.jpg" mos="" align="middle" fullscreen="" width="3696" height="2079" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>After looking into getting a UPS a few years back and seeing them on sale at Costco more recently, I was completely surprised by just how small Ugreen’s US3000 one is. At 5.7 x 5.3 x 1.7 inches, it’s more of a mini UPS that’s not much larger than one of the <a href="https://www.tomsguide.com/best-picks/best-portable-chargers">best power banks</a>. This makes sense though — the US3000 is designed to power a single device as opposed to your whole desk setup in case of an outage.</p><p>In the box, you get the device itself, a vertical stand, and a USB-C to USB-A cable — but more on that later. Despite its small size, the US3000 packs a 12,000 mAh battery and can power a four-bay Ugreen NAS like the DH4300 Plus I’m using in my living room or the more powerful <a href="https://www.tomsguide.com/computing/the-coolest-piece-of-tech-i-bought-all-year-was-the-dxp4800-plus-heres-why-its-a-game-changer">DXP4800</a> for about 8–10 minutes. </p><p>You won't be streaming movies or running large backup jobs off its battery during a prolonged blackout. Instead, the US3000 acts as a bridge — giving you enough time to gracefully power down your system, or to safely ride out split-second power dips where the lights flicker and instantly come back on.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5114px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="Dn5SWXRVq3Kwh46ZU4NJXA" name="Ugreen US3000 UPS-4" alt="The ports and buttons on the front side of the Ugreen US3000 mini UPS" src="https://cdn.mos.cms.futurecdn.net/Dn5SWXRVq3Kwh46ZU4NJXA-1920-80.jpg" mos="" align="middle" fullscreen="" width="5114" height="2876" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The US3000 is a surprisingly simple device too, with only a single USB-C port, a barrel-shaped power port, and a hardwired power-out port. If you prefer completely silent operation, there’s also a small pinhole that — instead of resetting the device — mutes the internal alarm that beeps whenever you switch to battery power. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4111px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="VaU25hZePMWaEgihQnQb8E" name="Ugreen US3000 UPS-5" alt="The Ugreen US3000 mini UPS seen from the side showing off its hardwired power out cable" src="https://cdn.mos.cms.futurecdn.net/VaU25hZePMWaEgihQnQb8E-1920-80.jpg" mos="" align="middle" fullscreen="" width="4111" height="2312" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>One thing I have to give Ugreen credit for is the fact that the US3000 doesn’t come with a separate power adapter. Instead, you take the power adapter from your NAS, plug it into this UPS, and then plug that hardwired cable into your NAS. Personally, this made setup a whole lot easier since I didn’t have to redo my NAS’ <a href="https://www.tomsguide.com/how-to/how-to-manage-cables">cable management</a> to add a backup battery to it. </p><h2 id="plug-and-play-protection">Plug and play protection</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="8hM354NVimjt36GzqELAVH" name="Ugreen US3000 UPS-2" alt="A close-up shot showing the Ugreen US3000 mini UPS connected to a Ugreen NAS" src="https://cdn.mos.cms.futurecdn.net/8hM354NVimjt36GzqELAVH-1920-80.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Just like I mentioned above, getting the US3000 set up and connected to my NAS was an absolute breeze. I safely powered down my NAS, plugged its power adapter into the back of the US3000, and then inserted that hardwired cable into the back of my NAS. In fact, I was so eager to get this mini UPS set up that I initially forgot the most important part.</p><p>Sure, the US3000 will serve as a basic battery backup this way, but you’re missing out on its best features. Remember that USB-C to USB-A cable in the box? When you connect the US3000 directly to your NAS with it, the two can actually talk to each other. Without that data link, your NAS has no idea the power is out — it will simply drain the battery to zero and crash anyway during a long outage. Plugging in the cable is what unlocks intelligent features like automatic status detection and safe system standbys.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3246px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9UCxKrFWXg38jScThzSVbM" name="ugreen-ups-connected" alt="A screenshot showing the Ugreen US3000 mini  UPS within Ugreen's UGOS operating system" src="https://cdn.mos.cms.futurecdn.net/9UCxKrFWXg38jScThzSVbM-1920-80.jpg" mos="" align="middle" fullscreen="" width="3246" height="1826" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>After realizing the error of my ways, I connected the two devices via USB and powered my NAS back on. From there, I pulled up the Ugreen desktop app on my computer — though I could have also done so from my phone or tablet — and opened the Control Panel within UGOS. I navigated to Hardware & Power, clicked the UPS tab, and the US3000 was instantly recognized. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qfRqMJimgEJbKhg3CPLavR" name="ugreen-ups-settings" alt="A screenshot showing the various settings for the Ugreen US3000 mini UPS within Ugreen's UGOS operating system" src="https://cdn.mos.cms.futurecdn.net/qfRqMJimgEJbKhg3CPLavR-1920-80.jpg" mos="" align="middle" fullscreen="" width="3280" height="1845" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Hitting the Connect button gives you access to a quick suite of tailored options. For instance, you can choose between Standby mode and Auto Shutdown. Standby mode unmounts your storage volumes and halts read-write activity to protect your drive pool from corruption while keeping the CPU powered at minimal draw — allowing the NAS to resume instantly once your power returns. Auto Shutdown, on the other hand, fully powers off the hardware, which is ideal for prolonged blackouts but requires a full boot later on. </p><p>Just like with the rest of UGOS, there’s plenty to tinker with. However, everything is presented clearly enough that even NAS newbies can get the US3000 configured to their exact liking in under a minute.</p><h2 id="physical-insurance-for-your-nas">Physical insurance for your NAS</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="D9EBStZr6bDDP9ih6QfoEK" name="UGREEN DH4300 Plus-06" alt="The Ugreen NASync DH4300 Plus with hard drives in each of its four drive bays" src="https://cdn.mos.cms.futurecdn.net/D9EBStZr6bDDP9ih6QfoEK-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Although Ugreen’s NAS devices have made Network Attached Storage more accessible for the average user, they became widely available during one of the worst possible times: <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAMaggedon</a>. </p><p>Just a few years ago, buying several 3.5-inch or even 2.5-inch hard drives with a lot of capacity wouldn’t have set you back all that much. Now though, thanks to the current AI-fueled memory and storage crisis, outfitting your NAS with terabytes of storage space isn’t nearly as cost-effective as it used to be.</p><p>Whether you’re ditching cloud storage or streaming services, adding a NAS to your home network and outfitting it with the necessary storage is certainly an investment. Adding a US3000 mini UPS between your Ugreen NAS and the nearest power outlet does add to that initial investment too, but at $129, I’d say it’s well worth it.</p><p>You never know when a power outage, blackout, or in my case, power dips can strike. Best-case scenario, you just have to reboot your NAS, but worst-case scenario, you suddenly find yourself dealing with data loss and hardware failure. Storing your files securely at home is one of the main reasons to get a NAS in the first place, but with a strong enough surge, you might end up losing them and having to replace multiple hard drives. That’s why investing in the US3000 or even a larger, more powerful UPS is an absolute must.</p><p>For me, I can rest easy knowing that my files are safe when the lights flicker and that I won’t have to manually reboot my NAS just so my family can watch a movie when they come back on.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/i-thought-my-first-nas-was-enough-but-this-ai-powered-behemoth-is-the-private-brain-my-home-office-needed">I thought my first NAS was enough, but then I touched the future</a></li><li><a href="https://www.tomsguide.com/computing/ugreen-dxp2800gt-vs-ugreen-dxp4800gt">Ugreen DXP2800 GT vs DXP4800 GT: How much NAS do you really need when replacing your costly cloud storage?</a></li><li><a href="https://www.tomsguide.com/home/home-office/i-turned-a-bookshelf-into-a-hidden-home-lab-and-it-completely-decluttered-my-office">I built a hidden network hub to declutter my home office but it can do so much more</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Incognito mode is a total lie – and it cost Google $5 billion ]]></title>
                                                                                                <dc:content><![CDATA[ <div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/YJJ28gMyH_I" allowfullscreen></iframe></div></div><p><em><strong>You can watch this article as a video on </strong></em><a href="https://youtu.be/YJJ28gMyH_I" target="_blank"><em><strong>The Privacy Lab's YouTube channel</strong></em></a><em><strong>.</strong></em></p><p>Five billion dollars. That's how much Google agreed to pay after being <a href="https://www.tomsguide.com/news/google-facing-dollar5-billion-chrome-incognito-mode-lawsuit-what-you-need-to-know">caught tracking millions of users</a> who thought they were browsing privately with Incognito mode. During the lawsuit, quotes from Google’s own employees emerged, calling<strong> </strong>Incognito "<a href="https://www.bbc.co.uk/news/business-68709119" target="_blank" rel="nofollow">effectively a lie</a>" and a "confusing mess." </p><p>Even Google's Chief Marketing Officer warned the CEO that they had to use "fuzzy, hedging language" because, in her own words, "<a href="https://www.bloomberg.com/news/articles/2022-10-11/google-s-incognito-inspires-staff-jokes-and-a-big-lawsuit?embedded-checkout=true" target="_blank" rel="nofollow">it's not truly private</a>."</p><p>I think Incognito mode is one of the most successful illusions in tech history. So, I'm going to strip it back to look at what Google Chrome actually does to protect your data, what Incognito mode completely fails to do, and the steps you can take to stay genuinely safe online. </p><h2 id="credit-where-it-s-due">Credit where it's due</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FsE6DaLYHWfHhsBJj8hhaJ" name="chrome.GettyImages-1211180803.edit2" alt="Chrome" src="https://cdn.mos.cms.futurecdn.net/FsE6DaLYHWfHhsBJj8hhaJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>It's important to be fair to Google here, even though it might feel a <em>bit</em> wrong: Chrome is actually a fairly secure web browser when it comes to keeping you safe from hackers and malware. </p><p>Importantly, it makes sure you use HTTPS, which encrypts the data that passes between your device and the websites you visit. This means that even if you connect to a dodgy Wi-Fi hotspot and someone is monitoring the connection, they can't steal your passwords or read your traffic. Plus, it warns you if you click on unencrypted HTTP links. Because Chrome and most other modern browsers do this, the classic "<a href="https://www.tomsguide.com/computing/online-security/what-is-a-man-in-the-middle-attack">man in the middle</a>" attack is very rare nowadays.</p><p>Chrome also features Secure DNS, as well as tab sandboxing. The latter isolates every browser tab so a malicious site can't jump to another and steal data. But the problem isn't Chrome's security. The problem is what happens when you click on Incognito.</p><h2 id="what-incognito-mode-is-good-for">What Incognito mode is good for</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:57.10%;"><img id="PL4sQMJGZzvYUogUairdX3" name="chrome-incognito-shst.jpg" alt="A screenshot of the opening page of Chrome's Incognito Mode." src="https://cdn.mos.cms.futurecdn.net/PL4sQMJGZzvYUogUairdX3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="571" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sam Kresslein/Shutterstock)</span></figcaption></figure><p>Incognito mode is not built for network stealth – it just keeps your browser tidy. When you open an Incognito tab, your browser stops recording some data. It doesn't save your activity in history, doesn't save auto-fills, and blocks third-party cookies</p><p>For example, if you're shopping for a birthday present or visiting… <em>certain</em> <em>sites</em> you'd rather not have saved in your history, Incognito mode works perfectly. It stops someone else who uses the same device from seeing what sites you've visited. However, this is exactly where its power ends.</p><h2 id="where-incognito-fails">Where Incognito fails</h2><p>Everything falls apart the moment your data leaves your device – Incognito mode does nothing to hide your identity from the outside world. Your internet provider can still log the domain names you connect to, and if you're browsing on a work or school network, they can see every single site you visit.</p><p>Most worryingly, the websites you visit can still track you. They can record your real IP address, and if they use something like Google Analytics, they can instantly tie your "private" session to your existing digital profile. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ghR95aEQAv6aDrgJUZVvvh" name="Incognito screenshot" alt="screenshot of the incognito mode homepage" src="https://cdn.mos.cms.futurecdn.net/ghR95aEQAv6aDrgJUZVvvh-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text"><em><strong>Incognito mode's landing page, as of August 2026.</strong></em> </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>In fact, following that massive lawsuit I mentioned earlier, Google had to change the official warning page in Chrome to explicitly admit this. It now reads: "This won't change how data is collected by websites you visit and the services they use, including Google." </p><p>Essentially, they had to confess on-screen that the data collection doesn't stop.</p><h2 id="is-incognito-mode-still-worth-using">Is Incognito mode still worth using?</h2><p>Whether you should use Incognito boils down to what you expect from it.<strong> </strong>If you care about what other people using your device can see, it's perfect. It's also great for logging into different email accounts, getting around article limits on news sites, or stopping your YouTube algorithm from being ruined because you wanted to watch one weird video.</p><p>However, Incognito does not give you <em>any</em> kind of meaningful digital privacy. For any entity that has control over your connection – notably your ISP, school, or workplace – there's no difference at all between using Incognito and rawdogging it with a logged-in Chrome tab. </p><p>It's the same story for the sites you visit. Your IP and any device identifiers are still available to see, so it's very easy to link this activity with anything else you've done online. At the end of the day, Incognito only hides your tracks from the person sitting next to you – not the rest of the world.</p><p>For genuine privacy, I recommend using tools that actually secure your connection. Use one of the <a href="https://www.tomsguide.com/best-picks/best-vpn">best VPNs</a> to hide your activity from your ISP and change your IP address, and consider switching to a browser like <a href="https://www.tomsguide.com/news/brave-search-browser-default">Brave</a> or <a href="https://www.tomsguide.com/uk/tag/firefox">Firefox</a> that blocks tracking by default. <a href="https://www.tomsguide.com/round-up/best-adblockers-privacy-extensions">Ad and tracker blockers</a> are also good – there are plenty available for free – and finally, keep everything updated, including Chrome. New releases address the most recent issues, so it's good to stay on top of this.</p><p>In short, it's certainly not in Google's best interest to provide you with a tool that strips away the possibility of data collection. There are still eyes behind the famous fedora and sunglasses – and they're always watching.</p><div data-widget-type="multimodelreview" data-model-name="NordVPN,Surfshark,Proton VPN"></div><p>We test and review VPN services in the context of legal recreational uses. For example:1. Accessing a service from another country (subject to the terms and conditions of that service).2. Protecting your online security and strengthening your online privacy when abroad.We do not support or condone the illegal or malicious use of VPN services. Consuming pirated content that is paid-for is neither endorsed nor approved by Future Publishing.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/online-security/incognito-mode-is-a-total-lie-and-it-cost-google-5-billion</link>
                                                                            <description>
                            <![CDATA[ Google Chrome's Incognito mode presents itself as a privacy-first way to browse the web. Here, VPN Editor Mo Harber-Lamond explores why this couldn't be further from the truth. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">PYEVA3RvkoeYnxFttJPvmc</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/o9WxN7u9aE7zd5TXdYid5K-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 01 Aug 2026 04:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Online Security]]></category>
                                                    <category><![CDATA[Browsers]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                                    <dc:creator><![CDATA[ Mo Harber-Lamond ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/e5z29XBdy9KTwJ4GsGoUsH-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;As VPN editor at Tom&#039;s Guide, Mo manages the three-strong VPN team and oversees a busy weekly content schedule of VPN, privacy, and cybersecurity news, reviews, and advice. He&#039;s a daily VPN user himself – typically NordVPN or ExpressVPN – and a regular reviewer of all the leading services: you’ll find his latest recommendations in Tom’s Guide’s &lt;a href=&quot;https://www.tomsguide.com/best-picks/best-vpn&quot;&gt;best VPN&lt;/a&gt; and &lt;a href=&quot;https://www.tomsguide.com/best-picks/best-free-vpn&quot;&gt;best free VPN&lt;/a&gt; guides. &lt;/p&gt;&lt;p&gt;Mo is committed to helping people choose the right VPN for their needs, and takes a meticulous, data-driven approach to Tom’s Guide’s testing processes to ensure that he and his team can make confident VPN recommendations that are grounded in thorough, real-world testing. &lt;/p&gt;&lt;p&gt;Whether he’s analyzing advanced privacy features like obfuscation and split tunneling, connection speeds across different protocols such as WireGuard and OpenVPN, or compatibility across different devices, Mo has clocked up hundreds of hours over the last half-decade interrogating the claims made by leading and lesser-known VPN providers.&lt;/p&gt;&lt;p&gt;Mo&#039;s newest venture is launching &lt;a href=&quot;https://www.youtube.com/@The.PrivacyLab&quot; target=&quot;_blank&quot;&gt;The Privacy Lab&lt;/a&gt; on YouTube. Focusing on general digital privacy – including VPNs, of course – The Privacy Lab aims to make staying safer online more accessible. Expect explainers, recommendations, and longer deep-dives into important privacy stories.&lt;/p&gt;&lt;p&gt;Outside of his role at Tom’s Guide, Mo has contributed to a number of leading tech publications on VPN and privacy issues, including &lt;a href=&quot;https://www.techradar.com/author/mo-harber-lamond&quot;&gt;TechRadar&lt;/a&gt;, &lt;a href=&quot;https://www.whathifi.com/author/mo-harber-lamond&quot;&gt;What Hi-Fi?&lt;/a&gt; and &lt;a href=&quot;https://www.t3.com/author/mo-harber-lamond&quot;&gt;T3&lt;/a&gt;, developing his position as a trusted voice in the field. &lt;/p&gt;&lt;p&gt;He graduated with First Class honours in English Literature and Creative Writing from Manchester University in the UK, and before joining the Tom&#039;s Guide team, worked for several years in creative and editorial writing. Alongside this, he side-hustled as a proofreader and copy editor – honing his skills in communicating complex information clearly – all the while gaining notoriety (if not success) with his band in his homeland of Cornwall.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/o9WxN7u9aE7zd5TXdYid5K-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Two incognito mode logos, one switched on, one switched off.]]></media:description>                                                            <media:text><![CDATA[Two incognito mode logos, one switched on, one switched off.]]></media:text>
                                <media:title type="plain"><![CDATA[Two incognito mode logos, one switched on, one switched off.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/o9WxN7u9aE7zd5TXdYid5K-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/YJJ28gMyH_I" allowfullscreen></iframe></div></div><p><em><strong>You can watch this article as a video on </strong></em><a href="https://youtu.be/YJJ28gMyH_I" target="_blank"><em><strong>The Privacy Lab's YouTube channel</strong></em></a><em><strong>.</strong></em></p><p>Five billion dollars. That's how much Google agreed to pay after being <a href="https://www.tomsguide.com/news/google-facing-dollar5-billion-chrome-incognito-mode-lawsuit-what-you-need-to-know">caught tracking millions of users</a> who thought they were browsing privately with Incognito mode. During the lawsuit, quotes from Google’s own employees emerged, calling<strong> </strong>Incognito "<a href="https://www.bbc.co.uk/news/business-68709119" target="_blank" rel="nofollow">effectively a lie</a>" and a "confusing mess." </p><p>Even Google's Chief Marketing Officer warned the CEO that they had to use "fuzzy, hedging language" because, in her own words, "<a href="https://www.bloomberg.com/news/articles/2022-10-11/google-s-incognito-inspires-staff-jokes-and-a-big-lawsuit?embedded-checkout=true" target="_blank" rel="nofollow">it's not truly private</a>."</p><p>I think Incognito mode is one of the most successful illusions in tech history. So, I'm going to strip it back to look at what Google Chrome actually does to protect your data, what Incognito mode completely fails to do, and the steps you can take to stay genuinely safe online. </p><h2 id="credit-where-it-s-due">Credit where it's due</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FsE6DaLYHWfHhsBJj8hhaJ" name="chrome.GettyImages-1211180803.edit2" alt="Chrome" src="https://cdn.mos.cms.futurecdn.net/FsE6DaLYHWfHhsBJj8hhaJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>It's important to be fair to Google here, even though it might feel a <em>bit</em> wrong: Chrome is actually a fairly secure web browser when it comes to keeping you safe from hackers and malware. </p><p>Importantly, it makes sure you use HTTPS, which encrypts the data that passes between your device and the websites you visit. This means that even if you connect to a dodgy Wi-Fi hotspot and someone is monitoring the connection, they can't steal your passwords or read your traffic. Plus, it warns you if you click on unencrypted HTTP links. Because Chrome and most other modern browsers do this, the classic "<a href="https://www.tomsguide.com/computing/online-security/what-is-a-man-in-the-middle-attack">man in the middle</a>" attack is very rare nowadays.</p><p>Chrome also features Secure DNS, as well as tab sandboxing. The latter isolates every browser tab so a malicious site can't jump to another and steal data. But the problem isn't Chrome's security. The problem is what happens when you click on Incognito.</p><h2 id="what-incognito-mode-is-good-for">What Incognito mode is good for</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:57.10%;"><img id="PL4sQMJGZzvYUogUairdX3" name="chrome-incognito-shst.jpg" alt="A screenshot of the opening page of Chrome's Incognito Mode." src="https://cdn.mos.cms.futurecdn.net/PL4sQMJGZzvYUogUairdX3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="571" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sam Kresslein/Shutterstock)</span></figcaption></figure><p>Incognito mode is not built for network stealth – it just keeps your browser tidy. When you open an Incognito tab, your browser stops recording some data. It doesn't save your activity in history, doesn't save auto-fills, and blocks third-party cookies</p><p>For example, if you're shopping for a birthday present or visiting… <em>certain</em> <em>sites</em> you'd rather not have saved in your history, Incognito mode works perfectly. It stops someone else who uses the same device from seeing what sites you've visited. However, this is exactly where its power ends.</p><h2 id="where-incognito-fails">Where Incognito fails</h2><p>Everything falls apart the moment your data leaves your device – Incognito mode does nothing to hide your identity from the outside world. Your internet provider can still log the domain names you connect to, and if you're browsing on a work or school network, they can see every single site you visit.</p><p>Most worryingly, the websites you visit can still track you. They can record your real IP address, and if they use something like Google Analytics, they can instantly tie your "private" session to your existing digital profile. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ghR95aEQAv6aDrgJUZVvvh" name="Incognito screenshot" alt="screenshot of the incognito mode homepage" src="https://cdn.mos.cms.futurecdn.net/ghR95aEQAv6aDrgJUZVvvh-1920-80.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text"><em><strong>Incognito mode's landing page, as of August 2026.</strong></em> </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>In fact, following that massive lawsuit I mentioned earlier, Google had to change the official warning page in Chrome to explicitly admit this. It now reads: "This won't change how data is collected by websites you visit and the services they use, including Google." </p><p>Essentially, they had to confess on-screen that the data collection doesn't stop.</p><h2 id="is-incognito-mode-still-worth-using">Is Incognito mode still worth using?</h2><p>Whether you should use Incognito boils down to what you expect from it.<strong> </strong>If you care about what other people using your device can see, it's perfect. It's also great for logging into different email accounts, getting around article limits on news sites, or stopping your YouTube algorithm from being ruined because you wanted to watch one weird video.</p><p>However, Incognito does not give you <em>any</em> kind of meaningful digital privacy. For any entity that has control over your connection – notably your ISP, school, or workplace – there's no difference at all between using Incognito and rawdogging it with a logged-in Chrome tab. </p><p>It's the same story for the sites you visit. Your IP and any device identifiers are still available to see, so it's very easy to link this activity with anything else you've done online. At the end of the day, Incognito only hides your tracks from the person sitting next to you – not the rest of the world.</p><p>For genuine privacy, I recommend using tools that actually secure your connection. Use one of the <a href="https://www.tomsguide.com/best-picks/best-vpn">best VPNs</a> to hide your activity from your ISP and change your IP address, and consider switching to a browser like <a href="https://www.tomsguide.com/news/brave-search-browser-default">Brave</a> or <a href="https://www.tomsguide.com/uk/tag/firefox">Firefox</a> that blocks tracking by default. <a href="https://www.tomsguide.com/round-up/best-adblockers-privacy-extensions">Ad and tracker blockers</a> are also good – there are plenty available for free – and finally, keep everything updated, including Chrome. New releases address the most recent issues, so it's good to stay on top of this.</p><p>In short, it's certainly not in Google's best interest to provide you with a tool that strips away the possibility of data collection. There are still eyes behind the famous fedora and sunglasses – and they're always watching.</p><div data-widget-type="multimodelreview" data-model-name="NordVPN,Surfshark,Proton VPN"></div><p>We test and review VPN services in the context of legal recreational uses. For example:1. Accessing a service from another country (subject to the terms and conditions of that service).2. Protecting your online security and strengthening your online privacy when abroad.We do not support or condone the illegal or malicious use of VPN services. Consuming pirated content that is paid-for is neither endorsed nor approved by Future Publishing.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested Starlink-powered 4G on my phone — here's what actually happened in a dead zone ]]></title>
                                                                                                <dc:content><![CDATA[ <p><a href="https://www.tomsguide.com/news/starlink-coverage-map-revealed-heres-where-people-are-using-the-service">Satellite-based internet</a> is nothing new, but the idea of getting satellite internet on your phone is something that has eluded us for a while. A number of smartphones now offer satellite connectivity of some kind, but that's mostly reserved for emergency situations, but the real question is, when will we be able to ditch cellular service and beam our mobile data from space?</p><p>Big tech has already been mulling over this idea for a while now. Elon Musk has <a href="https://www.reuters.com/business/media-telecom/musks-spacex-targets-us-consumers-with-starlink-mobile-service-push-ft-reports-2026-06-26/" target="_blank">talked about making</a> Starlink a direct-to-cell service. And just this week <a href="https://www.semafor.com/article/07/29/2026/spacex-looks-to-compete-with-the-carriers?utm_source=tldrnewsletter" target="_blank">Semafor</a> reported that SpaceX (the parent company of Starlink) may be looking to acquire spectrum at government auction to compete directly with AT&T, Verizon and T-Mobile. Or it may decide to acquire another wireless carrier altogether.</p><p>Meanwhile, <a href="https://www.ft.com/content/83e93ce0-1ebd-4b04-a70c-82ff7b64a5f4?syn-25a6b1a6=1#" target="_blank">Amazon</a> has filed an application to launch its own satellite-based internet service. Fortunately, we don't have to wait for the to get their act together, because carriers around the world have started offering satellite services to their customers.</p><p>Being the curious type, I decided to give one a go and see whether it was actually worth signing up for full time.</p><h2 id="how-satellite-4g-works">How satellite 4G works</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pcknePfYXoBQFhLBS55wTc" name="PXL_20260725_113038308" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/pcknePfYXoBQFhLBS55wTc-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Those reading this from the U.S. may be aware that T-Mobile <a href="https://www.t-mobile.com/coverage/satellite-phone-service" target="_blank" rel="nofollow">offers</a> a satellite service powered by Starlink. I live in the U.K., and naturally don't have access to T-Mobile, but the <a href="https://www.o2.co.uk/satellite" target="_blank" rel="nofollow">carrier O2</a> offers a similar service as an optional extra. This extra is also powered by Starlink, costs £3/$4 a month, and gives you access to satellite-based 4G should you find yourself without a cell signal or Wi-Fi connection.</p><p>That lack of additional connectivity is crucial to the whole process, because of the way modern smartphones connect to satellites. If there is another form of data connection, be it cellular or Wi-Fi, then the phone will refuse to look for a satellite. The satellite is essentially a last port of call to get your device connected.</p><p>This has led to some amusing instances of my phone looking for a satellite when there's zero chance of making a connection — such as when I was traveling several feet underground on the London Underground's Central Line. That's because I disconnected from cell service for more than a few seconds.</p><h2 id="finding-the-right-spot">Finding the right spot</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1198px;"><p class="vanilla-image-block" style="padding-top:65.19%;"><img id="4XSjScp6yJJWQk5Le2GCrP" name="Screenshot 2026-07-30 115658" alt="O2 4g coverage map south east" src="https://cdn.mos.cms.futurecdn.net/4XSjScp6yJJWQk5Le2GCrP-1920-80.png" mos="" align="middle" fullscreen="" width="1198" height="781" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Blue is good, orange is ok and white is complete loss of service </span><span class="credit" itemprop="copyrightHolder">(Image credit: O2)</span></figcaption></figure><p>Surprisingly, the connectivity aspect actually caused a problem for me, because O2's outdoor 4G coverage is surprisingly good in my part of the country. There are plenty of areas in the U.K. that don't get any 4G cell signal, let alone 5G, but the <a href="https://www.o2.co.uk/coveragechecker" target="_blank" rel="nofollow"><u>official coverage map</u></a> shows they're mainly in very rural areas — notably mountainous regions of Wales, Scotland and Northern England. </p><p>I live in the South East, roughly around 40 miles from central London. Anyone from different parts of England will be well aware that this is the region where most of the money goes. So, even though I live in a village in a fairly rural area, the cell signal is remarkably robust when you're using an O2 SIM card.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RN9vc89cmMLEAeVzGni5ac" name="PXL_20260725_112402829" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/RN9vc89cmMLEAeVzGni5ac-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>That's not to say 4G connectivity is universally available. There are various dead spots scattered around the place, according to both O2's own coverage checked and the <a href="https://www.ofcom.org.uk/mobile-coverage-checker" target="_blank">independent map </a>from mobile regulator Ofcom. </p><p>I just had to find one that intersected with a road, ideally one that had ample space to pull over and let me play on my phone. If you've had any experience with British country roads, you'll know that they're often too narrow to do this safely. </p><p>Thankfully, I found a spot roughly 30 minutes away by car. Not only is it a good-size deadspot, it also contains a pub with a sizable parking lot. There are certainly worse places to stop and test some new phone features.</p><h2 id="the-actual-connection-is-easy-and-automatic">The actual connection is easy and automatic</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JbFx5CXBHBPkkK9bMcwJac" name="PXL_20260725_112359792" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/JbFx5CXBHBPkkK9bMcwJac-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It took a couple of minutes to drive through the deadspot and park my car, by which point my Galaxy S26 Ultra had already connected to Starlink's satellites. That was rather surprising, considering that satellite connectivity typically needs a direct view of the sky to actually make the connection.</p><p>And no, before anyone asks, my car does not have a sun roof. It's totally solid, though I'm unsure of what materials were actually involved in its construction.</p><p>Admittedly, the signal wasn't particularly strong inside the car, illustrated as one bar out of three in the S26 Ultra's status bar. This doesn't change the fact that my phone was connected to the satellite through the car roof, and was receiving data from some Starlink satellite in space.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2240px;"><p class="vanilla-image-block" style="padding-top:60.27%;"><img id="T6xE2b5etvDVXGYGzfBHvS" name="Untitled-1 copy.JPG" alt="using 4g over satellite" src="https://cdn.mos.cms.futurecdn.net/T6xE2b5etvDVXGYGzfBHvS-1920-80.jpg" mos="" align="middle" fullscreen="" width="2240" height="1350" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>My next move was to stick the phone out of my window and raise it up towards the sky. It took about a minute for the S26 Ultra to register that circumstances had changed, and there were no obstacles in the way — at which point the signal jumped up to two bars. </p><p>It never hit three bars, though, despite the fact I was in an open area with relatively clear skies. I should also note that moving inside the pub, a 350-year old building with a thatched roof, cut off all access to the satellite. So while the signal may be able to penetrate my car, it isn't magic.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dFWP6PdLdWD6JSDVZKJwZc" name="PXL_20260725_112408008" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/dFWP6PdLdWD6JSDVZKJwZc-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Accessing <a href="https://www.tomsguide.com/news/how-to-use-google-maps">Google Maps</a> from inside my car was a slightly drawn out affair. The app warned me that it was connected to the satellite, with lower loading times, and it took between 30 and 60 seconds for the actual map interface to load up fully. Shifting things outside and the load times were significantly reduced, though nowhere near as quick as they are with a 4G connection, let alone 5G.</p><p>So you're not going to be tapping your feet staring at your phone waiting for an all-important app to load over the course of several minutes. But your speeds aren't going to be as instantaneous as they might be with full bars of cell signal.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XjaEaO"></div>                            </div>                            <script src="https://kwizly.com/embed/XjaEaO.js" async></script><h2 id="this-isn-t-unrestricted-4g-like-you-re-used-to">This isn't unrestricted 4G like you're used to</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2TDkkh3fLyKXHCQzRu2qac" name="PXL_20260725_112542141" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/2TDkkh3fLyKXHCQzRu2qac-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It was a surprisingly effective system, though the main drawback is that there are limitations on the apps you're able to use. These limitations seem to have been coded in at a system level by your phone rather than by the carrier. My personal guess is that this is due to modern phones treating satellite connectivity as an emergency feature, rather than a stable source of data.</p><p>This means that you will only be able to use the bare minimum of apps you need to communicate, navigate and potentially allow yourself to be found in an emergency. We're talking about things like Google Maps, Google Find Hub, Messages and the weather. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Q29W3qAJLdrTPZnNRuQriS" name="satellite1.JPG" alt="using 4g over satellite" src="https://cdn.mos.cms.futurecdn.net/Q29W3qAJLdrTPZnNRuQriS-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The latter may seem like an odd choice, but if you're out in the sticks by yourself with no vehicle or shelter, being able to keep tabs on the weather is essential. It could be the difference between you being stuck in a freak storm and finding somewhere to hunker down and ride it out in relative safety.</p><p>Your more frivolous apps, like social media and web browsers, are all disconnected and behave as though you don't have any active data connection. So don't expect to be sitting on a mountain somewhere catching up on your favorite Netflix series. That's not what this system is for, and the app straight up won't work if you try it.</p><p>Likewise, any third-party apps that could prove useful in precarious situations, such as mapping apps, still behave as though they are offline. The good news for wilderness-enthusiasts is that you can still get GPS with no data, but if assets haven't loaded, or are hilariously out of date, then the lack of data to update could end up being a problem.</p><h2 id="a-fantastic-backup-tool-but-it-s-not-replacing-cell-service-yet">A fantastic backup tool, but it's not replacing cell service yet</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kvmLGEA874pjyQVDihV5ac" name="PXL_20260725_112346025" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/kvmLGEA874pjyQVDihV5ac-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you live out in a deadspot, or regularly find yourself in one, then gaining satellite access through your carrier is not going to make up for the fact there's no cell signal. The limitations in what the satellite connection can or can't do means that it's not a true replacement for cell service in the way a full Starlink setup would be for home internet.</p><p>But this sure as heck beats being stuck with zero access to the internet. Carrier-supplied 4G may not be able to give you access to web browsers and streaming, but it keeps you hooked into the apps that you might actually need in a pinch. In short, it means that you will always be able to reach the outside world in the event that you desperately need to.</p><p>Some may not like the fact that it's getting harder and harder to disconnect, but this means that you won't be stuck in the middle of nowhere without support. The fact that satellite access still worked in my car, and loaded up Google Maps, will easily be a major boon for navigating areas with little to no cell service. Which isn't a bad deal for $4 a month (or $10 a month with T-Mobile).</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/i-turned-my-iphone-screen-completely-gray-for-two-weeks-heres-how-making-it-boring-helped-me-get-my-brain-back">I turned my iPhone screen completely gray for two weeks — here's how making it boring helped me get my brain back</a></li><li><a href="https://www.tomsguide.com/phones/i-shot-the-same-25-photos-with-a-usd329-budget-phone-and-usd1-199-flagship-heres-the-results">I shot the same 25 photos with a $329 budget phone and $1,199 flagship — here's the results</a></li><li><a href="https://www.tomsguide.com/phones/i-got-sick-of-buying-cases-for-my-phones-so-i-decided-to-3d-print-them-at-home-heres-what-happened">I got sick of buying cases for my phones, so I decided to 3D print them at home — here's what happened</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/network-carriers/i-tested-starlink-powered-4g-on-my-phone-heres-what-actually-happened-in-a-dead-zone</link>
                                                                            <description>
                            <![CDATA[ Carriers around the world now offer plans with 4G satellite data when normal service isn't available. Curious as to what it was like, I drove into the sticks to find out what it was like. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kcLRdz8d3RPfh6VKGLoZAd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/7ZkrNW59zysDZ5wUTkqqHc-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 30 Jul 2026 13:55:05 +0000</pubDate>                                                                                                                                <updated>Thu, 30 Jul 2026 13:55:11 +0000</updated>
                                                                                                                                            <category><![CDATA[Network Carriers]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/7ZkrNW59zysDZ5wUTkqqHc-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[4g connection over satellite on galaxy s26 ultra]]></media:description>                                                            <media:text><![CDATA[4g connection over satellite on galaxy s26 ultra]]></media:text>
                                <media:title type="plain"><![CDATA[4g connection over satellite on galaxy s26 ultra]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/7ZkrNW59zysDZ5wUTkqqHc-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.tomsguide.com/news/starlink-coverage-map-revealed-heres-where-people-are-using-the-service">Satellite-based internet</a> is nothing new, but the idea of getting satellite internet on your phone is something that has eluded us for a while. A number of smartphones now offer satellite connectivity of some kind, but that's mostly reserved for emergency situations, but the real question is, when will we be able to ditch cellular service and beam our mobile data from space?</p><p>Big tech has already been mulling over this idea for a while now. Elon Musk has <a href="https://www.reuters.com/business/media-telecom/musks-spacex-targets-us-consumers-with-starlink-mobile-service-push-ft-reports-2026-06-26/" target="_blank">talked about making</a> Starlink a direct-to-cell service. And just this week <a href="https://www.semafor.com/article/07/29/2026/spacex-looks-to-compete-with-the-carriers?utm_source=tldrnewsletter" target="_blank">Semafor</a> reported that SpaceX (the parent company of Starlink) may be looking to acquire spectrum at government auction to compete directly with AT&T, Verizon and T-Mobile. Or it may decide to acquire another wireless carrier altogether.</p><p>Meanwhile, <a href="https://www.ft.com/content/83e93ce0-1ebd-4b04-a70c-82ff7b64a5f4?syn-25a6b1a6=1#" target="_blank">Amazon</a> has filed an application to launch its own satellite-based internet service. Fortunately, we don't have to wait for the to get their act together, because carriers around the world have started offering satellite services to their customers.</p><p>Being the curious type, I decided to give one a go and see whether it was actually worth signing up for full time.</p><h2 id="how-satellite-4g-works">How satellite 4G works</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pcknePfYXoBQFhLBS55wTc" name="PXL_20260725_113038308" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/pcknePfYXoBQFhLBS55wTc-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Those reading this from the U.S. may be aware that T-Mobile <a href="https://www.t-mobile.com/coverage/satellite-phone-service" target="_blank" rel="nofollow">offers</a> a satellite service powered by Starlink. I live in the U.K., and naturally don't have access to T-Mobile, but the <a href="https://www.o2.co.uk/satellite" target="_blank" rel="nofollow">carrier O2</a> offers a similar service as an optional extra. This extra is also powered by Starlink, costs £3/$4 a month, and gives you access to satellite-based 4G should you find yourself without a cell signal or Wi-Fi connection.</p><p>That lack of additional connectivity is crucial to the whole process, because of the way modern smartphones connect to satellites. If there is another form of data connection, be it cellular or Wi-Fi, then the phone will refuse to look for a satellite. The satellite is essentially a last port of call to get your device connected.</p><p>This has led to some amusing instances of my phone looking for a satellite when there's zero chance of making a connection — such as when I was traveling several feet underground on the London Underground's Central Line. That's because I disconnected from cell service for more than a few seconds.</p><h2 id="finding-the-right-spot">Finding the right spot</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1198px;"><p class="vanilla-image-block" style="padding-top:65.19%;"><img id="4XSjScp6yJJWQk5Le2GCrP" name="Screenshot 2026-07-30 115658" alt="O2 4g coverage map south east" src="https://cdn.mos.cms.futurecdn.net/4XSjScp6yJJWQk5Le2GCrP-1920-80.png" mos="" align="middle" fullscreen="" width="1198" height="781" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Blue is good, orange is ok and white is complete loss of service </span><span class="credit" itemprop="copyrightHolder">(Image credit: O2)</span></figcaption></figure><p>Surprisingly, the connectivity aspect actually caused a problem for me, because O2's outdoor 4G coverage is surprisingly good in my part of the country. There are plenty of areas in the U.K. that don't get any 4G cell signal, let alone 5G, but the <a href="https://www.o2.co.uk/coveragechecker" target="_blank" rel="nofollow"><u>official coverage map</u></a> shows they're mainly in very rural areas — notably mountainous regions of Wales, Scotland and Northern England. </p><p>I live in the South East, roughly around 40 miles from central London. Anyone from different parts of England will be well aware that this is the region where most of the money goes. So, even though I live in a village in a fairly rural area, the cell signal is remarkably robust when you're using an O2 SIM card.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RN9vc89cmMLEAeVzGni5ac" name="PXL_20260725_112402829" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/RN9vc89cmMLEAeVzGni5ac-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>That's not to say 4G connectivity is universally available. There are various dead spots scattered around the place, according to both O2's own coverage checked and the <a href="https://www.ofcom.org.uk/mobile-coverage-checker" target="_blank">independent map </a>from mobile regulator Ofcom. </p><p>I just had to find one that intersected with a road, ideally one that had ample space to pull over and let me play on my phone. If you've had any experience with British country roads, you'll know that they're often too narrow to do this safely. </p><p>Thankfully, I found a spot roughly 30 minutes away by car. Not only is it a good-size deadspot, it also contains a pub with a sizable parking lot. There are certainly worse places to stop and test some new phone features.</p><h2 id="the-actual-connection-is-easy-and-automatic">The actual connection is easy and automatic</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JbFx5CXBHBPkkK9bMcwJac" name="PXL_20260725_112359792" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/JbFx5CXBHBPkkK9bMcwJac-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It took a couple of minutes to drive through the deadspot and park my car, by which point my Galaxy S26 Ultra had already connected to Starlink's satellites. That was rather surprising, considering that satellite connectivity typically needs a direct view of the sky to actually make the connection.</p><p>And no, before anyone asks, my car does not have a sun roof. It's totally solid, though I'm unsure of what materials were actually involved in its construction.</p><p>Admittedly, the signal wasn't particularly strong inside the car, illustrated as one bar out of three in the S26 Ultra's status bar. This doesn't change the fact that my phone was connected to the satellite through the car roof, and was receiving data from some Starlink satellite in space.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2240px;"><p class="vanilla-image-block" style="padding-top:60.27%;"><img id="T6xE2b5etvDVXGYGzfBHvS" name="Untitled-1 copy.JPG" alt="using 4g over satellite" src="https://cdn.mos.cms.futurecdn.net/T6xE2b5etvDVXGYGzfBHvS-1920-80.jpg" mos="" align="middle" fullscreen="" width="2240" height="1350" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>My next move was to stick the phone out of my window and raise it up towards the sky. It took about a minute for the S26 Ultra to register that circumstances had changed, and there were no obstacles in the way — at which point the signal jumped up to two bars. </p><p>It never hit three bars, though, despite the fact I was in an open area with relatively clear skies. I should also note that moving inside the pub, a 350-year old building with a thatched roof, cut off all access to the satellite. So while the signal may be able to penetrate my car, it isn't magic.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dFWP6PdLdWD6JSDVZKJwZc" name="PXL_20260725_112408008" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/dFWP6PdLdWD6JSDVZKJwZc-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Accessing <a href="https://www.tomsguide.com/news/how-to-use-google-maps">Google Maps</a> from inside my car was a slightly drawn out affair. The app warned me that it was connected to the satellite, with lower loading times, and it took between 30 and 60 seconds for the actual map interface to load up fully. Shifting things outside and the load times were significantly reduced, though nowhere near as quick as they are with a 4G connection, let alone 5G.</p><p>So you're not going to be tapping your feet staring at your phone waiting for an all-important app to load over the course of several minutes. But your speeds aren't going to be as instantaneous as they might be with full bars of cell signal.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XjaEaO"></div>                            </div>                            <script src="https://kwizly.com/embed/XjaEaO.js" async></script><h2 id="this-isn-t-unrestricted-4g-like-you-re-used-to">This isn't unrestricted 4G like you're used to</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2TDkkh3fLyKXHCQzRu2qac" name="PXL_20260725_112542141" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/2TDkkh3fLyKXHCQzRu2qac-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It was a surprisingly effective system, though the main drawback is that there are limitations on the apps you're able to use. These limitations seem to have been coded in at a system level by your phone rather than by the carrier. My personal guess is that this is due to modern phones treating satellite connectivity as an emergency feature, rather than a stable source of data.</p><p>This means that you will only be able to use the bare minimum of apps you need to communicate, navigate and potentially allow yourself to be found in an emergency. We're talking about things like Google Maps, Google Find Hub, Messages and the weather. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Q29W3qAJLdrTPZnNRuQriS" name="satellite1.JPG" alt="using 4g over satellite" src="https://cdn.mos.cms.futurecdn.net/Q29W3qAJLdrTPZnNRuQriS-1920-80.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The latter may seem like an odd choice, but if you're out in the sticks by yourself with no vehicle or shelter, being able to keep tabs on the weather is essential. It could be the difference between you being stuck in a freak storm and finding somewhere to hunker down and ride it out in relative safety.</p><p>Your more frivolous apps, like social media and web browsers, are all disconnected and behave as though you don't have any active data connection. So don't expect to be sitting on a mountain somewhere catching up on your favorite Netflix series. That's not what this system is for, and the app straight up won't work if you try it.</p><p>Likewise, any third-party apps that could prove useful in precarious situations, such as mapping apps, still behave as though they are offline. The good news for wilderness-enthusiasts is that you can still get GPS with no data, but if assets haven't loaded, or are hilariously out of date, then the lack of data to update could end up being a problem.</p><h2 id="a-fantastic-backup-tool-but-it-s-not-replacing-cell-service-yet">A fantastic backup tool, but it's not replacing cell service yet</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kvmLGEA874pjyQVDihV5ac" name="PXL_20260725_112346025" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/kvmLGEA874pjyQVDihV5ac-1920-80.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you live out in a deadspot, or regularly find yourself in one, then gaining satellite access through your carrier is not going to make up for the fact there's no cell signal. The limitations in what the satellite connection can or can't do means that it's not a true replacement for cell service in the way a full Starlink setup would be for home internet.</p><p>But this sure as heck beats being stuck with zero access to the internet. Carrier-supplied 4G may not be able to give you access to web browsers and streaming, but it keeps you hooked into the apps that you might actually need in a pinch. In short, it means that you will always be able to reach the outside world in the event that you desperately need to.</p><p>Some may not like the fact that it's getting harder and harder to disconnect, but this means that you won't be stuck in the middle of nowhere without support. The fact that satellite access still worked in my car, and loaded up Google Maps, will easily be a major boon for navigating areas with little to no cell service. Which isn't a bad deal for $4 a month (or $10 a month with T-Mobile).</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/i-turned-my-iphone-screen-completely-gray-for-two-weeks-heres-how-making-it-boring-helped-me-get-my-brain-back">I turned my iPhone screen completely gray for two weeks — here's how making it boring helped me get my brain back</a></li><li><a href="https://www.tomsguide.com/phones/i-shot-the-same-25-photos-with-a-usd329-budget-phone-and-usd1-199-flagship-heres-the-results">I shot the same 25 photos with a $329 budget phone and $1,199 flagship — here's the results</a></li><li><a href="https://www.tomsguide.com/phones/i-got-sick-of-buying-cases-for-my-phones-so-i-decided-to-3d-print-them-at-home-heres-what-happened">I got sick of buying cases for my phones, so I decided to 3D print them at home — here's what happened</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>