Skip to content
>_ITDITDWeb Security Platform

Security Guides

The leaked variables were the readable ones — what developers should do after the Vercel security incident

In April 2026, a third-party AI tool used by a Vercel employee led to unauthorized access to Vercel's internal systems, and non-sensitive environment variables of some customers were decrypted. Based on Vercel's bulletin: what to rotate, how to store secrets as write-only, and how to limit AI tools and OAuth apps.

Published 2026-09-30 Updated 2026-09-30 Last verified 2026-09-30 15 min read

For: developers and operators who deploy on Vercel, teams that keep production secrets (API keys, database credentials, signing keys) in environment variables, Google Workspace administrators, and anyone on a PaaS that works the same way. This article is based on Vercel's official security bulletin and documentation and does not cover attack techniques or indicator-of-compromise (IoC) values.

What Vercel users should do today

1

Check for a message from Vercel — and continue even if there is none

Vercel says it contacted the affected customers directly and recommended an immediate rotation of credentials. Its April 22 update adds that an expanded review found a small number of additional compromised accounts, which were also notified. First confirm which addresses receive Vercel's messages (team owners, billing contacts). But Vercel presents the steps below as best practices you should follow regardless. Not hearing from Vercel is not a reason to do nothing.

2

List environment variables not marked sensitive and rotate the secrets first

Vercel asks you to treat environment variables that were not marked sensitive — API keys, tokens, database credentials, signing keys and so on — as potentially exposed and to rotate them as a priority. In the dashboard's environment variable table, each variable carries a Config (readable) or Secret (write-only) label. Secrets sitting under a Config label are today's work list. Check team-level shared variables as well as project variables.

3

Rotate in this order: add the new key and redeploy, then invalidate the old one

Vercel's documentation gives this order for rotating without downtime: (1) in the third-party service (database or API provider), issue a new credential and keep the old one for now; (2) update the Vercel environment variable; (3) redeploy (for a team-level variable, every project that uses it); (4) after verifying it works, invalidate the old credential. Editing the variable alone leaves running deployments on the old value, and only step 4 makes the leaked value useless.

4

Store the new value as a Secret

Save the new values you created as Secrets (write-only). In its bulletin, Vercel says the sensitive feature protects secret values from being read in the future. As of September 30, 2026, the documentation says a Secret's value is hidden after saving and is changed by providing a new value, and that Secrets, once limited to Production and Preview, are now allowed in Development too. See the comparison later in this article for what belongs where.

5

Rotate before you delete any project

Vercel states plainly that deleting your projects or account is not sufficient to eliminate risk, because a leaked secret stays valid at the database or API it unlocks. If you are cleaning up old projects or leaving Vercel, invalidate the keys at the provider first, then delete.

6

Review the activity log and recent deployments

Vercel recommends reviewing the activity log for your account and environments (in the dashboard or via the CLI) for suspicious activity, and investigating recent deployments for anything unexpected or suspicious-looking. It says to delete any deployment in question. Use the same log to look for signs that someone viewed environment variable values.

7

Set Deployment Protection to Standard or higher and rotate its tokens

Vercel recommends setting Deployment Protection to Standard at a minimum and, if you use Deployment Protection tokens, rotating them. Vercel's documentation describes Standard as the recommended option for most projects: it protects preview and per-deployment URLs, while current production URLs stay public.

8

Turn on multi-factor authentication for your Vercel account

Vercel recommends multi-factor authentication with an authenticator app or a passkey. Why these beat SMS is covered in Choosing multi-factor authentication.

9

Google Workspace admins: search for the OAuth app listed in the bulletin

Vercel published the identifier of the AI tool's Google Workspace OAuth app and recommends that Google Workspace administrators and Google account owners check for use of that app immediately. According to Vercel, that OAuth app was the subject of a broader compromise, potentially affecting hundreds of users across many organizations — so organizations that do not use Vercel may be in scope too. Get the identifier from Vercel's bulletin, linked in the sources below.

Limit the AI tools and OAuth apps employees connect

According to Vercel, the attacker used access to a third-party AI tool to take over the employee's Google Workspace account, and moved from there into their Vercel account. Employees connecting a helpful AI tool to a company account with "Sign in with Google" or "Allow access to Drive" happens every day in every organization. Here is that risk turned into steps a Google Workspace administrator can take today.

1

List the third-party apps connected to company accounts

Google's admin help page "Control which apps access Google Workspace data" says the Admin console shows which apps have accessed organization data, which users authorized them, and the OAuth scopes each app requested. Pull the list and flag apps nobody can explain and apps with scopes that can read all of Drive or Gmail.

2

Block unused apps and narrow the ones you keep

The same page says each app can be set to Trusted, Limited, Specific Google data, or Blocked. Restrict the apps you decide to keep to only the data they need, and block the rest.

3

Stop employees from freely connecting unconfigured apps

You can set an organization policy for whether users may authorize third-party apps the admin has not configured. Allowing only apps that request basic sign-in information puts an admin review in front of every new AI tool. For Gmail and Drive you can also restrict high-risk scopes individually, such as sending email or deleting files.

4

Keep production admin accounts separate from accounts that connect AI tools

This is this site's suggestion. In this incident, the Google account an AI tool was connected to became the door into a Vercel account. People with admin rights on production or hosting should consider not connecting trial AI tools to the account they use to sign in there. If a tool must be connected, use a separate account with narrowed access to business data.

What happened (from Vercel's bulletin)

Everything below is as stated in Vercel's security bulletin, "Vercel April 2026 security incident". Vercel updated the bulletin several times and, after April 24, moved to updating it only when there are critical updates.

  1. April 19, 2026

    Vercel discloses unauthorized access to certain internal Vercel systems, says it has engaged incident response experts and notified law enforcement, and publishes an OAuth app identifier so other organizations can check their environments.
  2. April 19 (later update)

    Vercel publishes the origin of the attack (a compromised third-party AI tool) and adds recommendations.
  3. April 20

    Vercel clarifies the definition of compromised credentials and adds recommendations. The same day it states that its npm packages were validated as not compromised, adds multi-factor authentication guidance, and ships product enhancements.
  4. April 22

    Vercel publishes findings from an expanded review: a small number of additional accounts compromised in this incident, which were notified, and separately a small number of customer accounts with signs of compromise that appear unrelated to this incident, which received specific corrective actions.
  5. April 23

    Vercel further clarifies its findings.
  6. April 24

    No updates. From then on, Vercel says it will alert affected customers and update the bulletin if there are critical updates.
What Vercel disclosed
Origin
The compromise of a third-party AI tool used by a Vercel employee. The tool's Google Workspace OAuth app was the subject of a broader compromise across many organizations
Path
Takeover of the employee's Google Workspace account → the employee's Vercel account → a Vercel environment → moving through systems to enumerate and decrypt environment variables
What was taken
For a limited subset of customers, environment variables not marked sensitive (those that decrypt to plaintext)
Further findings
A small number of additional accounts compromised in this incident, now notified. Separately, a small number of accounts with signs of compromise that appear separate from this incident and do not appear to have originated on Vercel systems
Not affected
npm packages published by Vercel (confirmed with GitHub, Microsoft, npm and a security firm)
Vercel's assessment
Vercel assesses the attacker as highly sophisticated, based on operational speed and in-depth understanding of Vercel's product API surface. It is working with incident response firms, industry peers and law enforcement
Product changes
Better environment variable management (stronger defaults, improved safeguards, in-product education), a team-wide management and security overview of environment variables, and an easier-to-use activity log

Reading note: no counts were published, and the tool is not named here

Vercel describes the affected customers only as a "limited subset" and "a small number"; it has not published a count. This site does not print numbers the organization has not disclosed. Vercel's bulletin names the vendor of the AI tool, but by this site's policy we name only the organization that disclosed the incident and describe other parties by role ("a third-party AI tool"). To check your own organization, use the OAuth app identifier in Vercel's bulletin, not the name.

Where it could have been stopped

1. Third-party AI tool

Its OAuth app is broadly compromised

↓

Stop point

Admins limit which apps connect and with what scopes

2. Employee's Google account

Taken over; becomes the door into Vercel

↓

Stop point

No trial tools on production admin accounts

3. Vercel environment

Environment variables enumerated

↓

Stop point (customer side)

Customers cannot stop this step, so step 4 decides

4a. Readable (Config)

Decrypted and taken as plaintext

4b. Write-only (Secret)

Vercel reports only 4a as compromised

The path as reconstructed from Vercel's bulletin. The right side of each step shows the setting or policy on the customer side that reduces the damage at that step.

Config (readable) — only this much belongs here

  • Values that are harmless if public: public URLs, feature flags, log levels
  • Values shipped to the browser anyway: for example, anything prefixed NEXT_PUBLIC_
  • Settings you need to read back: region names, bucket names — things that open nothing on their own

Secret (write-only) — everything like this

  • API keys and access tokens: payments, email sending, AI APIs
  • Database connection strings and passwords
  • Signing and encryption keys: session and JWT signing, webhook verification secrets
  • Admin credentials for external services: cloud access keys and the like

This site's view: readable for convenience means readable to an intruder

The reason to keep an environment variable readable is almost always so you can check the value later. This incident showed that the same category is readable to anyone who gets inside the platform. The variables Vercel reports as compromised are exactly that category. One test is enough: "Will I ever need to read this value back on this screen?" If not, make it a Secret. A secret you want to look up belongs in its real home — a password manager or the provider's console — not in a readable copy on your deploy platform.

Vercel's documentation also offers a team policy, Separate Production Secret Values, that requires Production Secrets to differ from those in Preview and Development. It is one more line that keeps a leaked preview key from opening production.

The same logic applies to other PaaS and CI systems. Every place that holds your secrets in readable form is a second vault outside your own console. The basics of where secrets live and how to split them are in What makes .env files and API keys risky.

A chain that entered through a developer tool also happened in May 2026 with TanStack, Nx Console and GitHub. There, the entry was a code distribution channel (npm packages and an editor extension), and the lesson about structures where one stolen key cannot publish alone is in What developers should check after the TanStack, Nx Console and GitHub chain. In the Vercel incident, the entry was not code but the permissions of a SaaS connected through OAuth. For a case where a tool running in CI itself became the entry point, see the Trivy supply-chain compromise.

Sources (public record)

The facts in this article come from the public sources below. Attack techniques, IoC values and information identifying the attacker are not covered.

  • Vercel, "Vercel April 2026 security incident" (security bulletin, published April 19, 2026, updated April 24) — vercel.com
  • Vercel Docs, "Sensitive environment variables" (Config and Secret types, revision of August 28, 2026) — vercel.com
  • Vercel Docs, "Rotating environment variables" (rotation without downtime) — vercel.com
  • Vercel Docs, "Deployment Protection" (Standard Protection) — vercel.com
  • Google Workspace Admin Help, "Control which apps access Google Workspace data" — knowledge.workspace.google.com

Update history

2026-09-30: First version, based on Vercel's security bulletin (April 24 revision) and Vercel's official documentation as of September 30, 2026. We will update this page if Vercel updates its bulletin.

FAQ

QWhat was exposed in the Vercel incident?
A

According to Vercel's bulletin, for a limited subset of customers, environment variables stored on Vercel that were not marked 'sensitive' (those that decrypt to plaintext) were compromised. Vercel asks customers to treat those values — API keys, tokens, database credentials, signing keys and so on — as potentially exposed and to rotate them as a priority.

QHow do I know whether I am affected?
A

Vercel says it reached out to the affected subset of customers and recommended an immediate rotation of credentials, and that it has also notified a small number of additional accounts found in its expanded review. However, Vercel lists reviewing and rotating non-sensitive environment variables, and checking activity logs and recent deployments, as best practices everyone should follow. If you kept secrets in the readable category, rotating them is the safe choice even if you were not contacted.

QAre environment variables marked sensitive (Secret) safe?
A

What Vercel's bulletin says was compromised are the non-sensitive environment variables. Vercel says the sensitive feature protects secret values from being read in the future. As of September 30, 2026, Vercel's documentation splits environment variables into 'Config' (readable after saving) and 'Secret' (write-only after saving), and existing sensitive variables are treated as Secrets.

QIs deleting my project or account enough?
A

No. Vercel states that deleting your Vercel projects or account is not sufficient to eliminate risk, because compromised secrets may still give access to production systems. It asks you to rotate them before deleting anything.

QWhere did the intrusion start?
A

According to Vercel, it started with the compromise of a third-party AI tool used by a Vercel employee. That tool's Google Workspace OAuth app was the subject of a broader compromise, potentially affecting hundreds of its users across many organizations. Vercel recommends that Google Workspace administrators and Google account owners immediately check for use of the OAuth app identifier published in its bulletin.

QAre Vercel's npm packages (such as Next.js) safe?
A

Vercel says that, in collaboration with GitHub, Microsoft, npm and a security firm, it confirmed that no npm packages published by Vercel were compromised and that there is no evidence of tampering.