Uploading documents — bRRAIn Docs

Supported file types, upload methods, size limits, bulk upload, and the processing pipeline.

Uploading documents

The Document Portal accepts a wide range of file formats through four distinct upload methods.

Supported file types

| Category | Formats | | --- | --- | | Documents | PDF, DOCX, DOC, ODT, RTF, TXT, MD | | Spreadsheets | XLSX, XLS, CSV, ODS | | Presentations | PPTX, PPT, ODP, KEY | | Images | PNG, JPG, JPEG, GIF, WEBP, HEIC, SVG | | Audio | MP3, WAV, FLAC, M4A, OGG | | Video | MP4, MOV, AVI, WEBM, MKV | | Archives | ZIP, TAR.GZ, 7Z (auto-extracted) | | Custom | Any binary format — stored as opaque blob |

Upload methods

1. Drag-and-drop in the web UI

Visit https://app.brrain.io/documents, select a workspace, and drag files onto the upload zone. Multiple files and folders are supported; progress is shown per file.

2. CLI (brrain docs upload)

brrain docs upload ./contracts --workspace legal-team --classification internal

The CLI mirrors folders as nested paths and preserves modified timestamps.

3. Desktop Sync (recommended for >1000 docs)

Install Desktop Sync on macOS, Windows, or Linux. Sync a local folder and every change is replicated into the Portal with diff-level granularity.

4. API / SDK

file, _ := os.Open("./report.pdf")
defer file.Close()

doc, err := portal.Upload(ctx, &portal.UploadInput{
    Workspace:      "legal-team",
    Classification: portal.Internal,
    Filename:       "report.pdf",
    Reader:         file,
})

File size limits

| Limit | Value | | --- | --- | | Single file | 100 GB | | Concurrent uploads | 16 per session | | Workspace total | Plan-dependent (see Overview) |

Large files are chunked automatically; interrupted uploads resume from the last confirmed chunk.

Bulk upload

For migrations from Google Drive, Dropbox, or SharePoint, use the migration wizard at app.brrain.io/migrate. Supported sources include:

  • Google Drive (OAuth)
  • Dropbox (OAuth)
  • OneDrive / SharePoint (OAuth)
  • AWS S3 (IAM role)
  • Local folder via Desktop Sync
  • ZIP archive upload (decompressed and ingested)

A typical 100K-document migration completes in 4–8 hours, with no duplicate documents thanks to content-hash deduplication.

Processing pipeline at a glance

Each upload flows through the same five-step pipeline:

Client upload
    ↓
Envelope encryption (user-derived key)
    ↓
Metadata extraction (filename, size, mime, hash, dimensions)
    ↓
Handler summarization + entity extraction
    ↓
Atomic write: Vault file + graph nodes/edges + audit log

See Ingestion pipeline for the detailed internal flow, SLAs, and retry behavior.