Skip to content

fix(blob): use private access by default with delivery routes#1443

Open
vvo wants to merge 1 commit intomainfrom
vvo/blob-private-default
Open

fix(blob): use private access by default with delivery routes#1443
vvo wants to merge 1 commit intomainfrom
vvo/blob-private-default

Conversation

@vvo
Copy link
Member

@vvo vvo commented Mar 24, 2026

Summary

  • Switch blob examples from access: 'public' to access: 'private'
  • Add server-side delivery routes for serving private blobs (private blob URLs are not directly accessible in the browser)
  • Bump @vercel/blob from ^1.0.0 to ^2.3.0 (required for private storage support)

blob-starter (Next.js)

  • components/uploader.tsx: Changed to access: 'private', toast now links through /api/blob?pathname=...
  • NEW app/api/blob/route.ts: Delivery route using get() to stream private blob content
  • package.json: @vercel/blob ^1.0.0 → ^2.3.0

blob-sveltekit (SvelteKit)

  • src/routes/+page.server.ts: Changed to access: 'private', returns delivery URL instead of direct blob URL
  • NEW src/routes/api/blob/+server.ts: Delivery route using get() to stream private blob content
  • package.json: @vercel/blob ^1.0.0 → ^2.3.0

Context

We're moving Vercel Blob toward private-by-default. These examples are what developers copy-paste from and are referenced from the Vercel dashboard.

Related:

Test plan

  • Deploy blob-starter, upload an image, verify the delivery route serves the file correctly
  • Deploy blob-sveltekit, upload a file, verify the delivery route serves the file correctly

🤖 Generated with Claude Code

Private blob URLs are not directly accessible in the browser, so
switching from public to private requires a server-side delivery
route that streams the content using get() from @vercel/blob.

Changes:
- blob-starter: access: 'private', new /api/blob delivery route,
  toast links through delivery route instead of direct blob URL
- blob-sveltekit: access: 'private', new /api/blob delivery route,
  form action returns delivery URL instead of direct blob URL
- Both: bump @vercel/blob from ^1.0.0 to ^2.3.0 (required for private)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Contributor

vercel bot commented Mar 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
alt-tag-generator Building Building Preview, Comment Mar 24, 2026 11:04pm
blob-starter Error Error Mar 24, 2026 11:04pm
blob-sveltekit Error Error Mar 24, 2026 11:04pm
build-output-api-edge-middleware Building Building Preview, Comment Mar 24, 2026 11:04pm
build-output-api-image-optimization Building Building Preview, Comment Mar 24, 2026 11:04pm
build-output-api-isr Building Building Preview, Comment Mar 24, 2026 11:04pm
build-output-api-routes Building Building Preview, Comment Mar 24, 2026 11:04pm
build-output-api-serverless-functions Ready Ready Preview, Comment Mar 24, 2026 11:04pm
cms-bulk-redirects Building Building Preview, Comment Mar 24, 2026 11:04pm
cms-webhook-update-redirects Ready Ready Preview, Comment Mar 24, 2026 11:04pm
custom-error-pages-public-dir Ready Ready Preview, Comment Mar 24, 2026 11:04pm
edge-functions-ab-testing-simple Ready Ready Preview, Comment Mar 24, 2026 11:04pm
edge-functions-basic-auth-password Ready Ready Preview, Comment Mar 24, 2026 11:04pm
edge-functions-bot-protection-botd Ready Ready Preview, Comment Mar 24, 2026 11:04pm
edge-functions-bot-protection-datadome Building Building Preview, Comment Mar 24, 2026 11:04pm
edge-functions-cookies Ready Ready Preview, Comment Mar 24, 2026 11:04pm
edge-functions-crypto Building Building Preview, Comment Mar 24, 2026 11:04pm
edge-functions-feature-flag-configcat Ready Ready Preview, Comment Mar 24, 2026 11:04pm
edge-functions-feature-flag-split Ready Ready Preview, Comment Mar 24, 2026 11:04pm
edge-functions-i18n Building Building Preview, Comment Mar 24, 2026 11:04pm
edge-functions-ip-blocking Building Building Preview, Comment Mar 24, 2026 11:04pm
edge-functions-ip-blocking-datadome Ready Ready Preview, Comment Mar 24, 2026 11:04pm
edge-functions-redirects-upstash Ready Ready Preview, Comment Mar 24, 2026 11:04pm
edge-geolocation-country-block Building Building Preview, Comment Mar 24, 2026 11:04pm
edge-middleware-modify-request-header Ready Ready Preview, Comment Mar 24, 2026 11:04pm
example-feature-flag-apple-store Ready Ready Preview, Comment Mar 24, 2026 11:04pm
example-hono-bun Building Building Preview, Comment Mar 24, 2026 11:04pm
express-ai-sdk-demo Ready Ready Preview, Comment Mar 24, 2026 11:04pm
express-vercel Building Building Preview, Comment Mar 24, 2026 11:04pm
feature-flag-hypertune Ready Ready Preview, Comment Mar 24, 2026 11:04pm
feature-flag-optimizely Ready Ready Preview, Comment Mar 24, 2026 11:04pm
flags-sdk-flagsmith Ready Ready Preview, Comment Mar 24, 2026 11:04pm
flags-sdk-growthbook Building Building Preview, Comment Mar 24, 2026 11:04pm
flags-sdk-openfeature Building Building Preview, Comment Mar 24, 2026 11:04pm
geolocation-script Building Building Preview, Comment Mar 24, 2026 11:04pm
hono-mcp-example Ready Ready Preview, Comment Mar 24, 2026 11:04pm
i18n Building Building Preview, Comment Mar 24, 2026 11:04pm
litellm-gateway-demo Building Building Preview, Comment Mar 24, 2026 11:04pm
microfrontends-docs Ready Ready Preview, Comment Mar 24, 2026 11:04pm
mint-nft Building Building Preview, Comment Mar 24, 2026 11:04pm
next-flask Ready Ready Preview, Comment Mar 24, 2026 11:04pm
nitro Building Building Preview, Comment Mar 24, 2026 11:04pm
nitro-plugins Building Building Preview, Comment Mar 24, 2026 11:04pm
postgres-prisma Error Error Mar 24, 2026 11:04pm
postgres-starter Building Building Preview, Comment Mar 24, 2026 11:04pm
rust-axum Ready Ready Preview, Comment Mar 24, 2026 11:04pm
rust-hello-world Ready Ready Preview, Comment Mar 24, 2026 11:04pm
saas-microservices-api-dashboard Building Building Preview, Comment Mar 24, 2026 11:04pm
saas-microservices-api-users Building Building Preview, Comment Mar 24, 2026 11:04pm
saas-microservices-dashboard Ready Ready Preview, Comment Mar 24, 2026 11:04pm
single-spa-content-microfrontend Ready Ready Preview, Comment Mar 24, 2026 11:04pm
single-spa-root-microfrontend Building Building Preview, Comment Mar 24, 2026 11:04pm
solutions-cms-contentstack-commerce Ready Ready Preview, Comment Mar 24, 2026 11:04pm
solutions-image-fallback Ready Ready Preview, Comment Mar 24, 2026 11:04pm
solutions-microfrontends-docs Building Building Preview, Comment Mar 24, 2026 11:04pm
solutions-script-component-ad Ready Ready Preview, Comment Mar 24, 2026 11:04pm
solutions-testing Ready Ready Preview, Comment Mar 24, 2026 11:04pm
toolbar-launchdarkly Building Building Preview, Comment Mar 24, 2026 11:04pm
xmcp-demo Building Building Preview, Comment Mar 24, 2026 11:04pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant