storage (S3)

per-project private buckets on briven MinIO. this is file storage for your app — not the SQL database (that is Doltgres) and not platform disaster-recovery backups.

three different “keys”. auth uses pk_briven_auth_…. server data uses brk_…. storage uses brvn… access keys for one bucket only. never mix them.

what you get

  • endpoint: https://s3.briven.tech
  • bucket: proj-… (one per project)
  • scoped S3 keys from the dashboard (secret shown once)
  • public files at https://media.briven.tech/media/<projectId>/<fileId>
  • soft-delete + restore (dashboard Recently deleted, or MCP restore tools)
  • image resize URLs (imgproxy) when configured

dashboard

  1. open briven.tech → your project → Storage
  2. create a key → copy endpoint, bucket, access key, secret immediately
  3. put them in your app server env (never in the browser for secret keys)

cli

briven setup (new project) and briven connect (existing) always mint a project S3 key into .env.local when possible. see connect.

mcp

with a project MCP key: storage_upload_url, storage_list_files, storage_delete_file, storage_list_deleted, storage_restore_file, storage_mint_key, and related tools. all scoped to this project only.

security

  • a project key cannot list another project's bucket (isolation)
  • prefer presigned upload URLs from the browser instead of proxying bytes
  • revoke keys that leaked in chat or screenshots