Next.js Discord

Discord Forum

Single tenant isolation on Vercel?

Answered
Japanese anchovy posted this in #help-forum
Open in Discord
Japanese anchovyOP
If I create a project per client I have will they be isolated? (https://vercel.com/docs/rest-api/endpoints/projects - thinking about using this).
Answered by B33fb0n3
when you create for each client one project, yes they will be completely isolated from each other. If you want that you have one app, that handles multiple clients (multi tenant app) you create one project and your app handles what which other (from which hostname) will see

Same applies for s3 buckets and vercel blobs
View full answer

20 Replies

@Japanese anchovy If I create a project per client I have will they be isolated? (https://vercel.com/docs/rest-api/endpoints/projects - thinking about using this).
when you create for each client one project, yes they will be completely isolated from each other. If you want that you have one app, that handles multiple clients (multi tenant app) you create one project and your app handles what which other (from which hostname) will see

Same applies for s3 buckets and vercel blobs
Answer
@Japanese anchovy solved?
Japanese anchovyOP
But blob storage isn't isolated?
@Japanese anchovy But blob storage isn't isolated?
for blob storage it's the same: when you create for each client one blob storage, yes they will be completely isolated from each other. If you want that you have one app, that handles multiple clients (multi tenant app) you create one blob storage and your app handles what which other (from which hostname) will see
Japanese anchovyOP
I read that the buckets are shared between projects in the docs, no?
@Japanese anchovy ?
Japanese anchovyOP
I mean the file blob storage itself I just used a S3 term
@Japanese anchovy I mean the file blob storage itself I just used a S3 term
for buckets it's the same: when you create for each client one bucket, yes they will be completely isolated from each other. If you want that you have one app, that handles multiple clients (multi tenant app) you create one bucket and your app handles what which other (from which hostname) will see
Japanese anchovyOP
Not according to the docs
Each blob can be access by several projects
And they are also publicly available, which I can't do
@Japanese anchovy Not according to the docs
now you talking about the vercel blob and not anymore about the s3 buckets

As you can see in the screenshot you provided: for every interaction with the vercel blob you need a token. To add or remove content, you need a token and to generate a publically accessable blob url you also need a token ("with an unguessable random id").

So, yes the generated urls are public. However then content inside the blob is not public by default.

You can also see, that other projects can interact with the blob itself. But keep in mind: a token is required to interact with the blob.

So, no not every project can interact with the blob by default.

You might want to decide wether you want to use s3 buckets or vercel blobs
Japanese anchovyOP
Yeah I need private blob per project without public urls
@Japanese anchovy Yeah I need private blob per project without public urls
Then you can use both: s3 buckets or vercel blobs.

Both are private by default and you can create multiple
@Japanese anchovy solved?
Japanese anchovyOP
I will try to use AWS for now to consolidate it all in one place. Also I need long running tasks too so it makes more sense. Thanks for the help!
Sure thing