FAQ

Questions people ask.

Which way to run it, where your keys live, what is free, and the CORS rules some providers still need.

General

Which way should I run it?

Stream Vessel Cloud for any device and the account features: sharing and AI access. The Chrome extension for keys that stay on your machine and no account. Desktop and Self-hosted when they ship, for the same reasons on a native app or on your own server.

Where are my access keys stored?

Cloud: encrypted with AES-256 on Stream Vessel servers, never shared with third parties. Self-hosted: encrypted on your server. Chrome extension: in your browser profile only. Desktop: in your operating system's keychain.

In every mode, file bytes go from your browser or app to your storage. Our servers never hold your files.

Is Stream Vessel free?

Yes. Everything you can use today is free: Cloud, the extension, and the desktop app when it ships. Self-hosting is free for companies under 30 users. Enterprise features will be paid.

Is it open source?

Coming soon, under AGPL-3.0 for the core and an enterprise license for enterprise features. Follow the repo when it goes public.

What counts as a user?

Anyone in your company who signs in to your self-hosted instance. The 30-user line is counted across the whole company, not per instance.

Can I pay for the hosted edition?

Cloud stays free. When enterprise features ship, they will be paid on Cloud as well as self-hosted.

Do I need to set up CORS?

Cloud and Self-hosted: applied to your buckets for you. Some providers do not support the S3 CORS API, and there you add the rules by hand, see the CORS section below. Extension and Desktop: not needed, they talk to storage directly.

Can an AI agent use it?

Yes, on Stream Vessel Cloud, through MCP tokens with a tier, an expiry and an audit log. How AI access works.

Can I share a bucket with a colleague?

Yes. On Cloud, share a connection, a bucket or a folder by email at READ, WRITE or FULL. They never see your keys. Expiring links work everywhere.

When is the desktop app coming?

Windows first. No date set. Notify me.

Which providers work?

AWS S3, Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, MinIO, IDrive e2, and any S3-compatible endpoint with a custom service URL.

CORS

What is CORS?

CORS (Cross-Origin Resource Sharing) is a security feature implemented by web browsers to allow web applications running on one domain to request resources from another domain. In the case of S3 storage, CORS settings determine whether a web browser can access the resources (files) stored in an S3 bucket from a different origin (domain).

Why is it necessary to enable CORS for effective use with Stream Vessel?

Stream Vessel is an S3 explorer app designed to provide a user-friendly interface for interacting with S3 buckets and their contents. Enabling CORS on the S3 bucket is essential for Stream Vessel to function properly because it allows the app to make requests to the S3 bucket from the domain Stream Vessel's domain (https://app.streamvessel.com).

Without CORS enabled, modern web browsers will block requests made by Stream Vessel to the S3 bucket due to security restrictions.

By configuring CORS settings on the S3 bucket, you specify which domains are allowed to make requests to the bucket and what operations (such as GET, PUT, POST) are permitted from those domains. This ensures that Stream Vessel can securely access the S3 bucket's resources while maintaining proper security measures.

Stream Vessel can automatically manage CORS rules for your S3 buckets. By selecting the checkbox "Automatically apply CORS rules to the connection's buckets" on the connection parameters page, Stream Vessel will handle the CORS configuration for each connected bucket. If this checkbox is not checked, you will need to manually add CORS rules to their S3 buckets to ensure proper functionality with Stream Vessel.

Some S3-compatible providers do not support the S3 CORS API, and Stream Vessel cannot automatically read or update CORS rules for you. As a result, the CORS status column will always display 'Invalid or N/A'. In this scenario, users are required to manually configure the necessary CORS rules to ensure proper functionality.

While Stream Vessel may function correctly in some cases even without CORS settings, we highly recommend setting the appropriate CORS rules to ensure optimal performance and compatibility.

Please be aware that it may take up to 10 minutes for your storage provider to acknowledge and implement your new CORS settings.

Some providers may not offer the option to apply CORS rules for their buckets. However, it's important to note that for these specific providers, CORS functionality is not required for seamless operation within Stream Vessel. Therefore, if CORS status is displayed as "Invalid or N/A", it can indicate that CORS settings are unnecessary for the service provider in question, and Stream Vessel continues to function effectively without them.

If you encounter any difficulties with CORS, please reach out to us at [email protected]. Please provide the name of your storage provider and a detailed description of the issue.

What CORS rules do I need to apply if I set them up manually?

If your S3 storage provider is Amazon S3, please copy and paste the following rules in either JSON or XML format:

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "PUT",
            "POST",
            "DELETE",
            "HEAD"
        ],
        "AllowedOrigins": [
            "https://app.streamvessel.com"
        ],
        "ExposeHeaders": [
            "ETag"
        ]
    }
]
<CORSConfiguration>
    <CORSRule>
        <AllowedOrigin>https://app.streamvessel.com</AllowedOrigin>
        <AllowedMethod>HEAD</AllowedMethod>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedMethod>PUT</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <AllowedMethod>DELETE</AllowedMethod>
        <ExposeHeader>ETag</ExposeHeader>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

If your provider does not support JSON or XML CORS rules format, you can manually add those values in the web interface.

If your provider does not support anything else but allowed origin, then just add https://app.streamvessel.com as allowed origin.

Why does the CORS status remain "Invalid or N/A" even after pressing the "Apply CORS" button in connection window? Should I be concerned?

The "Invalid" status for CORS (Cross-Origin Resource Sharing) may persist even after attempting to apply CORS rules through the "Apply CORS" button within Stream Vessel. However, there's no need for concern if everything functions as expected. This status could indicate that CORS settings are not applicable or supported by your storage provider. In such cases, Stream Vessel operates smoothly without the need for CORS configurations. If your files are accessible and operations are successful despite the "Invalid or N/A" CORS status, you can safely ignore it, as it does not impact the functionality of your service.