BYOS is available only on Enterprise plans. Contact our team to enable BYOS for your organization.
What Gets Stored
Browserbase generates and uses several types of artifacts during sessions:| Artifact Type | Description | Permissions needed | Status |
|---|---|---|---|
| downloads | Files downloaded during sessions | Write only | Available |
| extensions | Browser extensions loaded into sessions | Read only | Available |
| uploads | Files uploaded to sessions | Read/Write | Available |
| contexts | Session context files (cookies, storage) | Read/Write | Available |
| recording-images | Screenshots captured during sessions | Write only | Coming Soon |
| recording-videos | Video recordings of sessions | Write only | Coming Soon |
| logs | Console logs and CDP debug output | Write only | Coming Soon |
You can configure some or all artifact types for external storage. Unconfigured types will use Browserbase’s internal buckets.Session logs are currently stored in Browserbase’s managed infrastructure. BYOS support for logs and recordings is planned for a future release.
Setup Instructions
Step 1: Create S3 Buckets
Create S3 buckets in your AWS account for the artifact types you want to store externally.Step 2: Generate External ID
Generate a cryptographically random external ID for secure role assumption:Step 3: Create IAM Role
Create an IAM role that Browserbase will assume to access your buckets. Trust Policy (trust-policy.json):
Contact us via your account manager or [email protected] for Browserbase’s AWS account ID.The role name
svc_byos_accessor is fixed and should not be changed—this is Browserbase’s internal service role that assumes your customer role.Step 4: Configure S3 Permissions
Attach permissions to your IAM role for bucket access. Permissions Policy (permissions-policy.json):
Why ListBucket? This permission on the bucket itself (without
/*) is required for:- Paginating through large numbers of objects efficiently
- Checking if objects exist before operations
- Proper error handling when artifacts are missing
Step 5: Submit Configuration
Send this information to your Browserbase account manager or [email protected]:role_arn: The IAM role ARN from Step 3external_id: The external ID from Step 2project_ids: Array of project IDs that should use this BYOS configurationbuckets: Array of bucket configurations with artifact_type, bucket_arn, and region
Configuration Examples
Minimal Setup (Downloads Only)
Complete Setup (All Available Artifact Types)
Multi-Region Setup
Single Bucket for All Types
Troubleshooting
Access Denied Errors
Access Denied Errors
Check:
- Trust policy principal includes Browserbase’s AWS account ID
- External ID in trust policy matches what you provided to Browserbase
- Role has permissions for specific bucket ARNs
- Both bucket-level and object-level permissions are granted
Wrong Region Errors
Wrong Region Errors
Symptom:
PermanentRedirect or “bucket must be accessed via specific endpoint”Fix:- Verify the region in your configuration matches your bucket’s actual region
- S3 buckets are region-specific and must be accessed via the correct endpoint
Missing Artifacts
Missing Artifacts
Check:
- Artifact type is correctly configured
- Bucket path structure:
{artifactType}/{sessionId}/{key} - Write permissions (
s3:PutObject) are granted - No bucket policies blocking access
FAQs
Can I use different buckets for different projects?
Can I use different buckets for different projects?
Yes, use the
project_ids field to specify which projects should use a BYOS configuration. You can create multiple configurations with different project_ids arrays to route different projects to different buckets.Can I use the same bucket for multiple artifact types?
Can I use the same bucket for multiple artifact types?
Yes, Browserbase separates artifact types using path prefixes (e.g.,
downloads/, contexts/, extensions/, uploads/), so they won’t conflict in a shared bucket.What happens to existing artifacts when I enable BYOS?
What happens to existing artifacts when I enable BYOS?
Historical artifacts remain in Browserbase’s internal storage. Only new artifacts created after BYOS is enabled will be stored in your buckets. Contact support if you need to migrate existing data.
Do I need to configure all artifact types?
Do I need to configure all artifact types?
No, configure only the types you want to store externally. Unconfigured types automatically use Browserbase’s internal storage.
Can I revoke Browserbase's access?
Can I revoke Browserbase's access?
Yes, delete the IAM role or modify the trust policy to remove Browserbase’s principal. This immediately prevents access, but active sessions may fail if they cannot write artifacts.
How are artifacts retained?
How are artifacts retained?
You control retention through S3 lifecycle policies on your buckets. Browserbase does not delete artifacts from your external buckets - you manage the full lifecycle.
What path structure does Browserbase use in my buckets?
What path structure does Browserbase use in my buckets?
Browserbase organizes artifacts with this path structure:Examples:
downloads/session-abc123/document.pdfcontexts/session-abc123/cookies.jsonextensions/session-abc123/extension.crxuploads/session-abc123/input-file.csv
What monitoring should I set up?
What monitoring should I set up?
CloudTrail Logging:
- Audit
AssumeRolecalls from Browserbase by AWS account ID - Track S3 operations (
GetObject,PutObject) - Monitor failed access attempts for security
- Alert on failed
AssumeRoleattempts - Monitor
4xxerror rates on your buckets - Track storage growth
- Configure automatic archival to Glacier for cost savings
- Set expiration rules based on compliance requirements