> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blobrouter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Providers

> AWS S3, Cloudflare R2, and Backblaze B2 — how BlobRouter treats each.

<Info>
  **BlobRouter v0.1** · Last updated: August 2026 · Architecture version: **2.0**
</Info>

BlobRouter talks to providers through one S3-compatible adapter (AWS SDK v3). Only endpoint and credentials differ.

## Supported providers (v1)

| Provider ID     | Product       | Typical role                                   |
| --------------- | ------------- | ---------------------------------------------- |
| `aws-s3`        | Amazon S3     | Existing estate, audit source, fallback target |
| `cloudflare-r2` | Cloudflare R2 | Hot files — zero egress fees                   |
| `backblaze-b2`  | Backblaze B2  | Archive / cold — low storage cost              |

You can connect up to three providers (one bucket per provider per customer in v1).

## Two ways credentials appear

### Scanner (AWS only)

Read-only IAM role assumption for the free audit. See [Connect AWS](/guides/aws-iam-setup).

### Router (S3 / R2 / B2)

Long-lived access keys you paste in the dashboard. Encrypted with AES-256-GCM before storage. Used only to mint **presigned** URLs — uploads and downloads go client ↔ provider.

## Connecting for routing

| Guide                                       | When to use                             |
| ------------------------------------------- | --------------------------------------- |
| [Connect Cloudflare R2](/guides/connect-r2) | Hot priority / zero egress              |
| [Connect Backblaze B2](/guides/connect-b2)  | Archive priority / cheap storage        |
| Dashboard → Providers → AWS S3              | Keep S3 as a routing target after audit |

## Object access

All objects are private. Access is only via time-limited presigned URLs from:

* `storage.get(fileId)` / `GET /v1/file/:id`
* Upload init returns a short-lived PUT URL (\~1 hour)

## What BlobRouter stores about files

Metadata only: file id, name, size, content type, chosen provider, routing decision, savings estimate, status. **Never** object bytes.
