---
title: "Introducing Netlify Skew Protection | Netlify"
description: "Prevent version skew errors with Netlify’s skew protection. Automatically pin user sessions to specific deploys, ensuring browser and server versions always match for error-free deployments."
source: "https://www.netlify.com/blog/introducing-netlify-skew-protection/"
last_updated: "2026-07-09T07:02:26.000Z"
---
Version skew happens when the browser expects one version of your application and the server sends another. Skew protection eliminates this by pinning each session to a specific Netlify deploy.

## The version skew problem

When you build a web application that runs code on both the browser and the server, you’re creating an implicit contract between two fundamentally different environments. Breaking that contract is easier than you might think, and it can lead to a frustrating experience for your users.

Imagine an application that shows your music collection. When you click on an album, the application calls your API endpoint and does a client-side navigation to a page that shows the track list.

![Diagram showing a normal interaction between browser and server](https://cdn.sanity.io/images/o0o2tn5x/production/76703f94fa649c73ab4ffa6f2d9d977a61c5f9da-1044x485.png)

Your application will probably get updates and improvements over time. For example, you might decide to start showing more information about each album, like the release year.

Since you’re in control of both the client and the server, it should be easy to just update the shape of the data that is returned by your API endpoint. With Netlify, you can update your backend and your frontend in one single atomic operation, so when the next visitor comes in they’ll get the latest and greatest of what you built.

But what about existing clients? Imagine that someone opens your application, gets version 1 of your code running on their browser and starts interacting with the site.

In the meantime, you deploy your changes. The client is still clicking around, so the browser keeps calling the API. But now the server is running version 2 of the code, so it will start responding with a format that the client isn’t prepared to deal with.

This might cause the application to break entirely and it fixes itself only after a refresh pulls version 2.

![Diagram showing a problematic interaction between browser and server](https://cdn.sanity.io/images/o0o2tn5x/production/82bc866d0230a6ac46ee2d6ecd4999376a791b00-1048x584.png)

Even if your application doesn’t explicitly call an API endpoint, this implicit contract is still there and can impact your users much more often than you’d expect.

Most modern web frameworks split the client-side code into smaller chunks that are requested on-demand by the browser as the user navigates around the application. These files are usually named with a fingerprint that associates them with a specific version of your application code (like `chunk-a1b2c3.js`). When you re-deploy the application and get a completely different set of files, existing clients continue to request filenames that no longer exist and will get a 404.

## How skew protection solves this

To talk about skew protection, it’s important to first understand how Netlify handles a new deploy under the hood.

When you update your application, we don’t exactly replace the old code with the new one — we keep both deploys available, but start pointing traffic to the new version. Think of it like changing your address to a brand new house rather than remodelling your existing place.

This versioned deploy system is the key to skew protection. When the client calls the server, it includes the version of the specific deploy it knows and expects.

When our CDN processes the request, it uses this version information to decide which deploy to point to. Even if we determine that your application is now on a newer version, we will respect the version that the client asked for and serve the request as if that version was still the one in use.

![Diagram showing the previous interaction between browser and server fixed by skew protection](https://cdn.sanity.io/images/o0o2tn5x/production/76c8a89d096fcf806dbf294c37af4d05bc331432-1162x517.png)

This information can be sent to the server in HTTP headers, query parameters or cookies. This ensures that we can cover every possible type of application and use case.

## Framework support

Starting with version 5.15.0, [Astro](https://astro.build/) sites using the [Netlify Adapter](https://docs.netlify.com/build/frameworks/framework-setup-guides/astro/#netlify-integration) get skew protection enabled automatically. This means that features like actions, server islands, view transitions and prefetch requests are automatically protected from version skew.

If you use [Next.js](https://docs.netlify.com/build/frameworks/framework-setup-guides/nextjs/overview/), you can [opt in to this feature](https://docs.netlify.com/build/frameworks/framework-setup-guides/nextjs/overview/#enabling-skew-protection) without making any changes to your application.

But more important than support for a set of frameworks on day one is our commitment to support _any_ framework. We’ve only released skew protection once we were able to design it in a way that lets any framework benefit from it without any constraints.

With the [Netlify Frameworks API](https://docs.netlify.com/build/frameworks/frameworks-api/#netlifyv1skew-protectionjson), framework authors have full control over what paths are covered by skew protection and what signals are used to associate requests with a Netlify deploy.

We’re actively working with other frameworks to implement this feature and to incorporate their feedback into our design, so expect more announcements soon.

## Pricing

Free. For everyone.

## Getting started

Check out our [skew protection docs](https://docs.netlify.com/deploy/deploy-overview/#skew-protection) to learn more about skew protection and to get information on how to get started with your framework of choice.

### Share

-   [X (fka Twitter)](https://twitter.com/intent/tweet?text=Introducing Netlify Skew Protection&url=https://www.netlify.com/blog/introducing-netlify-skew-protection/)
-   [LinkedIn](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.netlify.com%2Fblog%2Fintroducing-netlify-skew-protection%2F)
-   [Facebook](https://www.facebook.com/sharer.php?u=https://www.netlify.com/blog/introducing-netlify-skew-protection/)
-   [Bluesky](https://bsky.app/intent/compose?text=Introducing Netlify Skew Protection+https://www.netlify.com/blog/introducing-netlify-skew-protection/)

* * *

### Tags

-   [Frameworks](/blog/tags/frameworks/)

## Keep reading

![](/images/blog-fallback-thumbnail.svg)

Guides & Tutorials June 13, 2022

[

### How to deploy an Astro site

](/blog/how-to-deploy-astro)

-   ![Profile picture of Salma Alam-Naylor](/_astro/824da0593d02b9571a577aed4ff1d70073e3c797-1000x1000_Z2qMuVc.webp)
    
    Salma Alam-Naylor
    

![](/images/blog-fallback-thumbnail.svg)

Guides & Tutorials December 7, 2021

[

### Unique permalinks for every version of your site

](/blog/2021/12/07/unique-permalinks-for-every-version-of-your-site/)

-   ![Profile picture of Phil Hawksworth](/_astro/9cfe2bbe94bcb555ce3ac7683ac7905ad3fd32b1-400x400_Z18H6R1.webp)
    
    Phil Hawksworth
    

## Recent posts

News & Announcements June 25, 2026

[

### Netlify Functions, designed for Agent Experience

](/blog/netlify-functions-designed-for-agent-experience)

-   ![Profile picture of Eduardo Bouças](/_astro/52958f21e8450baf6d8e60302341a984e220c0cd-512x512_13VDlu.webp)
    
    Eduardo Bouças
    

News & Announcements June 24, 2026

[

### How we measure Netlify’s Agent Experience

](/blog/how-we-measure-netlify-agent-experience)

-   ![Profile picture of Sean Roberts](/_astro/bbf2243f8171dbddd80ab2103622106cef84d125-512x512_Z1d2LKE.webp)
    
    Sean Roberts
    

Guides & Tutorials May 15, 2026

[

### How to build a real-time AI chatbot in minutes with Netlify Agent Runners (no backend)

](/blog/how-to-build-a-real-time-ai-chatbot-in-minutes-with-netlify-agent-runners-no-backend)

-   ![Profile picture of Nahrin Jalal](/_astro/f0e7c8f227a03fe58340c99ef5439d5a896c0733-272x272_Z23kDpD.webp)
    
    Nahrin Jalal
    

![](/_astro/3f255b372fa958df35802666ee33b4609b2d71bd-1200x1586_1VtE2D.webp)

### How do the best dev and marketing teams work together?

[Access the report](https://www.netlify.com/reports/2024-leadership-trend-report/access/)