Assets
How asset and file management works in the Bivariant platform — S3-backed storage, hierarchical folders, presigned URLs, and access control.
Assets are files and media stored on the platform. The asset system provides organized, secure file storage for documents, images, audio, video, and any other binary content used by your applications.
Storage architecture
Assets are stored on S3-compatible object storage, managed by the platform:
| Layer | Responsibility |
|---|---|
| Asset service | File metadata, folder hierarchy, access control |
| S3 storage | Binary file storage, durability, availability |
| Presigned URLs | Time-limited, direct access to files without proxying |
Folder hierarchy
Assets are organized in a hierarchical folder structure within each space:
/
├── documents/
│ ├── contracts/
│ │ ├── contract-2024-001.pdf
│ │ └── contract-2024-002.pdf
│ └── invoices/
│ └── inv-2024-03.pdf
├── images/
│ ├── logo.png
│ └── product-photos/
├── recordings/
│ └── call-2024-03-15.wav
└── exports/
└── report-q1.csvFolders can be nested to any depth. Each folder and file tracks:
- Name and path
- MIME type
- Size
- Created and modified timestamps
- Creator (user or service account)
Upload and download
Uploading files
Files are uploaded through:
- Dashboard — drag and drop or file picker
- API — multipart upload for programmatic access
- Flows — file output from flow actions (exports, generated documents)
- Conversations — file attachments in messages
Downloading files
Files are accessed through presigned URLs — time-limited, authenticated URLs that provide direct access to the file in S3:
- Request a download URL for the asset
- The platform generates a presigned URL (valid for a limited time)
- The client downloads directly from S3
This approach avoids proxying large files through the platform API, providing fast and efficient downloads.
Access control
Asset access follows the platform's permission model:
| Permission | Allows |
|---|---|
assets:read | View and download files |
assets:create | Upload new files and create folders |
assets:update | Rename, move, and replace files |
assets:delete | Delete files and folders |
Assets are scoped to spaces — files in one space are not accessible from another.
Integration with other features
Assets connect to several platform features:
| Feature | Integration |
|---|---|
| Collections | File fields in collections reference assets |
| Conversations | Message attachments are stored as assets |
| Agents | Knowledge base documents are stored as assets |
| Flows | Flow actions can read from and write to assets |
| Datasets | Dataset files are stored in the asset system |
| Telephony | Call recordings are saved as assets |
File processing
Certain file types trigger automatic processing:
| File type | Processing |
|---|---|
| Documents (PDF, DOCX) | Text extraction for knowledge base indexing |
| Images | Thumbnail generation, metadata extraction |
| Audio | Duration detection, optional transcription |
| Video | Duration detection, thumbnail generation |
Storage limits
Storage is allocated at the organization level:
- Each organization has a storage quota
- Usage is tracked across all spaces
- Administrators can monitor usage in the dashboard
Related concepts
- Collections — Fields and Types — file fields in collections
- Agents — Knowledge Base — documents used for RAG
- Conversations — file attachments in messages
- Datasets — structured bulk data storage
Datasets
How datasets work in the Bivariant platform — structured data storage with partitioning, multiple storage modes, and support for CSV, JSON, and Parquet formats.
Conversations
Conversations are the real-time messaging system on the platform. They support multi-party threads between users and agents, with rooms, participants, and message streaming.