Cursor has patched a high-severity Windows vulnerability that allowed malicious Git repositories to execute code, highlighting security risks in AI coding environments.
The post Cursor Quietly Patches High-Severity Git Vulnerability After Seven-Month Delay appeared first on TechRepublic.
Imagine a world where the most powerful weapon isn't a missile, but a software update. In less than 72 hours, a software engineer can patch a drone on the front line and turn an enemy's multi-million-dollar electronic warfare system into little more than expensive scrap.
This isn't science fiction but an everyday reality inside Ukraine’s real-time military tech pipeline. Driven by the necessity of national survival, a decentralized network of coders, startup founders, and makers has bypassed decades of slow defense bureaucracy.
At the heart of this transformation is Brave1, Ukraine's defense innovation engine, where software developers, startups, soldiers, and investors collaborate at startup speed to solve battlefield problems. In the newly launched Brave1 Market, an ecommerce-style procurement catalog, combat success earns digital "ePoints," public rankings fuel competition, and rewards are reinvested into even more powerful technology.
It’s no surprise that Brave1’s success has attracted global attention, with aerospace giant Airbus partnering with the platform to connect aerospace expertise with this next-gen defense ecosystem. Also backed by big-data titan Palantir, the new Brave1 Dataroom acts as a secure data pipeline, streaming raw battlefield video and thermal imagery directly to developers training AI targeting models.
Now, we can forget all about old-school defense programs and endless procurement cycles. The future of warfare is open source, software-defined, and moving at the warp speed of a Silicon Valley startup.
Why traditional military tech procurement is failingThe traditional model of military procurement is running on outdated code. For over half a century, the Western defense industry has been building bigger, better, and increasingly expensive "exquisite beasts" - fighter jets, aircraft carriers, and heavy armor, each taking a decade to design and deploy.
Under this system, the pipeline is painfully slow. Governments can spend years defining specifications, years selecting contractors, and years more building the hardware.
By the time it reaches the battlefield, the software inside is often two decades out of date and locked behind proprietary code that can't be modified without years of legal renegotiations. As The Wall Street Journal recently reported, traditional defense structures struggle to absorb the rapid pace of software and startup-led innovation.
This peacetime bureaucracy is breaking under the speed of modern warfare. Today's battlefield is defined less by firepower than software, where an overnight update can render even the most sophisticated missile system obsolete. Legacy defense structures simply can’t cut it for software-speed innovation. They prioritize caution and consensus, while modern defense tech is designed for speed and to survive battlefield surprises.
At its core, the old defense playbook presumes weapons are built once and fielded for decades later. But when a new battlefield threat emerges, waiting a year or two for a budget committee to approve a software patch is a recipe for defeat.
Modern warfare demands systems that can evolve every day. By decoupling software from hardware, these defense ecosystems empower thousands of developers to adapt faster than any centralized procurement committee ever could. At the forefront of this transformation is Brave1, Ukraine's open source tech cluster.
What is Brave1?If traditional defense procurement is a labyrinth of government departments and endless paperwork, Brave1 is the system built to bypass it. Co-founded by multiple Ukrainian ministries, including Digital Transformation, Defense, and Strategic Industries, this platform gives anyone with a laptop and a promising idea a path to the battlefield. It brings developers, startups, investors, and soldiers into a continuous deployment cycle.
In the old-school defense world, getting a new, innovative idea in front of the right people takes months. Brave1 acts as a secure, digitized buffer zone where developers upload their designs or code, pass automated and expert reviews, and connect directly to the problems facing Ukraine’s military.
Once a project clears Brave1’s gateway, it receives an official security rating, gets access to the centralized technology registry, and can scale research and development (R&D) grants reaching up to eight million UAH to fast-track production.
However, this high-speed model comes with its own set of challenges. When hundreds of teams are sprinting to solve battlefield problems, some will run along parallel paths, spreading funding and talent across versions of similar technology. The result is a risk of fragmented resources spread across an ecosystem built for speed and experimentation.
Still, by swapping endless military paperwork for the automated Brave1 Market, the platform ensures that promising ideas don't get stuck in red tape.
Inside Brave1’s expanding innovation networkThe speed at which Brave1 has grown turns traditional defense economics entirely on its head. What started as a bold innovation hub has evolved into a full-scale defense technology engine. Today, Brave1 brings together more than 3,200 registered companies and actively tracks over 4,500 products moving through its secure development pipeline.
Yet innovations don't win wars unless they can be implemented. Rather than relying on sluggish defense grant cycles, Brave1 has awarded 500 direct innovation grants totaling over $11 million, putting funding directly into the hands of frontline engineers and hardware startups. This pipeline is designed to bridge the notorious hardware "valley of death," where many promising technologies traditionally run out of money.
(Image credit: Brave1)The technology verticals that are reshaping the front lineInstead of focusing on billion-dollar missiles or heavy armored vehicles, Brave1 targets technologies that are reshaping modern warfare. Its product catalog spans a wide scope of specialized, software-driven technology verticals, including:
However, the ecosystem's biggest advantage is also one of its technical hurdles. Thousands of independent systems must work seamlessly together, on the same battlefield, requiring constant software integration so drones, electronic warfare systems, and ground robots can form a synchronized network.
The outstandingly open ecosystemUnlike traditional defense programs built around closed systems and proprietary codebases, Brave1 embraces an open ecosystem framework inspired by the world of open-source software.
It’s no secret that traditional defense innovation is built around extreme secrecy, where companies protect their intellectual property at the cost of collective advancements. Brave1 takes a completely different course by encouraging developers to share code, 3D-printing schematics, hardware blueprints, and engineering know-how across their networks.
The open architecture is already going global. The Ukrainian government officially passed the Brave International framework to open up the ecosystem to allied defense partners. Brave France, developed alongside the French Defence Innovation Agency (AID), pairs joint funding with battlefield testing through Test in Ukraine, fast-tracking tech innovations from lab to field.
This openness comes with a cost, and it’s a bigger cyber battlefield. Every new developer, repository, and software dependency increases the number of potential attack vectors, making zero trust a network a must. Now, rather than targeting finished weapons, sophisticated attackers focus on the software supply chain that builds them. In an ecosystem like Brave1, even a single compromised software package could cascade through countless downstream systems before a security gap is identified.
The app store model for the front lineIf Brave1 is the military’s revolutionary software stack, capital is the processing power that drives the code.
Financing innovation at the speed of warTo understand how Brave1 moves with the speed of a Silicon Valley startup, we first have to follow the money. In traditional defense networks, getting an innovation grant involves a multi-month marathon of paperwork, compliance, and risk assessment. For tech startups, this creates an administrative bottleneck better known as the "valley of death," where promising ideas collapse before they ever reach the battlefield.
Brave1 bypasses this hurdle with a decentralized, non-dilutive funding model built for wartime speed. Developers submit applications through a unified digital interface, where an inter-ministerial panel evaluates each project's potential battlefield impact. Successful applicants receive early-stage funding within weeks, allowing them to spend their time on engineering rather than filling out paperwork.
Points, rankings, and the gamification of warfareOnce a prototype is approved, it enters the Brave1 Market, a secure digital marketplace that works much like an enterprise app store for the military. Through the recently launched Buyer's Cabinet, verified commanders can browse a catalog of vetted domestic technologies, compare specifications and battlefield performance, and purchase equipment directly through the platform, dramatically shortening the journey from prototype to deployment.
Brave1 Market is bound up with Ukraine's points-based battlefield system dubbed the ePoints system, which applies game mechanics to battlefield breakthroughs. Frontline units earn these points for verified combat results, and every confirmed strike against enemy assets is recorded through military situational awareness systems. These actions feed into an active, real-time Call of Duty-style leaderboard run by the Unmanned Systems Forces, which allows onlookers to track top drone units via the military's official online killboard.
Afterward, units can redeem their accumulated ePoints as an internal digital currency directly inside the marketplace to purchase newer, more powerful drone hardware or electronic warfare (EW) kits. This type of decentralized purchasing power bypasses top-down supply chains altogether, allowing commanders to fill their digital shopping carts with the exact tools they need based on real-world performance data.
However, the system's greatest strength, its flexibility, also creates one of its biggest pain points. When individual military units have the freedom to buy specialized equipment from hundreds of small suppliers, standardizing spare parts, software support, and maintenance protocols across the entire military infrastructure becomes a serious operational challenge.
(Image credit: Brave1)The 72-hour software sprintThe main mechanism of this software-defined ecosystem is its split-second adaptability. In the world of EW, signal-jamming frequencies can change overnight, rendering entire drone fleets ineffective. Updating a weapon's electronic systems requires months of contractor negotiations, approval processes, and engineering changes, which is much slower than the speed at which modern threats evolve.
Inside the Brave1 network, this logistical nightmare is treated as a fast-paced development sprint:
While it all sounds beautiful on paper, when you move code from a lab into a muddy trench, things can get messy. As you can already guess, the real bottleneck isn’t the tech - it’s the human factor. Constantly updating software requires frontline operators to learn new configurations, radio profiles, and interfaces in high-stress situations. Requiring soldiers to run updates in the middle of a mission creates an enormous margin for error, showing that even the slickest software must ultimately work within human limits.
Battlefield beta testingTo shorten the path from prototype to deployment, Brave1 relies on the official Test in Ukraine program. Instead of spending years in laboratory simulations to clear traditional safety benchmarks, promising prototypes undergo swift safety checks before moving into live combat, turning battlefield feedback into the next immediate upgrade.
For instance, if an optical tracker fails in heavy dust or a carbon-fiber chassis breaks under stress, developers receive real-time frontline feedback. What the process gains in speed, however, it sacrifices in long-term reliability testing.
Training the AI: The combat data factoryAlgorithms mean little without a continuous stream of raw, real-world data to train them.
The battlefield as an AI training groundOn the modern software-defined battlefield, algorithm accuracy shapes survival. If code is king, then raw data is the electricity that powers the throne. To feed this infrastructure, Brave1 functions less like a traditional defense bureau and more like a colossal combat data factory. Every hour of flight telemetry, electronic warfare logs, and automated targeting footage flows continuously from the battlefield into secure engineering nodes, giving developers a steady stream of real-world data.
Together, this creates a continuous machine learning (ML) pipeline, with each mission generating new data for the next software update. According to the Ukrainian Ministry of Defense, over 100 Ukrainian companies are training AI models using the Brave1 Dataroom. At its core is a secure repository that gives developers access to structured visual and thermal data on aerial threats, all captured under real battlefield conditions.
On top of that, as highlighted by The New York Times, Ukraine has opened access to millions of drone videos and extensive battlefield telemetry, allowing both domestic developers and allied partners to train and refine new technologies using real data.
The sheer volume of this dataset is staggering. DefenseScoop reports that more than half a million hours of battlefield footage are being used to train and refine AI target-recognition algorithms. Brave1's AI models are trained on conditions that are almost impossible to recreate in a laboratory.
While Western commercial tech labs are forced to train terminal guidance AI on clean, synthetic data simulations, Brave1 developers feed their convolutional neural networks a steady diet of gritty, real footage with battlefield smoke, physical camouflage, and chaotic weather conditions. This massive collection of battlefield data helps train AI models to identify armored movements, track targets through dense terrain, and maintain navigation even when GPS signals and communications links are disrupted.
The silicon bottleneck on the edgeHowever, trying to turn the battlespace into a living supercomputer comes with severe physical constraints. The long-term objective is the deployment of automated systems that can guide hardware to targets without a human pilot or continuous communications link.
Outside the front line, running sophisticated computer vision systems means relying on massive power-hungry cloud data centers or stacks of high-end enterprise GPUs. On the battlefield, we don't have that luxury. Tech developers must shrink these massive AI models into something small enough to run on low-power, edge-computing chips and clamped onto lightweight platforms operating at the front line.
Active combat zone is the supreme stress test for AI. Models must swap complexity for raw survival, learning to work with blurry cameras, damaged sensors, and broken connections. The smartest system on paper is useless if it stops working the second the electronic environment gets ugly.
This centralized intelligence advantage doubles as a single point of failure. A repository with battlefield datasets, AI models, and software configurations from numerous defense companies is an awfully attractive target for cyber adversaries. Protecting that ecosystem demands strict zero-trust security, as a single slip-up can expose the entire network.
Bipedal robots and autonomous systemsTo take humans out of danger fields, developers are looking past basic drones to deploy agile, multi-terrain robotic platforms.
Brave1 humanoid robot program and the reality of trench AIBrave1's latest frontier is humanoid robotics. By launching a dedicated grant competition, Brave1 has formally established armed bipedal robots as their own defense technology vertical. The mission is to create near-human machines that can traverse trenches, transport supplies, and clear high-risk zones while keeping troops out of harm's way.
However, early tactical edge trials suggest that Hollywood-style humanoid robots remain a long way from battlefield reality. Prototypes struggled to carry more than 20 kilograms, offered slim protection against severe weather, and saw battery levels bleed out rapidly during demanding missions. While tech labs design robots to shuffle across flat factory floors, real combat carries an unstructured nightmare of mud, debris, and steep ditches.
In contrast, low-profile wheeled and tracked UGVs have already completed more than 50,000 frontline logistics missions, offering a cheaper and sturdier alternative. To survive the field, tech developers have chosen simplicity over sophistication.
Ruggedized software vs clean labsBuilding AI for the battlefield requires abandoning many of the assumptions of traditional software engineering. In a traditional clean lab tech stack, AI models rely on high-performance cloud infrastructure and high-quality data streams. On the front line, software must be streamlined to run locally on low-cost edge-computing chips clamped onto lightweight, plastic platforms.
This optimization is non-negotiable when looking at the sheer volume of hardware hitting the production line. In fact, the scale is so massive now that Ukraine's defense production has hit a staggering 10 million drones annually, with plans to double that to 20 million. When building at this unprecedented multi-million-unit scale, your code must be lightweight enough to run smoothly on millions of cheap, disposable devices.
Meanwhile, developers must build software that persists through blurred imagery, glitchy sensors, and dead air. A model that depends on perfect data or constant network connectivity can quickly become useless once it leaves the lab.
Ultimately, Silicon Valley can continue building software for data centers, but the battlefield must have software built for sheer survival.
Automated software countermeasuresOne of the top technical hurdles for humanoid robots isn't mobility but maintaining stable communications. Near the ground, radio signals are weakened by terrain, vegetation, and other obstacles. For a simple, two-legged platform, however, even a slight interruption can disrupt its balance, causing the entire machine to collapse.
So, what's the solution? Not building a better radio tower in the middle of a battlefield, but moving decision-making closer to it. That’s why Brave1 is pushing deterministic, edge-computing autonomy.
If the command link is lost, onboard AI instantly takes over. Using local computer vision, the system can navigate, avoid obstacles, and continue its mission without relying on GPS or a live operator link.
The evolution of electronic warfareModern electronic warfare isn't about broadcasting the strongest signal. In fact, that would be a good way to hang a giant "shoot here" sign over your own position.
Dating back to the Cold War and the post-conflict era, electronic warfare relied on powerful vehicle-mounted jammers that flooded broad sections of the radio spectrum. In contemporary conflicts, those high-emission systems have become increasingly vulnerable, as their massive radio frequency (RF) emissions can reveal their coordinates to enemy sensors and radar-seeking weapons. Rather than flooding the airwaves with raw power, modern electronic warfare depends on compact, software-driven systems that can adapt swiftly while remaining difficult to detect.
Through Brave1, developers are shifting toward compact, trench-level electronic warfare systems. Instead of constantly broadcasting powerful radio signals, these software-defined radio (SDR) platforms silently monitor the local spectrum for hostile activity. As soon as they detect an incoming threat, they transmit a brief, targeted jamming burst on the specific frequency being used, disrupting the attack while remaining hidden.
Democratizing defense productionBy taking manufacturing out of rigid defense factories, Brave1’s ecosystem has turned local tech talent into frontline defense developers.
The tech talent workforceThe real breakthrough isn't all about tech - it’s fundamentally human. Instead of relying exclusively on career defense engineers, Brave1’s ecosystem draws talent from across the commercial technology sector. Software developers, UX designers, data engineers, and automation experts are applying the same skills used to build consumer apps and cloud platforms to next-generation defense technology. This subversive talent shift is bringing commercial software thinking into a field that has traditionally been shaped by slow, hardware-driven development cycles.
Now, a team that previously spent months fine-tuning logistics for a commercial delivery app can shift to building software layers that coordinate autonomous drone fleets in a matter of weeks. This talent shift is opening the door for a new generation of software engineers to reshape how defense technology is built, not just what gets built.
Yet, bringing commercial software talent into defense creates a whole new set of engineering challenges. Silicon Valley coders may still be new to physical hardware constraints, extreme environmental stress factors, or advanced ballistic mathematics.
Overcoming this challenge requires continuous collaboration between two different worlds: the software developers building the systems and the frontline experts testing them in the heat of battle.
Distributed development networksThe old-school defense factories are a tempting target: a single structure, a single strike, and systemic collapse. To protect production from long-range missile strikes, Ukraine had to move away from that factory model. Now, production has been broken apart into a distributed network of smaller facilities operating across the country. Despite their digital connectivity, these workshops function more like a peer-to-peer network than a traditional industrial empire.
The main strength of this model is its robust resilience against single points of failure. While a precision strike can damage individual production hubs, it can’t cause a cascading collapse across the whole network. Like with a digital ecosystem, production simply reroutes around broken nodes.
Still, the primary challenge remains as clear - standardizing such networks is harder than standardizing factories. Maintaining consistent quality control across hundreds of small-scale workshops calls for ongoing supervision, as even minor discrepancies in suppliers, parts, or production techniques can cause unexpected failures in the field. What performs perfectly on a test bench in Kyiv might fail during deployment simply because a single workshop used a slightly different batch of soldering wire.
To keep this under control, the Brave1 ecosystem must rely on constant monitoring and software-based diagnostics capable of scanning the whole network and flagging issues before things start to break.
The open-source playbookThe real breakthrough is not simply that Brave1 opens the market to more competitors, but that it changes the very mechanism of how defense technology evolves. Borrowing from the world of open-source software, the platform treats each tech improvement as shared building blocks that can be refined, adapted, and deployed across the wider network.
Code, 3D designs, and hardware fixes become part of a shared, ever-evolving knowledgebase rather than closely guarded company assets. So, if one team tweaks a flight controller, upgrades a component, or finds a better way to build, that progress is instantly shared and used by everyone across the ecosystem.
This approach also changes the ways Ukraine studies and replicates enemy technology. In mid-June 2026, the Ministry of Defense launched the TrophyLab platform, a secure platform built to study and catalog captured Russian military equipment. Through it, approved international partners, defense organizations, and contractors can access technical documentation, electronic warfare vulnerability reports, and telemetry analysis for over 115 captured weapons.
Instead of letting captured weapons gather dust as classified secrets, TrophyLab turns them into an open sandbox for building new defenses together. On the other hand, moving this fast can also scale up systemic errors. A flawed software update, compromised dependency, or hidden vulnerability in a shared repository could spread across multiple platforms before developers spot the problem.
In an open, fast-paced network, the real battle isn't just building cooler tech but proving that every single update is completely secure.
Software startups vs slow bureaucracyBefore code can even expect to rewrite the rules of modern warfare, it must first break through decades of slow, legacy bureaucracy.
Why Western government programs are slowBeyond the battlefield, software is also reshaping defense bureaucracy. Many Western procurement systems are crippled by years-long bottlenecks and constrained by rigid rules originally drafted for industrial-era hardware like warships, fighter jets, and military bases. While this framework makes sense for concrete and steel, it struggles to keep pace with software that evolves from week to week.
By the time an agency reviews a tech requirement, writes a request, and clears legal review, the tech landscape has already shifted. This rigid setup lets legacy, prime contractors dominate simply because they possess the paperwork army, not because they build the best software. The downside to this stability is a systemic delay in sending state-of-the-art commercial tech to the field, which widens the innovation gap between the military and private tech markets.
Brave1’s flexible, software-first approach stands in stark contrast to old bureaucracy. Borrowing from the workflow of a technology startup, Brave1 is designed to evaluate ideas swiftly, fund promising prototypes, and connect developers directly with the front lines. The focus shifts from predicting tomorrow's battlefield to adapting to it as it changes.
The rise of venture-backed defense techRecognizing these bureaucratic bottlenecks, venture capital has begun flowing into defense technology at a breakneck speed. For decades, the math for defense tech simply didn't work for private capital, suppressed by sluggish procurement cycles, multi-year product runways, and heavy ethical baggage. In today's markets, the rise of adaptive, software-driven defense companies is changing that perception, turning the defense tech industry into one of the fastest-growing areas of deep-tech investment.
In line with this trend, Germany has also begun rethinking how it funds defense innovation. As reported by Reuters, Berlin is deploying a new state-backed investment vehicle to inject capital directly into defense startups. The objective is to de-risk defense innovation while bypassing agonizingly slow acquisition cycles.
Private investors are now backing startups building everything from AI-powered software to edge computing hardware to next-gen autonomous systems. Increased venture backing allows smaller companies to fast-track their initial product deployment. They can perfect new technologies without relying on slow legacy defense acquisition pipelines.
Yet market forces do not always align with military priorities. Traditional private capital prioritizes high-velocity software growth and massive markets. Meanwhile, defense forces require rugged, custom-built hardware built for niche military needs - a tech stack with zero civilian upside. The result? Well, vital, battlefield-ready technology often gets sidelined in favor of whatever scales fastest.
(Image credit: Brave1)Big tech partnerships: Brave France and Brave GermanyTo bridge the gap between fast-moving tech startups and rigid military institutions, the ecosystem has shifted, with nations now turning to formal bilateral frameworks. Ukraine’s new Brave International framework bridges this financial gap with over €100 million in joint funding. This allows agile international startups to bypass slow procurement and fast-track their tech directly to the battlefield. Under this blueprint, Ukraine and its partners share costs via a 50/50 funding split. Joint, parity-based expert boards review applications to scale up sister programs like UNITE Brave NATO, Brave Norway, and Brave Lithuania.
Brave France is the first major spin-off to go live under this playbook. Finalized at the Eurosatory defense exhibition, the Brave France Bilateral Grant Program unlocks a €20 million fund built specifically to bypass bureaucratic procurement bottlenecks. This pipeline hands out €1 million per project to de-risk co-developed missile tech, robotics, and next-gen air defense systems. The first call for projects goes live this September.
At the same time, Berlin is spinning up its own Brave Germany track to tackle critical front-line hardware shortages. Signed in Kyiv, the Brave Germany agreement pumps direct capital into specialized battlefield hardware such as laser systems and secure tactical communications. Most notably, the framework fast-tracks the production of 5,000 AI-powered strike drones. Crucially, the pact covers the co-development of strategic long-range systems capable of reaching up to 1,500 kilometers, allowing allied tech companies to validate their prototypes directly in live combat via the "Test in Ukraine" loop.
The business logic of low-cost techBefore a software update can rewrite the rules of combat, it must first change the core economic equation of the modern battlefield.
The asymmetric cost equationTo understand why software-defined warfare is reshaping modern conflict, we have to start with the economics. For decades, conventional military strategy was created under the assumption that a sophisticated battle tank required an equally sophisticated (and expensive) anti-tank missile system. It was a high-stakes arena where both offense and defense demanded multi-million-dollar investments to get their hardware to the starting line.
Ecosystems like Brave1 have torn up the traditional defense playbook. By weaponizing cheap commercial tech, they give agile startups the ability to neutralize multimillion-dollar systems at a fraction of the cost. Today, a standard off-the-shelf racing drone can be modified with a basic 3D-printed payload mechanism and a $50 onboard AI microchip, and all of it costs around $500 to assemble. Yet, guided by smart edge-computing algorithms that throwaway piece of plastic gets the precision to seek and destroy an armored vehicle worth as much as $5 million.
This staggering economic asymmetry flips the logic of attrition warfare on its head. Why spend millions on heavy, legacy hardware when low-cost, disposable tech can destroy it too?
Well, this hyper-cheap approach has its own structural headaches. Sourced from commercial supply chains rather than defense contractors, these tools sacrifice military-grade certification and risk resembling an early-stage Kickstarter project. A cheap capacitor might tap out the moment it encounters a brisk autumn breeze. In this arena, you trade hardware perfection for the pure math of a statistical zerg rush.
National survival over corporate profitsTraditional defense giants operate much like bureaucratic mega-corporations, obsessing over shareholder returns and safeguarding their proprietary tech. Their business models are built around stability and product lifecycles that stretch over decades.
Wartime innovation ecosystems like Brave1 trade corporate profit targets for immediate frontline deployment. This type of urgency rewards rapid prototyping and open-source collaboration rather than multi-year development loops and locked software.
While this agile approach speeds up innovation during trying times, it leaves deep-tech startups with seriously thin financial safety nets. When the immediate crisis cools down, many of these narrow-margin startups may struggle to keep their engineers paid or scale into mature defense companies.
The new playbook for global enterprise techThe massive ripples from Brave1 reach far beyond the mud of the front line, handing a brand new playbook to deep-tech manufacturers worldwide. By proving that you can build, patch, and scale seriously complex physical networks using decentralized, open-source code, this pipeline has cracked the code on absolute agility. It proves that during a chaotic crisis, the most lethal asset in your toolkit isn’t a shiny yet rigid hardware product but an adaptable software infrastructure that can change on a dime.
The future of enterprise technology is no longer trapped within the squeaky clean labs of isolated corporate ivory towers. The companies that are going to rule the next decade, whether building next-gen defense hardware or streamlining global shipping routes, will be those that successfully mimic this framework. They will swap stiff, top-down corporate hierarchies for open developer portals and trade sluggish multi-month updates for continuous 72-hour coding sprints. To put it simply, they will realize that raw, real-world data will always stomp all over laboratory theory.
Now, we can officially say goodbye to old-school development manuals and endless peacetime planning committees. Tomorrow's winning companies will stop treating business like a catalog of static products, choosing instead to run their operations like a living software ecosystem that evolves the second the environment shifts.
Tracking the innovation: How to follow Brave1Brave1 moves at hyper-speed, spinning up new grant tracks and global pipelines in weeks instead of years. Thankfully, this explosive evolution is heavily documented, so we can track Ukraine's defense tech disruption in real time:
If you are tracking Brave1, watch these channels:
In the end, this brand-new blueprint proves that the old corporate playbook is as good as dead, and global tech firms must learn to move fast or get left behind.
Coca-Cola has confirmed data was stolen in the ransomware attack on Fairlife after the Anubis gang published allegedly stolen files, escalating the incident.
The post Coca-Cola Confirms Data Theft as Fairlife Ransomware Attack Escalates appeared first on TechRepublic.
The VPN industry has a problem. For a significant number of people, their VPN subscription has quietly auto-renewed, jumped in price, or cost more than they initially bargained for.
The issue is so bad that multiple VPN providers — including ExpressVPN, NordVPN and Surfshark — have faced legal scrutiny over their auto-renewal practices.
This creates a dilemma for us at TechRadar when it comes to recommending VPNs. We are confident these are the best VPNs available — they are the fastest, most secure, and best at streaming — but it's clear that more needs to be done to ensure fair and transparent billing.
To get a better understanding of people's real-world experience using our top-rated VPNs, we analyzed almost 30,000 Android VPN reviews across the 'Big 4' — NordVPN, ExpressVPN, Surfshark & Proton VPN — published on the Play Store since the beginning of the year.
The results are stark. Across the entire Play Store dataset, people are mostly happy with the apps — just 35% of overall written comments are negative. But when we looked at billing and pricing specifically, that figure rose to almost 60%.
Read on to find out which provider performed the best, which you might want to be wary of, and the key practical steps to avoid common VPN issues.
This article is the first in a series investigating real-world customer experience of using major VPN services, inspired by our exclusive analysis of user-generated Android VPN reviews.
Which VPN has the most positive reviews?The vast majority of written Android reviews offer little insight into how people really feel. There are thousands of generic entries like "top app," "good," "ok," or "bad."
However, once we filtered out the noise, billing and pricing issues emerged as a significant area of frustration, accounting for almost 30% of all categorized feedback.
Because total review counts varied widely between brands, we compared percentages rather than raw numbers. Attitudes were scored using a machine-learning model supported by manual human checks.
Read more about our methodology here.
When it comes to billing and price satisfaction, Proton VPN is the clear winner. Just 35% of billing-related comments were negative. However, that’s in large part because of the free tier it offers.
In fact, if you remove references to the product being 'free,' the rate of negative comments rises to 57%. While that points to significant underlying friction for paid accounts, it’s still better than the rest.
By contrast, the remaining market leaders face significant dissatisfaction:
It wasn’t all bad news, though. There was some positive feedback, with one user praising Surfshark for its "outstanding value for money" and another calling NordVPN the "best affordable" VPN. But for the majority of reviewers, issues around free trials, auto-renewals and price hikes dominated.
Of course, all written reviews skew towards negative emotions as consumers seek to fix or change something. However, taken together they demonstrate a comprehensive picture with clear issues at play.
Free trials, auto-renewals, and price hikesAcross all of the reviews analyzed, three distinct issues appeared.
Firstly, it’s clear many people are experiencing issues with free trials. Specifically, people are signing up only to find themselves charged automatically.
As one Surfshark user wrote: “Wanted to try using the free trial, [it] didn’t work and still charged me for a month.” Meanwhile, a NordVPN user reported not being able to “cancel my free trial just days in.”
Another source of friction occurs when automatic renewals are triggered. And it impacts all of the providers mentioned. As one Proton VPN reviewer wrote: "A lot of users would appreciate more transparency before renewals happen.”
Closely related to the automated renewals are the price hikes that are associated with them. Even if you sign up for a certain price for a year, VPN providers often use more expensive rates at the point of renewing a user’s subscription.
One ExpressVPN user wrote: "Of course every time they renewed my subscription they used old prices and never told me about it.” Meanwhile, a Surfshark reviewer put it even more succinctly for others: “Beware of subscription auto renewal.”
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');#fv-chart-1785251267479-g474gdird *, #fv-chart-1785251267479-g474gdird *:before, #fv-chart-1785251267479-g474gdird *:after, #fv-chart-1785251267479-g474gdird-slideshow *, #fv-chart-1785251267479-g474gdird-slideshow *:before, #fv-chart-1785251267479-g474gdird-slideshow *:after {box-sizing: border-box !important; margin: 0; padding: 0; border: 0;font-size: 100%; font: inherit; vertical-align: baseline;}#fv-chart-1785251267479-g474gdird, #fv-chart-1785251267479-g474gdird-slideshow { font-family: 'Open Sans', sans-serif !important; }#fv-chart-1785251267479-g474gdird {position: relative !important; overflow: visible !important;--riv-primary: #2E6E93;}#fv-chart-1785251267479-g474gdird .fv-inner-wrapper {color: #1F2937 !important; background-color: #ffffff !important;padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;overflow: hidden !important;}#fv-chart-1785251267479-g474gdird .fv-inner-wrapper.fv-no-header.fv-is-image-compare {padding-top: 0 !important;}#fv-chart-1785251267479-g474gdird.fv-full-bleed {width: 100vw !important;margin-left: calc(50% - 50vw) !important;}body {overflow-x: clip !important;}#fv-chart-1785251267479-g474gdird.fv-full-bleed .fv-inner-wrapper {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1785251267479-g474gdird .fv-inner-wrapper.fv-is-shop-the-look {padding: 0 !important;border-radius: 0 !important;box-shadow: none !important;margin: 0 !important;background-color: transparent !important;}#fv-chart-1785251267479-g474gdird-slideshow {position: relative !important;width: 100% !important;margin: 1rem 0 !important;--riv-primary: #2E6E93;}#fv-chart-1785251267479-g474gdird-slideshow .fv-slides-wrapper {position: relative !important;width: 100% !important;}#fv-chart-1785251267479-g474gdird-slideshow .fv-slide {width: 100% !important;animation: fv-fade-in 0.3s ease-in-out;}@keyframes fv-fade-in {from { opacity: 0; }to { opacity: 1; }}#fv-chart-1785251267479-g474gdird-slideshow .fv-slideshow-nav-row {position: relative !important;display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 0 0 16px 0 !important;width: 100% !important;z-index: 20 !important;}#fv-chart-1785251267479-g474gdird-slideshow .fv-nav-btn {background-color: var(--riv-primary) !important;color: #ffffff !important;border: none !important;border-radius: 4px !important;padding: 8px 16px !important;font-size: 14px !important;font-weight: 700 !important;cursor: pointer !important;display: flex !important;align-items: center !important;justify-content: center !important;gap: 6px !important;transition: opacity 0.2s, background-color 0.2s !important;height: 36px !important;text-transform: none !important;box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important;}#fv-chart-1785251267479-g474gdird-slideshow .fv-nav-btn svg {width: 18px !important;height: 18px !important;stroke-width: 3px !important;filter: none !important;}#fv-chart-1785251267479-g474gdird-slideshow .fv-nav-btn:hover {opacity: 0.9 !important;transform: translateY(-1px) !important;}#fv-chart-1785251267479-g474gdird-slideshow .fv-nav-btn.disabled {background-color: #E5E7EB !important;color: #9CA3AF !important;cursor: default !important;pointer-events: none !important;box-shadow: none !important;}#fv-chart-1785251267479-g474gdird-slideshow .fv-slide-counter {font-family: 'Poppins', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;color: #374151 !important;text-align: center !important;min-width: 40px !important;background-color: rgba(255,255,255,0.8) !important;padding: 2px 8px !important;border-radius: 10px !important;}#fv-chart-1785251267479-g474gdird-slideshow .fv-slideshow-select {position: absolute !important;top: 10px !important;right: 10px !important;z-index: 20 !important;appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background-color: white !important;border: 1px solid #d1d5db !important;color: #1F2937 !important;font-family: 'Open Sans', sans-serif !important;font-size: 14px !important;font-weight: 600 !important;padding: 6px 32px 6px 12px !important;border-radius: 4px !important;cursor: pointer !important;box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;background-position: right 0.5rem center !important;background-repeat: no-repeat !important;background-size: 1.5em 1.5em !important;}#fv-chart-1785251267479-g474gdird-slideshow .fv-slideshow-select:focus {outline: 2px solid #2E6E93 !important;border-color: #2E6E93 !important;}#fv-chart-1785251267479-g474gdird .fv-chart-title {font-weight: bold !important;text-align: center !important;margin-bottom: 0.5rem !important;color: var(--riv-primary) !important;font-size: 20px !important;line-height: 1.2 !important;font-family: 'Open Sans', sans-serif !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;padding: 0 20px !important;}#fv-chart-1785251267479-g474gdird .fv-chart-subhead {font-size: 18px !important;font-weight: 500 !important;text-align: center !important;margin-bottom: 2rem !important;color: #374151 !important;line-height: 1.7 !important;font-family: 'Open Sans', sans-serif !important;display: block !important;text-transform: none !important;padding: 0 20px !important;}#fv-chart-1785251267479-g474gdird .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }#fv-chart-1785251267479-g474gdird .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; }#fv-chart-1785251267479-g474gdird .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; }#fv-chart-1785251267479-g474gdird .fv-versus-select-wrapper { flex: 1; min-width: 0; }#fv-chart-1785251267479-g474gdird .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; }#fv-chart-1785251267479-g474gdird .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; }#fv-chart-1785251267479-g474gdird .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; }#fv-chart-1785251267479-g474gdird .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; }#fv-chart-1785251267479-g474gdird .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; }#fv-chart-1785251267479-g474gdird .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; }#fv-chart-1785251267479-g474gdird .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }#fv-chart-1785251267479-g474gdird .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; }#fv-chart-1785251267479-g474gdird .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; }#fv-chart-1785251267479-g474gdird .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; }#fv-chart-1785251267479-g474gdird .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; }#fv-chart-1785251267479-g474gdird .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; }#fv-chart-1785251267479-g474gdird .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; }#fv-chart-1785251267479-g474gdird .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; }#fv-chart-1785251267479-g474gdird .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; }#fv-chart-1785251267479-g474gdird .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; }#fv-chart-1785251267479-g474gdird .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; }#fv-chart-1785251267479-g474gdird .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; }#fv-chart-1785251267479-g474gdird .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; }@keyframes fv-grow-max-width {from { max-width: 0; }to { max-width: 100%; }}#fv-chart-1785251267479-g474gdird .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; }#fv-chart-1785251267479-g474gdird .fv-inside-left { white-space: nowrap; flex-shrink: 0; }#fv-chart-1785251267479-g474gdird .fv-inside-right { white-space: nowrap; flex-shrink: 0; }#fv-chart-1785251267479-g474gdird .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; }#fv-chart-1785251267479-g474gdird .fv-versus-pct-diff { font-size: 12px; font-weight: 600; }#fv-chart-1785251267479-g474gdird .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; }#fv-chart-1785251267479-g474gdird .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }#fv-chart-1785251267479-g474gdird .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }#fv-chart-1785251267479-g474gdird .fv-footer-content { text-align: center !important; width: 100% !important; }#fv-chart-1785251267479-g474gdird .fv-logo {display: block !important;margin: 0 auto !important;width: 120px !important;min-width: 120px !important;max-width: 120px !important;height: auto !important;object-fit: contain !important;flex-shrink: 0 !important;}#fv-chart-1785251267479-g474gdird .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; }#fv-chart-1785251267479-g474gdird .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; }#fv-chart-1785251267479-g474gdird .fv-dropdown-title {appearance: none !important;-webkit-appearance: none !important;-moz-appearance: none !important;background: transparent !important;border: none !important;font-size: 18px !important;font-weight: 600 !important;color: var(--riv-primary) !important;padding-right: 28px !important;padding-left: 10px !important;cursor: pointer !important;text-align: center !important;text-align-last: center !important;width: auto !important;max-width: 100% !important;font-family: 'Open Sans', sans-serif !important;line-height: 1.3 !important;margin: 0 !important;text-overflow: ellipsis !important;overflow: hidden !important;white-space: nowrap !important;}#fv-chart-1785251267479-g474gdird .fv-dropdown-title:focus { outline: none !important; }#fv-chart-1785251267479-g474gdird .fv-dropdown-title::-ms-expand { display: none !important; }#fv-chart-1785251267479-g474gdird .fv-dropdown-chevron {position: absolute !important;right: 0 !important;top: 50% !important;transform: translateY(-50%) !important;pointer-events: none !important;color: var(--riv-primary) !important;display: flex !important;align-items: center !important;}#fv-chart-1785251267479-g474gdird .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }#fv-chart-1785251267479-g474gdird .fv-carousel-nav-btn {background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;}#fv-chart-1785251267479-g474gdird .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }#fv-chart-1785251267479-g474gdird .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; }#fv-chart-1785251267479-g474gdird .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }#fv-chart-1785251267479-g474gdird .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; }#fv-chart-1785251267479-g474gdird .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }#fv-chart-1785251267479-g474gdird .fv-multi-value-legend {display: flex !important;justify-content: center !important;flex-wrap: wrap !important;gap: 12px 24px !important;margin-bottom: 1.5rem !important;padding: 0 !important;}#fv-chart-1785251267479-g474gdird .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; }#fv-chart-1785251267479-g474gdird .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; }#fv-chart-1785251267479-g474gdird .fv-benchmark-group { margin-bottom: 1rem !important; }#fv-chart-1785251267479-g474gdird .fv-benchmark-title {font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;text-transform: none !important;white-space: normal !important;overflow-wrap: break-word !important;word-wrap: break-word !important;max-width: 100% !important;}#fv-chart-1785251267479-g474gdird .fv-bar-row, #fv-chart-1785251267479-g474gdird .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; }#fv-chart-1785251267479-g474gdird .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }#fv-chart-1785251267479-g474gdird .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }#fv-chart-1785251267479-g474gdird .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; }#fv-chart-1785251267479-g474gdird.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1785251267479-g474gdird.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1785251267479-g474gdird.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; }#fv-chart-1785251267479-g474gdird .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; }#fv-chart-1785251267479-g474gdird .fv-bar:hover { opacity: 0.8 !important; }#fv-chart-1785251267479-g474gdird .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; }#fv-chart-1785251267479-g474gdird .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }#fv-chart-1785251267479-g474gdird .fv-bar-inner-value { flex-shrink: 0 !important; }#fv-chart-1785251267479-g474gdird .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; }#fv-chart-1785251267479-g474gdird .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }#fv-chart-1785251267479-g474gdird .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; }#fv-chart-1785251267479-g474gdird .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; }#fv-chart-1785251267479-g474gdird .fv-stacked-bar { display: flex !important; overflow: hidden !important; }#fv-chart-1785251267479-g474gdird .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }#fv-chart-1785251267479-g474gdird .fv-stacked-segment:last-child { border-right: none !important; }#fv-chart-1785251267479-g474gdird .fv-segment-value { font-size: 14px !important; font-weight: bold !important; }#fv-chart-1785251267479-g474gdird .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }#fv-chart-1785251267479-g474gdird .fv-grouped-product-title-wrapper { padding-left: 150px !important; }#fv-chart-1785251267479-g474gdird .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; }#fv-chart-1785251267479-g474gdird .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }#fv-chart-1785251267479-g474gdird .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }#fv-chart-1785251267479-g474gdird .fv-bar-cluster .fv-bar-container { height: 20px !important; }#fv-chart-1785251267479-g474gdird .riv-grid line {stroke: #D1D5DB !important;stroke-dasharray: 3 3 !important;}#fv-chart-1785251267479-g474gdird .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }#fv-chart-1785251267479-g474gdird .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }#fv-chart-1785251267479-g474gdird .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }#fv-chart-1785251267479-g474gdird .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }#fv-chart-1785251267479-g474gdird .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }#fv-chart-1785251267479-g474gdird .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; }#fv-chart-1785251267479-g474gdird .fv-x-axis-ticks span { position: relative !important; }#fv-chart-1785251267479-g474gdird .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }#fv-chart-1785251267479-g474gdird .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; }#fv-chart-1785251267479-g474gdird .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }#fv-chart-1785251267479-g474gdird .fv-y-axis-title {font-size: 15px !important;color: #374151 !important;line-height: 1.5 !important;text-align: left !important;padding-left: 5.83% !important;margin-bottom: 4px !important;display: block !important;font-weight: bold !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-pie-container,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-grouped-product-title-wrapper,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-row,#fv-chart-1785251267479-g474gdird.mobile-view .fv-stacked-product,#fv-chart-1785251267479-g474gdird.mobile-view .fv-grouped-bar-product,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-bar-row,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-stacked-product,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-label:not(.fv-grouped-product-title),#fv-chart-1785251267479-g474gdird.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-label,#fv-chart-1785251267479-g474gdird.mobile-view .fv-grouped-product-title,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-bar-label,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-container,#fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-cluster,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-bar-container,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-bar-cluster {width: 100% !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-x-axis-wrapper,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-x-axis-label-space,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-x-axis-label-space {display: none !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-x-axis-chart-space,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-benchmark-title,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-dropdown-title,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-carousel-nav-btn,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-chart-title,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-chart-title {padding: 0 8px !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-chart-subhead,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-versus-header,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-versus-select-wrapper,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-versus-select-wrapper.fv-left,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-versus-select-wrapper.fv-right,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-versus-select.fv-select-left,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-versus-select.fv-select-right,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-versus-vs,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-versus-select-container,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-versus-select,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-stl-shop-all-btn,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-stl-shop-all-logo,#fv-chart-1785251267479-g474gdird.mobile-view .fv-stl-shop-all-icon,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-stl-shop-all-logo,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-stl-shop-all-icon svg,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-bar-commentary-inline,#fv-chart-1785251267479-g474gdird.labels-on-top .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1785251267479-g474gdird.mobile-view .fv-y-axis-title { padding-left: 5% !important; }#fv-chart-1785251267479-g474gdird.mobile-view.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}@media (max-width: 599px) {#fv-chart-1785251267479-g474gdird .fv-pie-container {flex-direction: column !important; gap: 1rem !important;}#fv-chart-1785251267479-g474gdird .fv-grouped-product-title-wrapper {padding-left: 0 !important;}#fv-chart-1785251267479-g474gdird .fv-bar-row,#fv-chart-1785251267479-g474gdird .fv-stacked-product,#fv-chart-1785251267479-g474gdird .fv-grouped-bar-product {flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important;}#fv-chart-1785251267479-g474gdird .fv-bar-label:not(.fv-grouped-product-title) {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1785251267479-g474gdird .fv-bar-label,#fv-chart-1785251267479-g474gdird .fv-grouped-product-title {width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important;}#fv-chart-1785251267479-g474gdird .fv-bar-container,#fv-chart-1785251267479-g474gdird .fv-bar-cluster {width: 100% !important;}#fv-chart-1785251267479-g474gdird .fv-bar-row .fv-bar-commentary-inline,#fv-chart-1785251267479-g474gdird .fv-bar-row:hover .fv-bar-commentary-inline,#fv-chart-1785251267479-g474gdird .fv-bar-row .fv-bar-commentary-inline:focus,#fv-chart-1785251267479-g474gdird .fv-bar-row .fv-bar-commentary-inline:focus-within {position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important;}#fv-chart-1785251267479-g474gdird .fv-x-axis-wrapper {margin-left: 0 !important;}#fv-chart-1785251267479-g474gdird .fv-x-axis-label-space {display: none !important;}#fv-chart-1785251267479-g474gdird .fv-x-axis-chart-space {padding-right: 0 !important;}#fv-chart-1785251267479-g474gdird .fv-benchmark-title {font-size: 16px !important;}#fv-chart-1785251267479-g474gdird .fv-dropdown-title {font-size: 16px !important;}#fv-chart-1785251267479-g474gdird .fv-carousel-nav-btn {padding: 8px 12px !important; font-size: 14px !important;}#fv-chart-1785251267479-g474gdird .fv-chart-title {padding: 0 8px !important;}#fv-chart-1785251267479-g474gdird .fv-chart-subhead {padding: 0 8px !important;}#fv-chart-1785251267479-g474gdird .fv-versus-header {flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important;}#fv-chart-1785251267479-g474gdird .fv-versus-select-wrapper {flex: 1 !important; min-width: 0 !important; width: 100% !important;}#fv-chart-1785251267479-g474gdird .fv-versus-select-wrapper.fv-left {text-align: center !important; padding-right: 0 !important;}#fv-chart-1785251267479-g474gdird .fv-versus-select-wrapper.fv-right {text-align: center !important; padding-left: 0 !important;}#fv-chart-1785251267479-g474gdird .fv-versus-select.fv-select-left {text-align: center !important;}#fv-chart-1785251267479-g474gdird .fv-versus-select.fv-select-right {text-align: center !important;}#fv-chart-1785251267479-g474gdird .fv-versus-vs {text-align: center !important; padding: 0.25rem 0 !important;}#fv-chart-1785251267479-g474gdird .fv-versus-select-container {max-width: 100% !important; width: 100% !important;}#fv-chart-1785251267479-g474gdird .fv-versus-select {font-size: 14px !important; width: 100% !important;}#fv-chart-1785251267479-g474gdird .fv-stl-shop-all-btn {bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important;}#fv-chart-1785251267479-g474gdird .fv-stl-shop-all-logo,#fv-chart-1785251267479-g474gdird .fv-stl-shop-all-icon {width: 2rem !important; height: 2rem !important;}#fv-chart-1785251267479-g474gdird .fv-stl-shop-all-icon svg {width: 14px !important; height: 14px !important;}#fv-chart-1785251267479-g474gdird .fv-bar-commentary-inline {display: block !important; margin-left: 0 !important; width: 100% !important;}#fv-chart-1785251267479-g474gdird .fv-y-axis-title { padding-left: 5% !important; }#fv-chart-1785251267479-g474gdird.fv-contains-line-chart .fv-footer-content {margin-left: -1rem !important;margin-right: -1rem !important;}}{"@context": "https://schema.org","@type": "Dataset","name": "VPN auto-renewal costs","description": "Comparing the prices of 1-year VPN plans across the 'big four' initially and after renewal","creator": {"@type": "Organization","name": "TechRadar","logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"},"isAccessibleForFree": true,"dateCreated": "2026-07-28T15:07:47.480Z","citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","keywords": ["NordVPN","Surfshark","ExpressVPN","Proton VPN","Initial cost","Renewal cost","Group 1","benchmark","comparison","performance","review","TechRadar"],"measurementTechnique": "Performance Benchmarking","variableMeasured": [{"@type": "PropertyValue","name": "NordVPN – Initial cost","value": 53.88,"unitText": "USD"},{"@type": "PropertyValue","name": "NordVPN – Renewal cost","value": 139.08,"unitText": "USD"},{"@type": "PropertyValue","name": "Surfshark – Initial cost","value": 50.85,"unitText": "USD"},{"@type": "PropertyValue","name": "Surfshark – Renewal cost","value": 79,"unitText": "USD"},{"@type": "PropertyValue","name": "ExpressVPN – Initial cost","value": 74.85,"unitText": "USD"},{"@type": "PropertyValue","name": "ExpressVPN – Renewal cost","value": 99.95,"unitText": "USD"},{"@type": "PropertyValue","name": "Proton VPN – Initial cost","value": 47.88,"unitText": "USD"},{"@type": "PropertyValue","name": "Proton VPN – Renewal cost","value": 83.88,"unitText": "USD"}]}VPN auto-renewal costsComparing the prices of 1-year VPN plans across the 'big four' initially and after renewal
NordVPNInitial cost53.88Renewal cost139.08SurfsharkInitial cost50.85Renewal cost79ExpressVPNInitial cost74.85Renewal cost99.95Proton VPNInitial cost47.88Renewal cost83.88037.575112.5150USDGroup 1 DataProductInitial cost (USD)Renewal cost (USD)NordVPN53.88139.08Surfshark50.8579ExpressVPN74.8599.95Proton VPN47.8883.88window.iFrameResizer = {heightCalculationMethod: 'taggedElement'};(function() {window.fvAnimateCharts = function(chartWrapper) {if (!chartWrapper) return;function animateBars(chartElement) {if (!chartElement) return;var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');bars.forEach(function(bar, index) {bar.style.setProperty('width', '0%', 'important');bar.style.setProperty('transition', 'none', 'important');var targetWidth = bar.dataset.targetWidth;if (targetWidth === undefined) return;void bar.offsetWidth;var targetMargin = bar.dataset.targetMargin;var baseMargin = bar.dataset.baseMargin;if (baseMargin !== undefined) {bar.style.setProperty('margin-left', baseMargin + '%', 'important');}setTimeout(function() {var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');bar.style.setProperty('width', targetWidth + '%', 'important');if (targetMargin !== undefined && baseMargin !== undefined) {bar.style.setProperty('margin-left', targetMargin + '%', 'important');}}, index * 50 + 50);});}function animateLineChart(chartElement) {if (!chartElement) return;var lineSvg = chartElement.querySelector('svg');if (!lineSvg) return;var paths = lineSvg.querySelectorAll('.riv-line-path');paths.forEach(function(p, i) {if (typeof p.getTotalLength === 'function') {var len = p.getTotalLength();p.style.transition = 'none';p.style.strokeDasharray = len;p.style.strokeDashoffset = len;p.getBoundingClientRect();setTimeout(function() {p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';p.style.strokeDashoffset = '0';}, 100);}});var dots = lineSvg.querySelectorAll('.riv-dot');dots.forEach(function(dot, i) {dot.style.opacity = '0';setTimeout(function() {dot.style.transition = 'opacity 0.3s ease';dot.style.opacity = '1';}, 500 + i * 10);});}var charts = chartWrapper.querySelectorAll('.fv-chart-item');charts.forEach(function(chart) {if (window.getComputedStyle(chart).display === 'none') return;var chartType = chart.dataset.chartType;if (chartType === 'Line') {animateLineChart(chart);} else if (chartType !== 'Pie') {animateBars(chart);}});};function initialize(uniqueId, isSlideshow) {var root = document.getElementById(uniqueId);if (!root && !isSlideshow) return;function setupWrapper(chartWrapper) {if (!chartWrapper) return;function checkMobileView() {var width = chartWrapper.getBoundingClientRect().width;var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;var isMobile;if (width === 0) {isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;} else {isMobile = isMobileDevice || width < 600;}if (isMobile) {chartWrapper.classList.add('mobile-view');} else {chartWrapper.classList.remove('mobile-view');}}checkMobileView();if (typeof ResizeObserver !== 'undefined') {var ro = new ResizeObserver(function() {checkMobileView();});ro.observe(chartWrapper);}window.addEventListener('resize', checkMobileView);var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop) {var charts = chartWrapper.querySelectorAll('.fv-chart-item');var hasVisibleBarChart = false;charts.forEach(function(c) {if (window.getComputedStyle(c).display !== 'none') {var cType = c.dataset.chartType;if (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus') {hasVisibleBarChart = true;}}});if (hasVisibleBarChart) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}} else {chartWrapper.classList.remove('labels-on-top');}chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {var chartId = legend.dataset.chart;var chart = chartWrapper.querySelector('[id="' + chartId + '"]');if (!chart) return;var lines = chart.querySelectorAll('.riv-line-path');var dots = chart.querySelectorAll('.riv-dot');var legendItems = legend.querySelectorAll('.riv-legend-item');legendItems.forEach(function(item) {var productName = item.dataset.product;var safeProductName = productName.replace(/"/g, '\"');var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');if (line && !line.dataset.origStroke) {line.dataset.origStroke = line.getAttribute('stroke-width') || '2';}var highlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';};var clearHighlight = function() {if (legend.querySelector('.isolated')) return;lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });};var toggleIsolate = function() {var isIsolated = item.classList.contains('isolated');legendItems.forEach(function(i) { i.classList.remove('isolated'); });if (isIsolated) {lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '1'; });legendItems.forEach(function(i) { i.style.opacity = '1'; });} else {item.classList.add('isolated');lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });dots.forEach(function(d) { d.style.opacity = '0.2'; });legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });if (line) {line.style.opacity = '1';line.setAttribute('stroke-width', '4');}productDots.forEach(function(d) { d.style.opacity = '1'; });item.style.opacity = '1';}};item.addEventListener('mouseenter', highlight);item.addEventListener('focus', highlight);item.addEventListener('mouseleave', clearHighlight);item.addEventListener('blur', clearHighlight);item.addEventListener('click', toggleIsolate);if (line) {line.style.cursor = 'pointer';line.addEventListener('mouseenter', highlight);line.addEventListener('mouseleave', clearHighlight);line.addEventListener('click', toggleIsolate);}});});var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');versusCharts.forEach(function(vc) {var dataJson = vc.getAttribute('data-versus-data');var leftColor = vc.getAttribute('data-left-color') || '#E53935';var rightColor = vc.getAttribute('data-right-color') || '#FFB300';if (!dataJson) return;var versusData = JSON.parse(dataJson);var leftSelect = vc.querySelector('.fv-select-left');var rightSelect = vc.querySelector('.fv-select-right');var rows = vc.querySelectorAll('.fv-versus-row');function updateVersusChart() {var leftProduct = leftSelect.value;var rightProduct = rightSelect.value;leftSelect.style.color = leftColor;leftSelect.style.borderColor = leftColor;rightSelect.style.color = rightColor;rightSelect.style.borderColor = rightColor;rows.forEach(function(row) {var index = parseInt(row.getAttribute('data-index'));var data = versusData[index];if (!data) return;var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;var leftIsNum = typeof leftVal === 'number';var rightIsNum = typeof rightVal === 'number';var leftNum = leftIsNum ? leftVal : 0;var rightNum = rightIsNum ? rightVal : 0;var maxVal = Math.max(leftNum, rightNum, 0.0001);var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;var winner = null;var pctDiffStr = null;if (leftIsNum && rightIsNum) {if (leftNum > rightNum) {winner = 'left';if (rightNum > 0) {var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}} else if (rightNum > leftNum) {winner = 'right';if (leftNum > 0) {var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);pctDiffStr = '+' + diff.toLocaleString() + '%';}}}var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||(data.productData[rightProduct] && data.productData[rightProduct].unit) || '';var leftTextStr = leftDisplay;var rightTextStr = rightDisplay;var leftBar = row.querySelector('.fv-versus-bar-left');var rightBar = row.querySelector('.fv-versus-bar-right');var leftText = row.querySelector('.fv-inside-left');var rightText = row.querySelector('.fv-inside-right');var labelText = row.querySelector('.fv-versus-label span');var leftWrapper = row.querySelector('.fv-versus-bar-left-wrapper');var rightWrapper = row.querySelector('.fv-versus-bar-right-wrapper');var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');existingPctDiffs.forEach(function(el) { el.remove(); });if (winner === 'left' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);} else if (winner === 'right' && pctDiffStr) {var pctSpan = document.createElement('span');pctSpan.className = 'fv-versus-pct-diff';pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';pctSpan.textContent = pctDiffStr;if (rightBar) rightBar.appendChild(pctSpan);}if (leftBar) {leftBar.style.backgroundColor = leftColor;leftBar.dataset.targetWidth = leftWidth;leftBar.style.setProperty('--target-width', leftWidth + '%');leftBar.style.width = leftWidth + '%';}if (rightBar) {rightBar.style.backgroundColor = rightColor;rightBar.dataset.targetWidth = rightWidth;rightBar.style.setProperty('--target-width', rightWidth + '%');rightBar.style.width = rightWidth + '%';}if (leftText) {leftText.innerHTML = leftTextStr;}if (rightText) {rightText.innerHTML = rightTextStr;}if (labelText) {labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');}});}if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);});var barRows = chartWrapper.querySelectorAll('.fv-bar-row');var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';barRows.forEach(function(row) {var commentaryEl = row.querySelector('[data-commentary-key]');if (commentaryEl) {var commentaryText = commentaryEl.textContent;if (commentaryText && commentaryText.trim().length > 0) {row.addEventListener('mouseenter', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = commentaryText;globalCaptionEl.classList.add('fv-bar-active-caption');}});row.addEventListener('mouseleave', function() {if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {globalCaptionEl.innerHTML = fallbackCaptionHtml;globalCaptionEl.classList.remove('fv-bar-active-caption');}});}}});var charts = chartWrapper.querySelectorAll('.fv-chart-item');var dropdown = chartWrapper.querySelector('.fv-dropdown-title');var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');var counter = chartWrapper.querySelector('.fv-carousel-counter');var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');var captionEl = chartWrapper.querySelector('.rv-chart-caption');var footerContentEl = chartWrapper.querySelector('.fv-footer-content');var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');var logoEl = chartWrapper.querySelector('.fv-logo');if (charts.length > 1 && (dropdown || prevBtn)) {var currentChartIndex = 0;var titles = [];if (dropdown) {titles = Array.from(dropdown.options).map(function(o) { return o.text; });} else {charts.forEach(function(c) {titles.push(c.getAttribute('data-title') || '');});}function showInternalChart(index) {if (index < 0) index = charts.length - 1;if (index >= charts.length) index = 0;currentChartIndex = index;charts.forEach(function(c, i) {c.style.display = i === index ? 'block' : 'none';if (i === index) {var cType = c.dataset.chartType;if (cType === 'Line') {} else if (cType !== 'Pie') {window.fvAnimateCharts(chartWrapper);}var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';if (labelsOnTop && (cType === 'Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {chartWrapper.classList.add('labels-on-top');} else {chartWrapper.classList.remove('labels-on-top');}}});if (dropdown) dropdown.value = index;if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;var activeChart = charts[index];if (activeChart) {var newSubhead = activeChart.getAttribute('data-subhead');var newCaption = activeChart.getAttribute('data-caption');var currentChartType = activeChart.getAttribute('data-chart-type');var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';if (subheadEl) subheadEl.textContent = newSubhead || '';if (captionEl) {captionEl.textContent = newCaption || '';fallbackCaptionHtml = newCaption || '';}if (footerContentEl) {if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {footerContentEl.style.display = 'block';if (bottomBarEl) bottomBarEl.style.display = 'flex';} else {footerContentEl.style.display = 'none';if (bottomBarEl && !logoEl) {bottomBarEl.style.display = 'none';}}}}}if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });}var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');imageCompareWrappers.forEach(function(wrapper) {var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;var slider = wrapper.querySelector('.fv-image-compare-slider');var fgImage = wrapper.querySelector('.fv-image-compare-fg');var bgImage = wrapper.querySelector('.fv-image-compare-bg');var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');var labelRight = wrapper.querySelector('.fv-image-compare-label-right');var isDragging = false;var scale = 1;var panX = 0;var panY = 0;var isPanning = false;var hasPanned = false;var lastClientX = 0;var lastClientY = 0;var initialDistance = null;var lastCenterX = null;var lastCenterY = null;function updateTransform() {if (wrapper.classList.contains('fv-image-compare-fullscreen')) {inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');} else {inner.style.removeProperty('transform');scale = 1;panX = 0;panY = 0;}}function constrainPan() {var rect = wrapper.getBoundingClientRect();var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);panX = Math.max(-maxPanX, Math.min(panX, maxPanX));panY = Math.max(-maxPanY, Math.min(panY, maxPanY));}wrapper.addEventListener('wheel', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;e.preventDefault();var zoomSensitivity = 0.005;var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));if (newScale === scale) return;var rect = wrapper.getBoundingClientRect();var mouseX = e.clientX - rect.left - rect.width / 2;var mouseY = e.clientY - rect.top - rect.height / 2;var ratio = newScale / scale;panX = mouseX - (mouseX - panX) * ratio;panY = mouseY - (mouseY - panY) * ratio;scale = newScale;constrainPan();updateTransform();}, { passive: false });wrapper.addEventListener('mousedown', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.clientX;lastClientY = e.clientY;});window.addEventListener('mousemove', function(e) {if (!isPanning) return;var dx = e.clientX - lastClientX;var dy = e.clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.clientX;lastClientY = e.clientY;panX += dx;panY += dy;constrainPan();updateTransform();});window.addEventListener('mouseup', function() {isPanning = false;});wrapper.addEventListener('touchstart', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;initialDistance = Math.sqrt(dx * dx + dy * dy);var rect = wrapper.getBoundingClientRect();lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;hasPanned = true;} else if (e.touches.length === 1 && scale > 1) {if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;isPanning = true;hasPanned = false;lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;}}, { passive: false });wrapper.addEventListener('touchmove', function(e) {if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;if (e.touches.length === 2 && initialDistance !== null) {e.preventDefault();var dx = e.touches[0].clientX - e.touches[1].clientX;var dy = e.touches[0].clientY - e.touches[1].clientY;var distance = Math.sqrt(dx * dx + dy * dy);if (initialDistance > 0) {var zoomFactor = distance / initialDistance;var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));var rect = wrapper.getBoundingClientRect();var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;var ratio = newScale / scale;panX = centerX - (centerX - panX) * ratio;panY = centerY - (centerY - panY) * ratio;if (lastCenterX !== null && lastCenterY !== null) {panX += (centerX - lastCenterX);panY += (centerY - lastCenterY);}scale = newScale;lastCenterX = centerX;lastCenterY = centerY;constrainPan();updateTransform();}initialDistance = distance;} else if (e.touches.length === 1 && isPanning) {e.preventDefault();var dx = e.touches[0].clientX - lastClientX;var dy = e.touches[0].clientY - lastClientY;if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {hasPanned = true;}lastClientX = e.touches[0].clientX;lastClientY = e.touches[0].clientY;panX += dx;panY += dy;constrainPan();updateTransform();}}, { passive: false });wrapper.addEventListener('touchend', function(e) {if (e.touches.length < 2) {initialDistance = null;}if (e.touches.length === 0) {isPanning = false;}});function handleMove(clientX) {var rect = inner.getBoundingClientRect();var x = Math.max(0, Math.min(clientX - rect.left, rect.width));var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));if (slider) slider.style.setProperty('left', percent + '%', 'important');if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');if (labelLeft) {if (percent < 10) {labelLeft.style.setProperty('opacity', '0', 'important');} else {labelLeft.style.setProperty('opacity', '1', 'important');}}if (labelRight) {if (percent > 90) {labelRight.style.setProperty('opacity', '0', 'important');} else {labelRight.style.setProperty('opacity', '1', 'important');}}}function onMouseMove(e) {if (!isDragging) return;handleMove(e.clientX);}function onTouchMove(e) {if (!isDragging) return;e.preventDefault();handleMove(e.touches[0].clientX);}function stopDragging() {isDragging = false;window.removeEventListener('mousemove', onMouseMove);window.removeEventListener('mouseup', stopDragging);window.removeEventListener('touchmove', onTouchMove);window.removeEventListener('touchend', stopDragging);}if (slider) {var startDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('mousemove', onMouseMove);window.addEventListener('mouseup', stopDragging);};var startTouchDrag = function(clientX) {isDragging = true;handleMove(clientX);window.addEventListener('touchmove', onTouchMove, { passive: false });window.addEventListener('touchend', stopDragging);};slider.addEventListener('mousedown', function(e) {e.preventDefault();startDrag(e.clientX);});slider.addEventListener('touchstart', function(e) {e.preventDefault();startTouchDrag(e.touches[0].clientX);}, { passive: false });}var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');if (expandBtn) {if (window !== window.parent) {expandBtn.style.display = 'none';} else {expandBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.add('fv-image-compare-fullscreen');document.body.style.overflow = 'hidden';if (fgImage && fgImage.dataset.highresSrc) {fgImage.src = fgImage.dataset.highresSrc;fgImage.removeAttribute('srcset');fgImage.removeAttribute('sizes');}if (bgImage && bgImage.dataset.highresSrc) {bgImage.src = bgImage.dataset.highresSrc;bgImage.removeAttribute('srcset');bgImage.removeAttribute('sizes');}});}}if (closeBtn) {closeBtn.addEventListener('click', function(e) {e.stopPropagation();wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();});}document.addEventListener('keydown', function(e) {if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {wrapper.classList.remove('fv-image-compare-fullscreen');document.body.style.overflow = '';updateTransform();}});});var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');var allProductsList = chartWrapper.querySelector('.fv-stl-all-products-list');var stlContainer = chartWrapper.querySelector('.fv-stl-container');function closeAllModals() {if (allProductsModal) {allProductsModal.classList.remove('is-active');var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');items.forEach(function(item) {item.classList.remove('is-highlighted');});if (stlContainer) {setTimeout(function() {if (!allProductsModal.classList.contains('is-active')) {stlContainer.style.minHeight = '';if ('parentIFrame' in window) {window.parentIFrame.size();}}}, 300);}}hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });if ('parentIFrame' in window) {window.parentIFrame.size();}}hotspots.forEach(function(btn) {btn.addEventListener('click', function(e) {e.stopPropagation();var hotspotId = btn.getAttribute('data-hotspot-id');var isExpanded = btn.getAttribute('aria-expanded') === 'true';closeAllModals();if (!isExpanded && allProductsModal) {btn.setAttribute('aria-expanded', 'true');allProductsModal.classList.add('is-active');var container = btn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');if (targetItem) {targetItem.classList.add('is-highlighted');setTimeout(function() {targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });}, 100);}if ('parentIFrame' in window) {window.parentIFrame.size();}}});});if (shopAllBtn && allProductsModal) {shopAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();allProductsModal.classList.add('is-active');var container = shopAllBtn.closest('.fv-stl-container');if (container && container.offsetHeight < 450) {container.style.minHeight = '450px';}if ('parentIFrame' in window) {window.parentIFrame.size();}});}if (allProductsModal) {var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');if (closeAllBtn) {closeAllBtn.addEventListener('click', function(e) {e.stopPropagation();closeAllModals();});}}chartWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});if (allProductsModal) {allProductsModal.addEventListener('click', function(e) {if (!e.target.closest('.fv-stl-all-products-content')) {closeAllModals();}});}var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');var currentIaIndex = -1;function closeAllIANodes() {iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });if (originalCaption) originalCaption.style.display = 'block';if (dynamicCaption) dynamicCaption.style.display = 'none';}function resetExploreBtn() {currentIaIndex = -1;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Explore';}}iaNodes.forEach(function(btn, index) {btn.addEventListener('click', function(e) {e.stopPropagation();var isActive = btn.classList.contains('is-active');closeAllIANodes();if (!isActive) {currentIaIndex = index;if (exploreBtn) {var exploreSpan = exploreBtn.querySelector('span');if (exploreSpan) exploreSpan.textContent = 'Next';}btn.classList.add('is-active');if (dynamicCaption) {var title = btn.getAttribute('data-title') || '';var desc = btn.getAttribute('data-desc') || '';dynamicCaption.innerHTML = '';var strongTag = document.createElement('strong');strongTag.textContent = title;dynamicCaption.appendChild(strongTag);if (desc) {dynamicCaption.appendChild(document.createTextNode(' - ' + desc));}if (originalCaption) originalCaption.style.display = 'none';dynamicCaption.style.display = 'block';if (footerContentEl) footerContentEl.style.display = 'block';}} else {resetExploreBtn();}});});if (exploreBtn) {exploreBtn.addEventListener('click', function(e) {e.stopPropagation();if (iaNodes.length === 0) return;var nextIndex = currentIaIndex + 1;if (nextIndex >= iaNodes.length) {closeAllIANodes();resetExploreBtn();} else {currentIaIndex = nextIndex;var targetBtn = iaNodes[currentIaIndex];if (targetBtn) {if(targetBtn.classList.contains('is-active')) {targetBtn.click();}targetBtn.click();}}});}if (iaWrapper) {iaWrapper.addEventListener('click', function(e) {if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {closeAllIANodes();resetExploreBtn();}});}window.fvAnimateCharts(chartWrapper);var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');if (countdownContainer) {var targetDateAttr = countdownContainer.getAttribute('data-target-date');if (targetDateAttr) {var targetDate = new Date(targetDateAttr);var primaryColor = countdownContainer.getAttribute('data-primary-color') || '#f97316';var subheadColor = countdownContainer.getAttribute('data-subhead-color') || '#ffffff';var pad = function(n) { return (n < 10 ? '0' : '') + n; };var updateCountdown = function() {var difference = +targetDate - +new Date();var d = 0, h = 0, m = 0, s = 0;if (difference > 0) {d = Math.floor(difference / (1000 * 60 * 60 * 24));h = Math.floor((difference / (1000 * 60 * 60)) % 24);m = Math.floor((difference / 1000 / 60) % 60);s = Math.floor((difference / 1000) % 60);}var daysEl = countdownContainer.querySelector('[data-time="days"]');var hoursEl = countdownContainer.querySelector('[data-time="hours"]');var minsEl = countdownContainer.querySelector('[data-time="minutes"]');var secsEl = countdownContainer.querySelector('[data-time="seconds"]');if (daysEl) daysEl.textContent = d;if (hoursEl) hoursEl.textContent = pad(h);if (minsEl) minsEl.textContent = pad(m);if (secsEl) secsEl.textContent = pad(s);};updateCountdown();setInterval(updateCountdown, 1000);}}}if (false) {var slideshowContainer = document.getElementById(uniqueId + '-slideshow');if (slideshowContainer) {var slides = slideshowContainer.querySelectorAll('.fv-slide');slides.forEach(function(slide) {setupWrapper(slide.querySelector('.fv-chart-wrapper'));});}} else {setupWrapper(root);}}if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1785251267479-g474gdird', false); });} else {initialize('fv-chart-1785251267479-g474gdird', false);}})();How to avoid VPN auto-renewal traps and surprise chargesIt's clear that major VPN providers need to do more to ensure fair and transparent pricing and billing. Thankfully, there are also a number of steps you can take to make sure you're not unnecessarily impacted.
To avoid the billing and pricing issues referenced here:
We contacted each VPN provider for comment on our findings.
Representatives from NordVPN, Surfshark and ExpressVPN highlighted their strong overall Google Play ratings and stressed that user feedback informs ongoing app development.
ExpressVPN added that subscriptions bought via Google Play are subject to Google’s payment and refund policies, but noted its focus is on making the experience "easier to understand, manage, and resolve when customers need help."
A NordVPN spokesperson argued that its premium pricing reflects ongoing infrastructure investment, but pointed out that because the app is free to download, "some users expect the service itself to be free as well," which can drive down review scores when users discover it is a paid product.
A Surfshark spokesperson acknowledged that "public reviews naturally tend to overrepresent moments of friction" but said its current approach is "resonating positively with users" overall.
Meanwhile, Proton VPN emphasized that its paid subscriptions fund an unlimited, ad-free tier for all users, adding that it "clearly states its pricing structure, upfront costs, and terms of renewal" without using tiered feature paywalls or surprise price increases.
MethodologyWe collected almost 30,000 user reviews published on Google Play Store since the beginning of the year for the four VPN providers featured in this report using the google_play_scraper library.
As individual reviews often address multiple topics (e.g. streaming and security), we broke reviews down into sentence-level units. This expanded our analysis to over 47,000 entries, with reviews permitted to sit across multiple categories when required.
Each sentence was assigned to specific categories using regex keyword filtering, and analyzed for sentiment using a pre-trained BERT model that took into account the user’s star rating.
While all machine learning sentiment pipelines carry a margin of error, every VPN provider was subjected to the exact same pipeline to ensure consistency and fair comparison. Human review was also conducted throughout.
Data processing scripts were developed in Python with assistance from an LLM, and all outputs were manually reviewed.
Chinese memory chip maker CXMT briefly became China's most valuable company after its Shanghai IPO, highlighting surging investor demand for AI memory chips.
The post CXMT Becomes China’s Most Valuable Company Hours After Shanghai IPO appeared first on TechRepublic.
JetBrains has patched CVE-2026-63077, a critical TeamCity flaw that could let unauthenticated attackers execute server commands and compromise connected CI/CD pipelines.
The post Critical TeamCity Flaw Could Let Unauthenticated Attackers Execute Server Commands appeared first on TechRepublic.
Formula 1 is close to reaching 1 billion fans across the globe, rising from 12% year over year from 2024 to 2025., with the current figure standing somewhere around 800 million.
To try and capture some of this huge potential market, the TGR Haas team has partnered with Infobip, resulting in a novel way to stay engaged with fans while funding car development through merchandise marketing.
RaceMate is an AI-powered fan companion that provides conversational updates on the team’s grid positions, race and qualifying outcomes, and team race intelligence.
(Image credit: Benedict Collins / Future)Gamified engagement across the racing scheduleAt Silverstone, the home of the British Grand Prix, I spoke to Michael Heath, Senior Fan Engagement & CRM Manager at TGR Haas F1 Team, and Ante Pamuković, Chief Revenue Officer at Infobip, to discuss how RaceMate has changed the face of fan engagement throughout the 2026 season.
Following the launch, Haas ran several highly successful fan quizzes through the Racemate chat - but Heath and the team noticed that fans were engaging in an entirely unexpected way.
“We actually started to see that fans were then asking this WhatsApp channel questions, but at the time we didn't have any capabilities built into it that would respond,” he explained. “That was ultimately what fans wanted to do, how they wanted to interact, that's kind of where RaceMate was then born from.”
Racemate runs on Infobip’s AgentOS platform, which has allowed Haas to set guardrails on the topics of conversation users can begin, and helps steer fans back on to relevant topics about TGR Haas.
“This is where we saw actually the spike of more and more people joining the conversations and actually more of them returning,” said Pamukovic. “We saw up to 30% of returning fans to the platform, which is quite high.”
A challenge TGR Haas is attempting to counter is the banning of social media for under 16s, as many Formula 1 fans use social media as their first point of contact for engaging with teams and drivers.
“We need to have a place where, one: it's safe for them to be, but two: they can still get all the information that they're used to getting,” Heath explains.
“When you look at short form video content that they can get on Instagram right now, can we now start delivering that to them through Racemate because it's a safer platform where there's not all of the comments and negativity which is associated to it, but it's still on something which they feel like they own and operate and isn't just a commercial brand shouting at them loudest,” he adds.
(Image credit: Benedict Collins / Future)RaceMate is available directly through the WhatsApp Business Platform and Apple Messages for Business.
“It's on a communication channel that you already have effectively, rather than making you download something else and remembering to go there,” Heath explains.
One of the most important parts of fan engagement is creating a revenue stream without making it cost to be a fan. “Race mate for us is great because it's a very low barrier of entry,” Heath says. “Once they're then in and they can start engaging, then we can start capturing their data, and then once we've got the data we can then start to build that 1 to 1 relationship, start to build that profile type.”
“I think that's gonna have more waiting for commercial value rather than charging the fan directly,” he adds.
Pamuković concurs with Heath’s point. “We see all of these different components, different silos merging into one, and being able to create the data and then use it to the best possible extent. This is the way forward. Understanding the interactions, the fans, the behaviour, what drives them, what motivates them, and then of course how to best serve them.”
To that end, Racemate includes a feature that allows users to virtually try on team merchandise before making a purchase - something I very much enjoyed testing.
A demonstration of RaceMate's virtual try on feature.Benedict Collins / FutureA demonstration of RaceMate's virtual try on feature.Benedict Collins / FutureRaceMate’s futureLooking into the future, Heath has big plans for Racemate. “I want Racemate to be the second screen. So if you are watching the race or you're not in the house and you want to know what's going on in the race and you want to get closer to the action, I want Racemate to become that home.”
Racemate also has the potential to help new fans learn more about race strategy, and the general rules surrounding Formula 1.
“Can we basically use Race Mate to unlock that conversation in fairly simple terms so that a fan can start to understand what they're looking at on a pit wall? So that a fan can start to understand why they've made a pit stop at a certain point? What window are they trying to come back out into?” Heath asks.
“Because I think to truly understand the sport you need to understand all of those touch points.”
For quite a long time now, I've been concerned about how Microsoft is going to monetize Windows going forward. While the world's dominant desktop operating system remains available for a one-off fee (assuming you aren't an upgrader who can get it for free), there's a good chance this could change in the future.
Why do I think that? To me, it feels somewhat inevitable that eventually, Microsoft is going to look for a way to shift Windows from an upfront payment to a subscription model for consumers. That regular monthly income stream piling up in the coffers is the end game for most big tech companies and their products these days for good reasons in terms of the profits to be made.
Of course, rumors about Microsoft looking to charge a subscription fee for using Windows to consumers (as opposed to businesses, where there's already a subscription option) have been floating around for years. True, they've all been dubious and sketchy in nature, or indeed proven outright incorrect, but this idea keeps bubbling up, and I believe we're witnessing a development with AI right now that indicates how Microsoft might have an ideal opportunity to make this pivot at some point down the road.
Last week, Windows Central spotted that the Copilot feature Deep Research is getting the axe, to be replaced with a new feature: Researcher. The idea behind both pieces of functionality is roughly the same (researching and creating detailed reports complete with citations), but the difference is Deep Research was free, whereas Researcher requires a subscription to Microsoft 365 Premium.
This follows Microsoft Whiteboard (where AI assists you in brainstorming ideas) getting changed so personal accounts can no longer use it — the app now requires being signed up for a Microsoft Business account. On top of that, Outlook's Meeting Insight functionality was just shifted behind a paywall, being transformed into an admittedly beefier AI feature, but one that needs a Microsoft 365 Copilot license.
So, there's a trend towards turning previously free AI features into paid ones, presumably as Microsoft rejigs its Copilot offerings and figures out what works well — and what's being used — and whether any of that can be charged for.
AI pivot(Image credit: Microsoft)Now, we all know AI agents are going to be the 'next big thing' (TM) in Windows 11, certainly if Microsoft has its way, and the idea is for these AI entities to be doing more and more within the OS.
We won't just have an agent for changing Windows settings — and I mean a proper incarnation of this already existing idea, which really can adjust a host of options based on a simple request to "make my laptop battery last longer" or similar — but we will have a small crowd of them. Maybe a troubleshooting agent, for example, which can take a problem that you're battling in Windows and use some genuine AI smarts to help solve it. Or perhaps a creativity agent which can tackle a host of image or video-related tasks, or more broadly help with organizing your projects and photos.
I think the catch will be that eventually, as we've seen with some aspects of AI and Copilot, Microsoft will start shuffling some of these agents behind a paywall — especially considering that more powerful capabilities like these in-depth AI tricks will cost Microsoft a fair bit to drive in terms of cloud resources. It's certainly conceivable that Microsoft could end up charging a small monthly fee to use these premium agents, maybe as separate add-ons in the hope that you'll bolt more of them onto Windows for a cumulatively greater benefit to its coffers.
We could ultimately be looking at a kind of modular, AI-focused OS, and to me, this seems like the easiest way for Microsoft to transform Windows into a subscription model, because it'll happen slowly. You don't need a troubleshooting AI agent to run Windows at all, but it'll be a nice thing to have — certainly for less tech-savvy types — in case problems do arise in the OS.
As more bits and pieces that might start off free drift behind a paywall — as these AI features are built up and become more compelling — people may eventually be tempted to buy a bundle of them. And before you know it, you've signed up for a Windows subscription of sorts (although the free version of the OS will, of course, still be available).
In the end, there may be a couple of bundles — tiered subscriptions, in other words — and let's not forget Microsoft's potential ambitions for a cloud PC model for consumers, either.
This has been a possibility raised in past rumors and leaks (and again, this is something which has already happened in the enterprise world), and if you put all this together, you're looking at a kind of Netflix model, if you will: a streamed OS with several paid subscription tiers. Albeit with a free basic tier for Windows – although who's to say that may not become ad-supported, or indeed more ad-supported, as Windows 11 already does a fair old line in adverts and promos. (Although admittedly Microsoft is cutting back on that front in its crowd-pleasing efforts to fix Windows 11).
Not a foregone conclusion — but a likely enough prospect(Image credit: MAYA LAB / Shutterstock)This is just my opinion, naturally, and yes, maybe I got rather carried away with the extrapolation at the end there. It's also true that some big question marks remain hanging over the wider notion I've put forward.
As I just mentioned, Microsoft is very much bending over backwards to please Windows 11 users right now, so any possible timeline for this shift may be pushed way back in view of that. Bringing in some form of subscription is hardly going to be a well-received move, even if implemented in small, delicate increments as I'm guessing it would be.
The other obvious sticking point is that Microsoft needs to make its AI agents in Windows worth having. They need to be objects of desire and come packing genuinely useful AI abilities, otherwise clearly, people won't pay for the privilege of having them on their Windows desktop. They also need to be secure and trustworthy so they don't end up throwing spanners in the works of your Windows installation.
That could be the biggest hurdle for Microsoft to overcome, because as it stands, when the idea of AI features being paywalled in Windows 11 has been raised (in rumors and the like), it's been actively welcomed by the more skeptical out there. The cynics are more than happy to have everything AI-related locked away from them, and as non-paying users, this would give them an AI-free Windows 11 desktop.
Again, this plays into any potential move along these lines having to happen further into the future, but I think Microsoft does have this as an eventual goal. If you ask yourself the question: if Microsoft could charge a subscription for Windows 11, would it? The answer is clearly yes, a thousand times over. But the actual, real question here is whether Microsoft thinks it could successfully get away with such a plan without sparking a large-scale defection from its desktop OS.
We can keep our fingers crossed that a monthly charge for Windows isn't coming, but frankly, I think it's likely. Or even just a matter of time — perhaps a lot of time, granted — whether that subscription pertains to AI add-ons, or a cloud PC offering, or Microsoft finds another way to spin this.
I didn't realize I'd developed an unhealthy obsession with wellness and optimization. But looking back, there were definitely signs. This was more than a decade ago, long before recovery scores, longevity influencers and what the best smart ring colors are became water cooler conversation.
As a technology journalist, reviewing health gadgets and fitness trackers has always been part of my job but they gradually spilled over into my personal life too. At one point, I was wearing multiple fitness trackers at the same time because I didn't fully trust any single device. I'd compare the data, then transfer it into spreadsheets each night so I could better analyze it myself.
Most days I walked more than 20,000 steps. Some days it was closer to 30,000 and I got such a kick out of seeing those numbers climb up. I became fascinated by the idea that there was an optimal way to do almost everything. An optimal diet, optimal morning routine, optimal supplement stack and an optimal sleep schedule.
Every new wellness trend arrived with the promise of hidden knowledge and I was eager to believe it. I spent money on retreats, courses and gadgets. I followed advice that ranged from questionable to ridiculous. And the less said about the gruelling fasting retreat where we were all given daily wheatgrass enemas, the better.
The strange thing is that none of this felt unhealthy at the time — if anything, it felt virtuous. My trackers congratulated me for hitting goals and fitness apps handed out badges and streaks. There was always another target to hit and another metric to improve. The obsession disguised itself as self-improvement so effectively that I barely questioned it.
What I didn't understand at the time was how thin the line between discipline and obsession can be. You can cross it gradually, one habit and one goal at a time, until something that started as a genuine attempt to look after yourself becomes another source of pressure, anxiety and control.
More than a decade later, as wearables, recovery scores and optimization culture have since become mainstream, I don't think my experience is unusual. If anything, I'm surprised we don't talk more about the psychological cost of constantly measuring ourselves and the role technology plays in keeping us focused on the numbers.
Why health data can become a trap(Image credit: Samsung)For a long time, I assumed my experience was unusual. When my obsession with optimization was at its worst, there weren't podcasters talking about longevity-maxxing and relatively few people owned fitness trackers.
Over time, I managed to develop a healthier relationship with exercise and health data. But as wearables have become more common and self-tracking has moved into the mainstream, I've started noticing some of the same patterns I once recognized in myself.
When I spoke to psychotherapist Sarah Dosanjh, who works with people experiencing health anxiety and disordered relationships with food, much of what I'd experienced sounded familiar.
"What I'm noticing in my practice is that people who already have some form of anxiety seem particularly drawn to health data technology devices," she says. "An anxious client seeks certainty and control and health information feeds a sense of control, making it very appealing to an anxious person."
Looking back, some of the periods when I was most immersed in tracking and optimization were also periods when other parts of my life felt uncertain or difficult. The data gave me something concrete to focus on. It offered numbers, targets and routines at times when everything else felt far less predictable.
Dosanjh explains the irony is that tools designed to help people feel more in control can backfire. "The most common devices I see people struggling with are food and exercise tracking apps and continuous glucose monitoring devices," Dosanjh says. "But what starts as feeling in control can quickly turn into feeling controlled by the technology."
She describes people becoming increasingly preoccupied with maintaining specific numbers and avoiding anything that might disrupt them.
"Closing exercise rings, achieving a certain step count and keeping blood sugar within a specific range can turn into a compulsion,” she tells me. “Anxiety peaks at the mere thought of not hitting numbers. What feels like a good thing to do for your health can become a source of intense anxiety instead."
These behaviors rarely look unhealthy from the outside. Going for a walk, exercising regularly or paying attention to what you eat are generally considered positive things. The difficulty is knowing when useful habits become rigid rules and when health stops being something that supports your life and starts becoming the thing your life revolves around.
Dosanjh says that cycle can become self-reinforcing. "This situation becomes more dangerous when the person believes they can manage this added anxiety by setting even higher goals,” she explains. “They are chasing the initial relief and dopamine hit that they experienced early on in their tech use. It can become an addictive trap, driving people further into disordered eating and compulsive exercise."
I think that’s what makes optimization culture so difficult to talk about. For some people, tracking genuinely is helpful. It can encourage movement, show them useful patterns and provide much-needed motivation via streaks and digital rewards, such as badges and kudos from other users. For others, particularly those already vulnerable to anxiety, perfectionism or compulsive tendencies already, the same tools can pull them further down a path they may not even realise they're on.
When tracking went mainstream(Image credit: Future)When I first started reviewing fitness trackers, this kind of behavior felt relatively niche. Most people weren't tracking their sleep. Very few people knew what heart rate variability was. The idea of waking up and checking a readiness score before deciding how hard to exercise would have sounded bizarre. But today, optimization is everywhere.
More than 45% of people in the UK and around 60% of people in the US now own a smartwatch or fitness wearable. Even if you don't actively seek out health tracking, many of the features, like step counts and calorie estimates, are now built directly into devices like Apple Watches or smartphones that we all use every day.
Despite this, researchers are still trying to understand the psychological impact of living with a constant stream of biometric data. There's no clear evidence that large numbers of wearable users are developing serious problems. But a growing body of research does point towards some worrying patterns. Several studies have linked fitness tracking technologies with increased anxiety, body dissatisfaction and rumination. Others have found associations between wearable use and higher levels of obsessive-compulsive traits, like perfectionism and over-conscientiousness.
I found that one study even introduced a new term: technohypochondria. Researchers defined it through three features: biometric data obsession, digital catastrophizing and a pathological need for algorithmic feedback. Unlike traditional health anxiety, which tends to focus on illness itself, technohypochondria describes a dependence on the continuous flow of personalized health data and the reassurance it appears to provide. I guess I’m a recovering technohypochondriac?
What I found particularly interesting was that researchers working on one of the key studies raised a really important question: “are people with pre-existing compulsive tendencies more drawn to wearables, or do continuous tracking and feedback loops foster or exacerbate these tendencies?”
It’s a chicken-and-egg sort of question and the answer is probably complicated. But the researchers do suggest a feedback loop may exist, where pre-existing vulnerabilities and constant self-tracking reinforce one another.
None of this means that everyone who wears a smartwatch is heading towards a crisis. I know personally that I did already have compulsive tendencies and controlling behaviors with food long before Fitbit released its first device. But I think it does suggest that the emotional impact of optimization deserves more attention than it often receives. Because once tracking becomes woven into everyday life, it can be surprisingly difficult to tell where useful information ends and unhealthy fixation begins.
When the numbers become the point(Image credit: Mile Atanasov / Shutterstock)When I asked my friends and followers on social media to share their experiences with wearables and health tracking, I expected a handful of disparate stories. Instead, I heard from people who described becoming trapped by numbers in ways that felt extremely familiar.
Some were dealing with chronic illness. Others were recovering from major health events. Some simply wanted to get fitter or sleep better. But again and again, there was the same pattern. What began as a search for reassurance gradually became another source of anxiety.
I spoke to Emma, who started relying heavily on health data after cancer treatment and surgical menopause left her worried about the long-term impact on her health. "My watch became reassuring," she tells me. "I thought if my heart rate looks normal, I'm probably okay."
But over time that reassurance became its own form of dependence. "It felt like I was controlling my health anxiety," she says. "But I think I was just making it worse."
Sarah, who has used wearables for years while managing endometriosis and dysautonomia, described a different concern. "I wake up and let Oura tell me if I've slept well and then Visible gives me a score for the day, and that just feels wrong," she says. What impacted her most was the lack of trust she had in her own judgement. "I think it's made me lose trust in myself a little. Am I actually tired and am I really that stressed because an app said so?"
I think that gets to the heart of what can make continuous tracking so complicated. The problem isn't necessarily that you’re looking at data a lot — the problem is what happens when the data becomes more important than your own lived experience.
Understanding the cycle(Image credit: Shape Pilates founder Gemma Folkard )Even though all of the stories I heard about wearables were different, a common thread was just how many seemed to be born from a feeling of trying to manage uncertainty.
Many of the people who contacted me weren't trying to become superhuman, chase longevity records or optimize every minute of their lives when they first started tracking. They were dealing with health scares, chronic illnesses, anxiety, weight issues and burnout.
And the data that their wearables collected offered reassurance. But the problem is that reassurance doesn't tend to last.
"Many of my clients understand that something doesn't feel quite right about their technology use, but they are afraid to stop using it," Dosanjh tells me.
She often explains this through what psychologists call the anxiety cycle. It starts with uncertainty. Am I healthy? Am I eating the right thing? Am I doing enough? The device provides an answer, whether that's a sleep score, a heart rate reading or a closed exercise ring. The anxiety temporarily decreases and the brain learns that checking the data creates relief.
But, over time, that starts to fade. "The temporary relief that comes from hitting a target or seeing a reassuring number keeps feeding the illusion of mastery over your health," Dosanjh explains. "Helping clients understand that what they are seeking in the tech is certainty, and since complete certainty is impossible, the focus of our work moves from trying to eliminate anxiety to developing the capacity to tolerate uncertainty."
That really describes my own experience. The more I tracked, the more I felt I needed to track. The more information I had, the more information I wanted. The pursuit of health slowly became the pursuit of certainty, which, as we all know logically, isn’t something you can ever get, achieve or “win” at.
What actually helped meA big part of getting better was realizing that my obsession with health data wasn't really about the health data at all.
Looking back, some of the periods when I was most preoccupied with optimization were also periods when other parts of my life felt difficult, uncertain or out of my control. The trackers gave me something concrete to focus on. There was always another metric to improve, another target to hit, another problem that seemed solvable.
But many of the things I was actually struggling with couldn't be fixed with a spreadsheet or a sleep score. Therapy helped me recognize that pattern. So did learning to tolerate uncertainty a little better. Over time, I became less interested in controlling every variable and more interested in understanding why I felt the need to control them in the first place.
That doesn't mean the tendency completely disappeared, I still recognize it in myself from time to time. The difference is that now I see it for what it is and can catch the early warning signs.
Should wearables be designed differently?(Image credit: Future/Garmin)I don't think every fitness tracker needs to be redesigned around people like me. The most effective intervention for my own unhealthy behavior was surprisingly simple: I took all the devices off. But some researchers argue that the design of wearables does deserve more attention.
One of the studies I looked at found that some of the negative psychological effects associated with fitness technologies could be linked to the features themselves. Feedback systems, gamified rewards, social comparison tools, constant notifications and the stream of immediate statistics can all encourage people to engage more frequently with the data, sometimes in ways that become unhelpful.
The researchers believe that psychological wellbeing should be treated as an important measure of success alongside more familiar metrics, like engagement, accuracy and battery life.
That doesn't necessarily mean removing goals or progress tracking. But it could mean giving people more control over how they interact with the technology.
Based on what I’ve seen from years reviewing wearables, that could mean less judgemental language, fewer alarming warnings, more ways to take breaks without feeling punished, and more flexibility over what data is displayed and when.
Most wearable companies already offer some degree of customization. Yet many products are still built around the assumption that more engagement is always better. In many cases that's true; regular use makes the data more useful over time because you can see patterns and track trends. But there should always be room for people to step back when they need to. A healthy relationship with wearable technology shouldn't require constant engagement, and users shouldn't feel punished for taking a break.
Health should improve your life, not become your lifeThe irony is that I became interested in health and fitness because it genuinely helped me. I learned from a really young age that exercise improved my mood, moving more reduced my anxiety and looking after myself made life feel calmer and more manageable. But I started paying way too little attention to how I felt and too much attention to what the numbers said.
These days, I still review fitness technology and sometimes still wear trackers outside of work. But I pay attention to different things now. If I feel guilty taking a device off, that's a warning sign. So is chasing a target despite being exhausted and spending more time thinking about the data than paying attention to my actual experience.
But most importantly, I ask myself what else is going on. Because when I feel like I’m becoming overly fixated on optimization, there's often something else happening underneath. Data is usually not the cause. It's just where all that energy and anxiety ends up being funnelled.
Dosanjh encourages people to approach health data as information rather than instruction. "Health tech should be an enhancement in your life and not an additional source of stress," she says. "Prioritize your wellbeing over optimization."
She also encourages people to regularly check whether the technology is still serving the purpose they originally bought it for. "How you feel is a more helpful barometer of wellness than numerical data. Be clear about your reasons for using the tech and check they align with your life values,” she says.
That's the lesson I wish I'd understood years ago. Health should improve your life but not become your life. Because no matter how sophisticated our trackers are there are still some things they can't measure. Like whether you have enough energy to spend time with the people you love, whether you're enjoying your life and whether you're actually feeling well. Those are infinitely more important than if you hit 10,000 steps today.
Meta is removing Instagram videos that use Ray-Ban smart glasses to harass strangers, highlighting growing privacy concerns around AI-powered wearable cameras.
The post Meta Begins Removing Harassing Ray-Ban Smart Glasses Videos From Instagram appeared first on TechRepublic.
Meta is under renewed scrutiny after researchers found thousands of AI "nudify" ads on Facebook and Instagram, raising questions about the company's advertising enforcement.
The post Meta Faces Scrutiny After Report Finds Thousands of AI Nudify Ads on Facebook, Instagram appeared first on TechRepublic.
The AI race started off with a pretty clear direction – bigger and better. The first waves were characterized by building bigger models, but it’s all change in the world of artificial intelligence and with enterprises, SMBs and consumers all finding use cases for the technology, the focus has shifted.
Now, AI firms and model developers are looking to realize a much tougher goal. Efficiency. Cost per token, performance per watt, output per input, it’s all about driving maximum efficiency.
One clear divide is between training and inference. While training models still requires huge amounts of resources, inference efficiency is starting to improve, and one company (Rebellions) now believes an opening for inference-first hardware could create a new market.
The company’s racks are said to consume around 16-20kW, compared with around 120kW for leading GPU-based inference systems that, for many use cases, are sheer overkill.
Rebellions’ rack costs are also said to be around one-third of the price, making AI inference more accessible and helping enterprises to deploy AI more widely.
This hardware shift could be the start of truly efficient AIMemory is also another battleground, whereby huge trillion-parameter models are testing the limits of today’s hardware and the intertwined reliance on memory and compute. Something Rebellions says it’s looking to fix by working with the likes of SK Hynix and Samsung to align multiple roadmaps, instead of having to respond to shifts in architecture.
Ultimately, today’s black-and-white chip manufacturing landscape is now evolving, and Rebellions sees two key changes happening simultaneously. Firstly, training and inference hardware is starting to differ more drastically. Secondly, aligning multiple hardware roadmaps across memory, compute and more will drive more efficiency not just across deployments, but in terms of bringing new products to market.
I spoke to Rebellions CEO Sunghyun Park allows me to understand how and why inference and training hardware are starting to separate, as well as the importance of open standards and collaboration in the drive for all-round efficiency.
This split exists because training and inference are fundamentally different problems.
Training is how you build a model. It happens once, involves a small number of organizations, and rewards raw computational flexibility because the workload keeps shifting as research moves forward.
Inference is how you actually use a model: every query answered, every transaction processed, every decision an AI system makes in production. That happens billions of times a day across nearly every industry, and it’s where AI moves from R&D into revenue.
Those two jobs need different physics. Training requires maximum FLOPS. Inference requires efficiency, reliability, and economics that hold up when you’re serving users at scale.
The industry forced a training chip into that second job because that’s what existed. Now that inference has become the larger, more urgent market, that compromise no longer holds. Enterprises and governments are asking how fast they can deploy. That’s why the conversation is splitting now.
We built for inference, from day one. Most first-generation AI chip companies emerged from the 2016-2017 training boom and adapted their architectures for inference afterward.
We started in 2020 – after that wave – with inference as the only target, which meant designing around what production AI actually needs instead of retrofitting a training chip.
The numbers reflect that choice. Our racks draw 16-20kW versus roughly 120kW for leading GPU-based inference systems, about a sixth of the power, in a market where power is the binding constraint for most operators.
Acquisition cost runs around $10 million per rack versus roughly $30 million, about a third of the cost. Our chiplet-based architecture also scales out rather than betting that a single device can handle a model’s full size, which matters now that production workloads are trillion-parameter mixture-of-experts models instead of the few-hundred-million-parameter models the first generation was built around.
It’s also why our architecture is memory-centric rather than compute-centric. The chiplet approach exists to keep memory close to logic as models scale, not just to add cores.
And we have three years of production deployments behind that architecture, not pilots. That’s the hardest part to replicate: real workloads, running at scale, today.
The chiplet conversation was about architecture: breaking a chip into modular pieces that scale independently, rather than betting everything on a single monolithic die.
That mattered because it let the industry move past an assumption the first generation of accelerators made in 2016 and 2017, that a single device would always be big enough to run any model.
That assumption broke once mixture-of-experts and trillion-parameter models arrived.
The memory conversation is the layer underneath that. Once the architecture problem is solved, the constraint becomes physical: can you actually get enough high-bandwidth memory (HBM) to build what you’ve designed?
HBM is 3D-stacked memory, and how closely you can physically stack it to compute is as much of a bottleneck as raw supply.
Every AI accelerator company is competing for the same limited supply right now, and demand has outpaced what memory makers can produce. That’s the memory-logic co-design problem: architecture and memory supply are no longer separable decisions.
We’re in a different position because our investor relationships were built around supply, not just capital. Our memory partners are also investors, and we co-design our memory architecture directly against their roadmaps rather than simply purchasing off them.
Our chiplet architecture also develops against our foundry partner’s process roadmap. When the rest of the industry was fighting for allocation, we already had a seat at the design table through those relationships.
That’s memory-logic co-design, not just secured supply. The shift from chiplets to memory tracks has moved the real constraint: from architecture to physical supply.
It’s mostly true, but ‘plug-and-play’ undersells how deliberate that was, and oversimplifies in one specific way.
We built entirely on open standards: vLLM, PyTorch, Kubernetes, and Red Hat OpenShift. We’re one of only two chip companies in the PyTorch Foundation, and the only AI accelerator company fully integrated with OpenShift.
A developer who already knows how to run inference on existing infrastructure already knows how to run it on ours. There’s no proprietary runtime to learn and no migration project. That part really is close to plug-and-play.
The first generation of AI chip companies each built proprietary software stacks, and hundreds of millions of dollars went into software that didn’t survive. We came to market once the open source ecosystem had matured and chose to build on it instead of forking it.
Where it oversimplifies is assuming that means zero integration work. Production deployments still require validating performance at your specific workload and scale, and that takes real engineering time, no matter how compatible the stack is.
What open standards remove is lock-in risk and retraining cost, not the deployment work itself.
Most organizations aren’t built like hyperscalers, and much of the available inference infrastructure assumes they are.
The first challenge is physical. Most enterprises, telcos, and governments already have data centers. They can’t wait two to three years or spend $600 million-plus on new ones, and they can’t retrofit for liquid cooling without major cost and disruption.
So the practical question is whether inference hardware runs on what they already have: standard racks, air cooling, and existing power budgets.
The second is sovereignty. Organizations increasingly want to bring compute to where their data already lives, rather than move sensitive data to wherever compute is hosted.
That’s partly regulatory, partly operational, but either way, cloud-only inference creates a dependency a lot of operators are no longer comfortable with.
We built specifically for that gap. Our systems run at 4-5kW per server on standard air-cooled infrastructure, no facility redesign required.
SK Telecom has run on our hardware for nearly three years, scaling from a small cluster to close to 100 racks and now processing 50 million API transactions a day, entirely inside their existing network.
KT Cloud runs real-time inference on highway CCTV systems nationally. Both show you don’t need hyperscaler-scale infrastructure to run AI at hyperscaler-relevant volume.
It tells the public markets that AI infrastructure is a durable, investable asset class, not just a venture-backed bet. That validation benefits the whole sector, including us: it says purpose-built AI silicon is real, differentiated from general-purpose GPUs, and worth independent capital.
Capital flowing into the sector is necessary, but it doesn’t by itself determine who wins. The companies that define the next decade of this market won’t necessarily be the most-funded ones.
They’ll be the ones with real fundamentals: production customers, deployment scale, proven economics, durable supply chain relationships. That’s a different filter than fundraising size, and it’s the one that matters once public market scrutiny starts.
We’ve been building toward that filter since 2020, with production deployments and supply relationships with our foundry and memory partners that we secured before the rest of the industry was fighting over the same allocation. The capital is a tailwind for everyone serious about inference.
Whether it gets deployed well is a separate question, and one the market will answer over the next few years.
The buildout happening inside existing infrastructure keeps accelerating. Most enterprises, telcos, and governments aren’t waiting for new data centers.
They’re deploying inference into facilities they already have, and I expect that to become the bigger story even though it gets less attention than hyperscaler headlines.
Additionally, memory remains the physical constraint. HBM supply hasn’t caught up with demand, and as models keep moving toward trillion-parameter mixture-of-experts architectures, that pressure increases rather than eases.
Companies with secured, strategic supply relationships will have a real advantage over the next two years, not just a cost one.
Chiplets are how we get there. We’ve already mass-produced a highly advanced 4-chiplet package – a level of integration Nvidia has struggled to reach.
Reporting this year indicated Nvidia had built and demonstrated a four-chiplet Rubin Ultra design, then canceled it in favor of a dual-die architecture over manufacturability concerns: a four-die single package pushes roughly 7.5-8x past reticle limits on yield and cost. That’s the foundation.
The next layer we’re building on is performance optimization of HMB3E (3D-stacked memory) in close collaboration with memory and compute co-designed together from the start, not bolted on after the fact.
Also on my radar is the fact that as more companies in this space go public, capital will get valued against production fundamentals rather than funding rounds.
And the efficiency point matters: as inference gets cheaper per token, demand doesn’t shrink, it expands, because new use cases become viable at lower cost. That’s been true of every computing platform in history, and I don’t expect AI inference to be the exception.
If you're looking to get ahead for college in the fall, then a VPN is one of the most sensible back-to-school staples to tick off your list now. You're going to spend a lot of time connected to campus Wi-Fi and it's often not as user-friendly as it might seem.
For sure, there can be security concerns when connecting to any form or public network, which a VPN can help with, but its best use at university is to make sure you can access all the content that you usually do at home.
That's because campus Wi-Fi can be very restrictive. These are networks that have to manage huge bandwidth demands, maintain cybersecurity, and also comply with legal requirements.
That means that they often limit access to certain usage-heavy services, and sites and apps that are more in a grey area when it comes to safety and the law. Think video streaming, online gaming and torrenting, for examples, as three activities that you might find curtailed.
But, if you're using a VPN on your device, the campus network in question won't be able to see what internet sites and services you're accessing, so it will be blind to you and your activities.
It will probably be able to see that you're using a VPN, the amount of bandwidth your device is using and what your device is but your online deeds will remain private. So, if you're headed to college this year, you might want to think about getting a VPN.
Right now, IPVanish is a good choice for college students. It does a great job of keeping your digital life private and, just as importantly, it's cheap!
Get IPVanish: $2.19 per month (that's $52.56 for 2 years)
IPVanish has long been a reputable VPN provider. It has a an audited no-logs privacy policy, good features for torrenting and will unblock streaming services such as Netflix and ESPN+ wherever you are. It doesn't have as many worldwide server locations as some of the more expensive VPNs but that isn't a problem when it comes to getting round campus Wi-Fi restrictions. Try it out with the safety of a 30-day money-back guarantee.View Deal
At $2.19 per month, IPVanish is solid, 4-star VPN and is only short of the very best VPNs on features like server count and some streaming service unblocking that's not a priority for this use case.
It does also have a unique privacy feature which may be handy for your browsing too.
IPVanish's Secure Browser is remote browser software that runs on an IPVanish cloud server. The sites and services you then navigate to have no idea about you or your device at all. They only connect with the cloud server.
That means the session cannot be linked with you at all and no trackers, cookies nor anything else can come your way. It also protects you from any malware or any other nasty things that you stumble across. Definitely worth using when you're searching the darker corners of the web.
Along with IPVanish's standard features, that should have you covered for all the college dorm internet use cases you'll have. Give it whirl.
New reports on real-world AI deployments seem to be being published almost daily, but there's one clear message which seems to span them all – shadow AI is a major problem.
The use of unapproved or unauthorized tools by workers is a common theme regardless of business size, sector or geography, and it often stems back to one or two reasons – employers are either being too prescriptive about permitted AI tools and are giving workers a narrow window of unsuitable tools to experiment with, or they lack any clear strategy altogether.
These reports have already detailed the risks in great depth, but to summarize, using consumer-grade versions of AI apps puts sensitive and confidential workplace data at risk, be it leaks or secondary exfiltration via model training. Hence why companies invest in enterprise-grade versions with additional safeguards.
Shadow AI is a symptom of a bigger problemToo commonly, employers consider shadow AI a disease that plagues their workers. Something that should be stamped out with more effective training or harsher consequences to breaking the rules.
But the reality is that shadow AI is more often a symptom of the boarder workplace culture, and it's the cause of this that I set out to explore when speaking with industry experts and policymakers.
Canva preaches the importance of freedom of choice – the Australian software giant gives its workers full autonomy over the models they want to use, affording them the time to identify the right tools rather than being prescribed unsuitable alternatives.
Policies only work when they're accessibleBeginning with insufficient and unsuitable policies, Zendesk Chief Legal Officer Shana Simmons explained to me in an exclusive interview that many of today's agreements and policies are far too formal and field-specific.
"AI policies often fail because they’re written for lawyers, not for the people expected to follow them," she outlined, "if people can't understand the guidance, their behavior won't change."
Simmons also explained the policies are being stored behind closed doors in hard-to-reach places, like HR folders that workers never, ever check.
"If a policy is buried in a handbook or on a website, it’s not going to reach employees when they need its," she said, noting that policies should actually form part of the UI – or in other words, where the workers already are.
Canva warns us that, "the most common mistake is treating AI training as a curriculum," whereas it should really be seen as an ongoing back-burner activity that's always developed. The company's spokesperson insisted that workers learn through fixing their own problems, not by "sitting through a course on prompting."
Unsuitable tools and taking matters into their own handsIn a bid to work out whether it's employees or employers who are at fault (or whether it's shared), I asked whether shadow AI is a reflection of worker misconduct or insufficient tooling.
In response, Simmons stressed that "most people want to do the right thing," agreeing that the most common cause of shadow AI is indeed poor tooling.
"If employees are given the tools they need and are informed of the rules and requirements in a way that’s understandable to them, and technical controls are in place to restrict the riskiest behavior, I’d expect shadow AI to be no greater a problem than any other form of employee misconduct."
The answer then isn't necessarily to approve every new AI application, but understanding why users prefer certain tools over others is key to building suitable policies and safeguards around those.
In certain, low-risk conditions, shadow AI could actually be an important and useful part of feedback, showing organizations where they're falling short and exactly where to invest, but a clear oversight over this is just as important to ensure that no leaks or other threats occur.
AI literacy can't be taught – it's learnedClearly, then, workers need more guidance and support. But does that come in the form of training, policies, access to tools, or something else?
Simmons explained that "training alone is not very effective for developing AI fluency," though giving workers a clear direction and some initial pointers certainly serves as a helpful baseline. Zendesk, for example, has found the greatest success in giving workers time and space to experiment and become accustomed with AI on their own terms.
This particular company's stance was to pause non-urgent work and organize a dedicated internal hackathon to encourage proactive exploration. The result was a marked increase in employees' practical AI skills and better cross-team collaboration, but halting non-urgent operations altogether isn't a necessity and just reflects one initiative.
It's a similar initiative that's being piloted by Canva, which tells its 5,300+ workers to drop tools for a full week and experiment with AI.
"We give our team the room to step back, get out of business as usual, and try something genuinely new," a spokesperson said.
"Practical AI training should go beyond introductory courses and prompting techniques and create space for employees to actually use the tools in a safe, secure environment," Simmons concluded. Piloting AI tools with synthetic data (and therefore, no harmful consequences) ultimately leads to the highest levels of confidence.
'Employers own the conditions... employees own the curiosity'Another key area where studies and reports have been split is in whose responsibility it is to upskill and re-skill, whether that's through updated policies, passive training or active experimentation.
As a C-suite exec, Simmons believes the organization should bear the brunt of the responsibility by giving workers access to tools and learning opportunities. Clearly, they must think outside the box and offer a much broader array of support: "not just training, but also ideation and experimentation through initiatives like hackathons, sandboxes, and collaboration opportunities."
But beyond that, it's totally on the workers' shoulders to "take those opportunities and run with them." After all, it's not just for the benefit of their organization, but it's also to ensure they stay relevant as work evolves in an AI-first era.
A secondary opinion by Canva also backs this up: "Employers own the conditions: the time, budget, permission to experiment... Employees own the curiosity."
AMD has launched its Helios rackscale offering, outlining five comparisons in which it claims wins over what it calls "the leading competitive solution."
While the company skipped naming Nvidia, the market leader's Vera Rubin-based NVL72 rack-scale solution is the only real competitor to Helios and the one it continues to compare itself against.
While its memory claims hold, its GPU FP4 claim might fall short when comparing rack to rack, and many of its calculations are based on peak performance rather than Nvidia's published numbers, making Helios an interesting "win" but one that does encourage potential adopters to look more closely.
A numbers game that continues to grow complex even as AMD ekes out some winsWhile AMD claims a 15% win versus Nvidia's Rubin on a per-GPU basis for FP4 compute, its 72-GPU rack-scale solution falls short of Nvidia's published rack-level numbers: 2.9 exaflops versus 3.6. AMD does not specify whether it is counting Nvidia's individual dies or its two-die packages, and the distinction matters: against dies the gap runs in AMD's favor by far more than 15%, while against packages AMD trails.
The two figures also use different formats, AMD's MXFP4 against Nvidia's NVFP4, so they are not measuring identical arithmetic.
This might, however, be indicative of a very real situation that hampers both vendors' headline numbers: real-world FP4 workloads rarely reach hardware peak ratings due to memory movement constraints, scheduling overheads, and software kernel efficiency. AMD conceded as much at its own event, putting measured FP4 throughput at roughly half its peak rating.
Nvidia may sustain more of its peak thanks to its custom Vera CPU, a mature NVLink 6 software stack and a larger pool of what it calls fast memory, 75 TB per rack once 54 TB of LPDDR5X is counted alongside 20.7 TB of HBM4. AMD's 31 TB is all HBM, which is better suited to models that must be held entirely in high-bandwidth memory, and Helios offers higher capacity and bandwidth per accelerator at 432 GB and 23.3 TB/s.
On raw scale-up fabric, the two are level, both delivering 3.6 TB/s per accelerator and 260 TB/s per rack.
Despite this, Helios is an exceptionally strong product on paper, and it may be the first time AMD has produced a credible rack-scale answer to Nvidia since the AI race began. Seventy-two MI455X accelerators, 18 EPYC Venice CPUs, 31 TB of HBM4, UALink over Ethernet inside the rack and Ultra Ethernet out, on an OCP Open Rack Wide chassis with merchant Broadcom switch silicon, is a serious response to a company that had a two-year head start on the form factor.
More importantly, its fabric specifications are publicly available, enabling hyperscalers to build customized variants that meet their requirements. Nvidia's platform offers no equivalent latitude.
AMD frames openness as the platform's central advantage, with Vamsi Boppana, senior vice president of AI at AMD, saying that Helios "brings together leadership compute, high-performance networking and open software in a unified rackscale platform."
The more important question for AMD, however, might be memory supply. Nvidia has had Vera Rubin in full production since Q1 with partner availability this half, while AMD's first Helios deployments are not due until Q4. AMD may be further gated by HBM4 supply, much of which is reported to be already committed to hyperscalers, which could keep its deployment volumes well below Nvidia's this year.
Discussions about technological sovereignty in Europe can tend towards doomerism. It is easy to see why. A handful of hyper-scalers in the US and China control the foundational infrastructure of the modern world. The reliance on these technologies from companies and governments in Europe grows with each week that passes.
Near-total dependence on foreign-hosted and trained AI models presents a massive national security risk. If there isn’t a sovereign layer to your infrastructure, you don’t have control over the future. What if the plug is pulled or if security is compromised?
These are the nightmare scenarios being discussed in boardrooms and government departments across the continent.
And yet, Europe has many reasons to feel optimistic in its pursuit of sovereignty. Perhaps the LLM ship has sailed, but it is what comes next that is truly exciting.
In areas such as quantum computing and robotics – and their application across industries including healthcare and climate science – there is evidence that Europe’s combination of engineering talent and deep customer/market knowledge is laying the foundation for the next wave of society-shaping innovation.
This goes to the heart of what AI sovereignty really means: developing a technology that is both a great product, with no compromise on efficiency and scalability, while also solving the biggest possible problems of today or tomorrow.
A time for actionNow is the time to act. Sovereignty, particularly AI sovereignty, is an absolute priority for European governments and, increasingly, for customers and the public as geopolitical tensions escalate. We are already seeing many examples of companies in Europe building parallel IT infrastructure where they would usually be dependent on hyperscalers. There is also a growing trend towards on-premise cloud and data solutions, in a bid to create sovereign solutions.
So the question is, can we, those of us outside the US and China, build the best products that solve the most pressing problems? The answer is a resounding yes, but we need to ensure that our approach isn’t purely defensive. True sovereignty is about more than having the right level of regulation to protect ourselves against external systems we can’t control. If we want to be sustainable, we need to build alternatives that are at least as good; if we compromise on that, it will fail.
If we take healthcare as an example of sovereignty. It is one of the most sensitive industries when it comes to data, given how personal and confidential medical data is. If your life were dependent on an AI solution that could help define the best personalized or predictive care, and that solution was not sovereign, would you hesitate? Of course not. It is a big problem, but there are companies out there nearing a solution.
A fantastic example of this is the French scale-up ALAN, which is increasingly disrupting the whole medical insurance market thanks to a truly end-to-end designed business process. We need to play to our strengths in these use-case areas where technology has a life-changing impact. In June this year, it announced that it had raised €480m, valuing the company at €5.5bn.
Hindering factorsThere are, of course, some factors that might hinder our progress, such as overregulation and the constraints that entrepreneurs face. We cannot ignore the challenge of funding; the US benefits from a $30 trillion pension fund that flows massively into the PE and VC markets. We are far away from that in Europe, and we must find solutions urgently.
There are some positive developments, such as the European Union’s flagship €95.5 billion R&D funding program, Horizon Europe, which supports 200-300 groundbreaking scientific discoveries annually across the EU and the UK. But these initiatives are still relatively small and only represent a step in the right direction.
And Europe’s unique digital market is still not as easy to address as the single US or Chinese market. From my experience on the boards of several European scaleups, many of them find it easier to attack the US market once they’ve gained momentum in their home country than to attack another European country. Ultimately, all of these problems need to be solved.
It is also vital that we choose our battles. We shouldn’t be chasing after American or Chinese LLMs or hyperscalers. We will waste time trying to play catch-up. The reality is that we have a proven track record in use case-driven areas, such as healthcare, and that is where we must focus.
Our approach must be to anticipate where the market is moving. Two areas that are emerging as potentially revolutionary are quantum and robotics. The US is already hedging its bets. President Trump recently signed a bill mandating that the US will have a quantum computer by 2028 and requiring that cyber systems adopt post-quantum crypto-consistent solutions. This is what sovereignty is: it’s not hyperscalers; it’s technology that will significantly impact everyone's lives.
The good news is that in Europe, we have many examples of startups producing world-leading technology in quantum and robotics. Ultimately, the success of sovereignty will depend on our ability to build the best products in Europe to solve our greatest problems. We won’t be sustainable if the ‘sovereign’ alternative isn’t as good as the solutions developed elsewhere. In Europe, we have all the tools to achieve sovereignty. But we must act now.
Manage your data with the best business cloud storage.
This article was produced as part of TechRadar Pro Perspectives, our channel to feature the best and brightest minds in the technology industry today.
The views expressed here are those of the author and are not necessarily those of TechRadarPro or Future plc. If you are interested in contributing find out more here: https://www.techradar.com/pro/perspectives-how-to-submit
Are you a fan of CD Projekt Red's The Witcher game series? Have you ever fantasized about what type of character you'd be if you were somehow sucked through a magic portal and found yourself in the fantasy world of The Continent? Do you think you'd be a princess, a bard, a sorceress, or even a witcher?
A brand-new The Witcher 3: Wild Hunt expansion, Songs of the Past, has been announced, and it's launching sometime next year. While we don't have plot details yet, the story will once again follow Geralt of Rivia ahead of The Witcher 4.
This means an all-new journey to experience with everyone's favorite witcher, and, hopefully, one that will feature the return of the rest of the gang, like Ciri, Yennefer, and Dandelion.
CD Projekt Red has promised to share more about Songs of the Past next month, so we'll have to wait and see.
In the meantime, I've put together a fun little personality quiz that will help you figure out which Witcher character is your kindred spirit. Are you the protective, titular witcher himself? His daughter, Child of Destiny and cabale fighter, Ciri, or the fierce sorceress Yennefer? Maybe you're the merciless King of the Wild Hunt...
Everyone has a favorite, but which character are you really? Find out below.
Did you get the character you expected or someone completely opposite to your expectations? Let us know in the comments!
Claude shared chats containing medical, corporate, and credential data appeared in Google Search, raising new questions about public AI links.
The post Claude Shared Chats Appeared in Google Search, Exposing Sensitive Data appeared first on TechRepublic.