Assets that need no login
Public objects for the files that are meant to be reachable without authentication, with URLs you can safely put in HTML.
- Stable public URLs
- Project-scoped
- Separate from private storage
Public means public
A blob URL is reachable by anyone who has it. That is the point, and it is why private documents belong in Storage instead.
Frozen for persistence
Writing a blob URL into the database goes through the canonical production origin, never a preview host, so a stored link cannot rot when a preview is torn down.
Project-scoped keys
Blobs live under a project. An API key from another project cannot write into yours.
Sensible for assets
Logos, product images, downloadable PDFs, static exports. Anything a CDN would happily cache.
Choose deliberately
Storage and Blobs are two different answers to two different questions. If you would be uncomfortable seeing the file indexed by a search engine, it is not a blob.
Build the whole backend in one project
One plan, one dashboard, one command line interface. PostgreSQL, applications, functions, storage and realtime.