Skip to content
Docs

Security

Vercel Blob is available on all plans

Those with the owner, member, developer role can access this feature

For files that require authentication, use private storage. Private Blob stores require authentication for all read and write operations. When your code runs on Vercel, the SDK uses OpenID Connect (OIDC) by default. OIDC is preferred over the long-lived BLOB_READ_WRITE_TOKEN because its tokens rotate automatically. Use BLOB_READ_WRITE_TOKEN when code runs outside Vercel or for client uploads. Files in private Blob stores cannot be accessed via public URLs. You deliver them to your users through Vercel Functions where you implement your own authentication logic.

Vercel Blob URLs, although publicly accessible, are unique and hard to guess when you use the addRandomSuffix: true option. They consist of a unique store id, a pathname, and a unique random blob id generated when the blob is created.

This is similar to Share a file publicly in Google Docs. You should ensure that the URLs are only shared to authorized users

Headers that enhance security by preventing unauthorized downloads, blocking external content from being embedded, and protecting against malicious file type manipulation, are enforced on each blob. They are:

  • content-security-policy: default-src "none"
  • x-frame-options: DENY
  • x-content-type-options: nosniff
  • content-disposition: attachment/inline; filename="filename.extension"

All files stored on Vercel Blob are secured using AES-256 encryption. This encryption process is applied at rest and is transparent, ensuring that files are encrypted before being saved to the disk and decrypted upon retrieval.

Vercel Blob is protected by Vercel's platform-wide firewall which provides DDoS mitigation and blocks abnormal or suspicious levels of incoming requests.

You can also protect a store with your own Vercel WAF rules, such as custom rules, IP blocking, and rate limiting. To enable it:

  1. Open your Blob store in the dashboard and select the Settings tab.
  2. In the Firewall section, select Protect your store, then Enable firewall.

This connects your store to vercel-blob-default-project, a Vercel-managed project that holds the firewall rules for your team's Blob stores. The project is team-wide, so other stores that enable firewall protection reuse it and share its rules. After enabling, Vercel redirects you to the project's firewall page where you create your rules. To update them later, return to the store's Settings tab and select Configure firewall.

The Challenge action serves a JavaScript challenge that only a web browser can solve, so requests from the Blob SDK and other server-side code fail with a 429 response. Only use Challenge in rules that never match your application's SDK traffic.

The OWASP core ruleset is not supported for Blob stores.

Last updated August 3, 2026

Was this helpful?

supported.